/*
Theme Name: RatedSolTech Growth Studio
Theme URI: https://ratedsoltech-growth-studio.haseebabid.chatgpt.site/
Author: RatedSolTech
Description: Lightweight custom WordPress theme matching the RatedSolTech Growth Studio landing page.
Version: 2.5.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: ratedsoltech-growth
*/

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/geist-latin.woff2") format("woff2");
}

/* Version 1.6 — native WordPress blog library and article pages. */
.blog-page, .article-page { overflow: hidden; }
.blog-hero { position: relative; overflow: hidden; border-bottom: 1px solid #e1ebe4; background: radial-gradient(circle at 78% 22%, rgba(66,193,94,.13), transparent 29%), linear-gradient(180deg, #fbfefc, #f6faf7); }
.blog-hero-glow { position: absolute; inset: 0; opacity: .35; pointer-events: none; background-image: linear-gradient(rgba(35,140,63,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(35,140,63,.07) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(90deg, transparent, #000 58%, transparent); }
.blog-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.12fr .58fr; align-items: center; gap: 94px; min-height: 610px; padding-top: 62px; padding-bottom: 70px; }
.blog-hero-copy { max-width: 750px; }.blog-hero .service-breadcrumbs { margin-bottom: 62px; }
.blog-hero-copy h1 { margin: 0; font-size: clamp(51px, 5.6vw, 73px); font-weight: 735; line-height: 1.01; letter-spacing: -.064em; }.blog-hero-copy h1 em { color: var(--green); font-style: normal; }
.blog-hero-copy > p:not(.eyebrow) { max-width: 700px; margin: 26px 0 0; color: #536158; font-size: 18px; line-height: 1.72; }
.blog-hero-aside { position: relative; display: flex; min-height: 380px; overflow: hidden; padding: 34px; border-radius: 24px; color: #fff; background: linear-gradient(145deg, #123e23, #082b17); box-shadow: 0 30px 75px rgba(11,55,27,.19); }
.blog-hero-aside > span { position: relative; z-index: 3; align-self: flex-end; font-size: 46px; font-weight: 830; line-height: .88; letter-spacing: -.07em; }
.blog-hero-aside > div { position: absolute; z-index: 3; right: 28px; top: 27px; display: flex; align-items: center; gap: 10px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }.blog-hero-aside strong { font-size: 27px; }.blog-hero-aside small { color: #b9d4c1; font-size: 9px; line-height: 1.25; }
.blog-hero-aside > i { position: absolute; border: 1px solid rgba(104,222,130,.24); border-radius: 50%; }.blog-hero-aside > i:nth-of-type(1) { right: -68px; bottom: -45px; width: 295px; height: 295px; }.blog-hero-aside > i:nth-of-type(2) { right: -21px; bottom: 5px; width: 195px; height: 195px; }.blog-hero-aside > i:nth-of-type(3) { right: 38px; bottom: 64px; width: 78px; height: 78px; background: rgba(64,193,92,.22); }

.blog-library { padding-top: 96px; padding-bottom: 102px; background: #fff; }
.blog-library-heading { display: grid; grid-template-columns: 1.06fr .8fr; align-items: end; gap: 100px; margin-bottom: 39px; }.blog-library-heading h2 { margin: 0; font-size: clamp(40px,4.5vw,56px); line-height: 1.05; letter-spacing: -.059em; }.blog-library-heading h2 em { color: var(--green-dark); font-style: normal; }.blog-library-heading > p { margin: 0 0 5px; color: #5c6961; font-size: 16.5px; line-height: 1.72; }
.blog-topic-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 27px; padding: 9px; border: 1px solid #dce8df; border-radius: 14px; background: #f1f7f3; }
.blog-topic-nav a { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 15px; border-radius: 9px; color: #536057; font-size: 12px; font-weight: 700; transition: color .2s, background .2s, box-shadow .2s; }.blog-topic-nav a span { display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; border-radius: 999px; color: #6f7b73; background: rgba(255,255,255,.75); font-size: 9px; }.blog-topic-nav a:hover { color: var(--green-dark); background: #fff; }.blog-topic-nav a.active { color: #fff; background: var(--green-dark); box-shadow: 0 9px 20px rgba(29,139,59,.18); }.blog-topic-nav a.active span { color: var(--green-dark); background: #fff; }

.blog-featured { display: grid; grid-template-columns: 1.14fr .86fr; min-height: 440px; overflow: hidden; margin-bottom: 18px; border: 1px solid #dce7df; border-radius: 21px; background: #f8fbf9; box-shadow: 0 18px 48px rgba(23,72,38,.07); }
.blog-featured-visual { display: block; min-height: 440px; overflow: hidden; }.blog-featured-copy { display: flex; flex-direction: column; justify-content: center; padding: 48px 43px; }.blog-featured-copy h2 { margin: 20px 0 18px; font-size: clamp(29px,3vw,42px); line-height: 1.08; letter-spacing: -.048em; }.blog-featured-copy > p { margin: 0; color: #5c6961; font-size: 16px; line-height: 1.7; }
.blog-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.blog-card { min-width: 0; overflow: hidden; border: 1px solid #dce7df; border-radius: 17px; background: #fff; box-shadow: 0 10px 32px rgba(23,72,38,.052); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }.blog-card:hover { transform: translateY(-5px); border-color: #bdd8c4; box-shadow: 0 21px 45px rgba(23,72,38,.1); }
.blog-card-visual { display: block; height: 235px; overflow: hidden; }.blog-card-body { display: flex; flex-direction: column; min-height: 292px; padding: 25px 24px 22px; }.blog-card-body h3 { margin: 18px 0 13px; font-size: 22px; line-height: 1.18; letter-spacing: -.035em; }.blog-card-body > p { margin: 0; color: #657169; font-size: 14px; line-height: 1.65; }
.blog-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.blog-card-meta span { color: var(--green-dark); font-size: 10px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }.blog-card-meta small { color: #7d8981; font-size: 10px; }
.blog-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 23px; }.blog-card-foot time { color: #8a958e; font-size: 10px; }.blog-card-foot a { color: var(--green-dark); font-size: 12px; font-weight: 750; }.blog-card-body .blog-card-foot a { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid #cae0d0; border-radius: 50%; transition: color .2s, background .2s; }.blog-card:hover .blog-card-body .blog-card-foot a { color: #fff; background: var(--green-dark); }

.blog-cover { position: relative; width: 100%; height: 100%; min-height: inherit; overflow: hidden; color: #fff; background: linear-gradient(145deg,#174d2b,#0a2f1a); }.blog-cover.has-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }.blog-card:hover .blog-cover.has-image img, .blog-featured:hover .blog-cover.has-image img { transform: scale(1.035); }
.blog-cover-grid { position: absolute; inset: 0; opacity: .34; background-image: linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(135deg,#000,transparent 78%); }
.blog-cover-orbit { position: absolute; right: -10%; bottom: -34%; width: 78%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; box-shadow: inset 0 0 0 34px rgba(255,255,255,.035), inset 0 0 0 68px rgba(255,255,255,.025); }
.blog-cover-icon { position: absolute; left: 9%; top: 13%; display: grid; place-items: center; width: 82px; height: 82px; border: 1px solid rgba(255,255,255,.26); border-radius: 22px; background: rgba(255,255,255,.12); backdrop-filter: blur(8px); box-shadow: 0 18px 38px rgba(0,0,0,.12); }.blog-cover-icon svg { width: 41px; height: 41px; }
.blog-cover-label { position: absolute; left: 9%; bottom: 11%; padding: 8px 11px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(5,31,16,.28); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; backdrop-filter: blur(6px); }
.blog-tone-mint { color: #143c23; background: linear-gradient(145deg,#cdebd5,#74c88a); }.blog-tone-mint .blog-cover-label { color: #fff; }.blog-tone-teal { background: linear-gradient(145deg,#11624f,#063b32); }.blog-tone-blue { background: linear-gradient(145deg,#245a74,#112f45); }.blog-tone-violet { background: linear-gradient(145deg,#514f94,#29285f); }.blog-tone-amber { color: #402b0a; background: linear-gradient(145deg,#f0ca77,#c38c31); }.blog-tone-amber .blog-cover-label { color: #fff; }
.blog-pagination { margin-top: 44px; }.blog-pagination ul { display: flex; justify-content: center; gap: 8px; padding: 0; list-style: none; }.blog-pagination a,.blog-pagination span { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 11px; border: 1px solid #d6e4da; border-radius: 9px; color: #526058; background: #fff; font-size: 12px; font-weight: 700; }.blog-pagination .current { color: #fff; border-color: var(--green-dark); background: var(--green-dark); }
.blog-empty { padding: 55px; border: 1px dashed #cbdccf; border-radius: 17px; text-align: center; background: #f8fbf9; }.blog-empty strong { font-size: 22px; }.blog-empty p { color: #657169; }
.blog-cta { padding-top: 0; padding-bottom: 92px; }.blog-cta-shell { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 37px 45px; border: 1px solid #dce8df; border-radius: 21px; background: linear-gradient(120deg,#f3faf5,#fff 68%,#edf8f0); }.blog-cta-shell > div { display: flex; align-items: center; gap: 25px; }.blog-cta-mark { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 19px; color: #fff; background: linear-gradient(145deg,#45be61,#168b3c); font-size: 38px; font-weight: 900; font-style: italic; transform: skewX(-7deg); }.blog-cta h2 { margin: 7px 0 0; font-size: 31px; line-height: 1.1; letter-spacing: -.045em; }

.article-hero { position: relative; overflow: hidden; padding: 72px 0 80px; border-bottom: 1px solid #e1ebe4; background: radial-gradient(circle at 73% 18%,rgba(66,193,94,.13),transparent 30%),linear-gradient(180deg,#fbfefc,#f6faf7); }.article-hero::after { content: ""; position: absolute; right: -130px; bottom: -210px; width: 520px; height: 520px; border: 1px solid rgba(51,176,79,.16); border-radius: 50%; box-shadow: inset 0 0 0 62px rgba(51,176,79,.025),inset 0 0 0 124px rgba(51,176,79,.02); }
.article-hero-inner { position: relative; z-index: 2; max-width: 960px; }.article-hero .service-breadcrumbs { margin-bottom: 55px; }.article-kicker { display: flex; align-items: center; gap: 13px; margin-bottom: 23px; }.article-kicker span { padding: 7px 11px; border-radius: 999px; color: #fff; background: var(--green-dark); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.article-kicker small { color: #6e7b72; font-size: 11px; }
.article-hero h1 { max-width: 900px; margin: 0; font-size: clamp(48px,6vw,76px); line-height: 1.01; letter-spacing: -.064em; }.article-deck { max-width: 790px; margin: 27px 0 0; color: #56645b; font-size: 19px; line-height: 1.66; }.article-byline { display: flex; align-items: center; gap: 13px; margin-top: 35px; }.article-author-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: #fff; background: linear-gradient(145deg,#45be61,#168b3c); font-size: 23px; font-weight: 900; font-style: italic; transform: skewX(-7deg); }.article-byline strong,.article-byline small { display: block; }.article-byline strong { font-size: 13px; }.article-byline small { margin-top: 4px; color: #7a867e; font-size: 10px; }
.article-cover-wrap { height: 510px; margin-top: 45px; margin-bottom: 72px; overflow: hidden; border-radius: 23px; box-shadow: 0 28px 70px rgba(18,65,32,.14); }.article-cover-wrap .blog-cover-icon { width: 118px; height: 118px; border-radius: 29px; }.article-cover-wrap .blog-cover-icon svg { width: 57px; height: 57px; }.article-cover-wrap .blog-cover-label { font-size: 11px; }
.article-layout { display: grid; grid-template-columns: 220px minmax(0,760px); justify-content: center; align-items: start; gap: 76px; padding-bottom: 86px; }.article-rail { position: sticky; top: 105px; padding: 22px; border: 1px solid #dde8e0; border-radius: 15px; background: #f7faf8; }.article-rail > span { color: var(--green-dark); font-size: 8px; font-weight: 850; letter-spacing: .1em; }.article-rail strong { display: block; margin-top: 18px; font-size: 17px; }.article-rail p { margin: 10px 0 19px; color: #69756d; font-size: 11px; line-height: 1.6; }.article-rail a { color: var(--green-dark); font-size: 11px; font-weight: 750; }
.article-content { color: #36433b; font-size: 18px; line-height: 1.82; }.article-content > p:first-child { color: #1b2b20; font-size: 22px; line-height: 1.65; }.article-content h2 { margin: 58px 0 19px; color: #111a14; font-size: 34px; line-height: 1.12; letter-spacing: -.045em; }.article-content h3 { margin: 38px 0 14px; color: #142019; font-size: 24px; letter-spacing: -.03em; }.article-content p { margin: 0 0 24px; }.article-content ul,.article-content ol { margin: 0 0 28px; padding-left: 24px; }.article-content li { margin: 10px 0; padding-left: 5px; }.article-content blockquote { margin: 39px 0; padding: 28px 32px; border-left: 4px solid var(--green); border-radius: 0 14px 14px 0; color: #173923; background: #f0f8f2; font-size: 21px; font-weight: 620; line-height: 1.5; }.article-content blockquote p { margin: 0; }.article-content a { color: var(--green-dark); text-decoration: underline; text-underline-offset: 3px; }
.article-author-card { display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 26px; margin-bottom: 92px; padding: 35px 40px; border: 1px solid #dce8df; border-radius: 19px; background: linear-gradient(120deg,#f3faf5,#fff); }.article-author-mark.large { width: 66px; height: 66px; font-size: 35px; }.article-author-card h2 { margin: 7px 0 8px; font-size: 26px; letter-spacing: -.04em; }.article-author-card p:not(.eyebrow) { margin: 0; color: #637068; font-size: 13px; }
.related-articles { padding-top: 84px; padding-bottom: 98px; border-top: 1px solid #e1ebe4; background: #f7faf8; }.related-articles-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 31px; }.related-articles-heading h2 { margin: 5px 0 0; font-size: 42px; letter-spacing: -.055em; }.related-articles-heading > a { color: var(--green-dark); font-size: 12px; font-weight: 750; }

@media (max-width: 1050px) {
  .blog-hero-grid { gap: 55px; }.blog-hero-copy h1 { font-size: 59px; }.blog-library-heading { gap: 55px; }
  .blog-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.blog-card:last-child:nth-child(odd) { grid-column: 1/-1; max-width: calc(50% - 8px); margin-inline: auto; }
  .article-layout { grid-template-columns: 190px minmax(0,700px); gap: 45px; }
}
@media (max-width: 900px) {
  .blog-hero-grid { grid-template-columns: 1fr; padding-top: 57px; }.blog-hero-copy { max-width: 700px; }.blog-hero .service-breadcrumbs { margin-bottom: 44px; }.blog-hero-aside { width: min(100%,620px); min-height: 300px; }
  .blog-library-heading { grid-template-columns: 1fr; gap: 20px; }.blog-library-heading > p { max-width: 650px; }
  .blog-featured { grid-template-columns: 1fr; }.blog-featured-visual { min-height: 360px; }.blog-featured-copy { padding: 36px; }
  .blog-cta-shell { align-items: flex-start; flex-direction: column; }.blog-cta-shell > .button { margin-left: 95px; }
  .article-layout { grid-template-columns: 1fr; }.article-rail { position: static; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; }.article-rail p { margin: 0; }.article-rail > span { display: none; }
  .article-author-card { grid-template-columns: 72px 1fr; }.article-author-card .button { grid-column: 2; justify-self: start; }
}
@media (max-width: 700px) {
  .blog-card-grid { grid-template-columns: 1fr; }.blog-card:last-child:nth-child(odd) { grid-column: auto; max-width: none; margin: 0; }.blog-card-visual { height: 260px; }
  .article-cover-wrap { height: 410px; }.article-content { font-size: 17px; }.article-content > p:first-child { font-size: 20px; }
}
@media (max-width: 620px) {
  .blog-hero-grid { width: min(100% - 28px,520px); min-height: 0; padding-top: 39px; padding-bottom: 48px; }.blog-hero-copy h1 { font-size: 43px; }.blog-hero-copy > p:not(.eyebrow) { font-size: 16.5px; }.blog-hero-aside { min-height: 250px; padding: 24px; border-radius: 19px; }.blog-hero-aside > span { font-size: 37px; }
  .blog-library { padding-top: 67px; padding-bottom: 72px; }.blog-library > .container { width: min(100% - 28px,520px); }.blog-library-heading h2 { font-size: 37px; }.blog-library-heading > p { font-size: 15.5px; }
  .blog-topic-nav { flex-wrap: nowrap; margin-right: -14px; margin-left: -14px; padding-right: 14px; padding-left: 14px; overflow-x: auto; border-right: 0; border-left: 0; border-radius: 0; scrollbar-width: none; }.blog-topic-nav::-webkit-scrollbar { display: none; }.blog-topic-nav a { flex: 0 0 auto; }
  .blog-featured { min-height: 0; border-radius: 17px; }.blog-featured-visual { min-height: 275px; }.blog-featured-copy { padding: 27px 23px; }.blog-featured-copy h2 { font-size: 30px; }.blog-featured-copy > p { font-size: 15px; }.blog-card-visual { height: 245px; }.blog-card-body { min-height: 275px; padding: 23px 21px; }
  .blog-cover-icon { width: 66px; height: 66px; border-radius: 18px; }.blog-cover-icon svg { width: 32px; height: 32px; }
  .blog-cta { padding-bottom: 68px; }.blog-cta-shell { width: min(100% - 28px,520px); padding: 29px 23px; }.blog-cta-shell > div { align-items: flex-start; flex-direction: column; }.blog-cta h2 { font-size: 29px; }.blog-cta-shell > .button { width: 100%; margin-left: 0; }
  .article-hero { padding: 40px 0 58px; }.article-hero-inner { width: min(100% - 28px,520px); }.article-hero .service-breadcrumbs { margin-bottom: 38px; }.article-hero h1 { font-size: 43px; }.article-deck { font-size: 16.5px; }.article-byline small { max-width: 260px; line-height: 1.45; }
  .article-cover-wrap { width: calc(100% - 28px); height: 300px; margin-top: 28px; margin-bottom: 50px; border-radius: 17px; }.article-cover-wrap .blog-cover-icon { width: 75px; height: 75px; }.article-cover-wrap .blog-cover-icon svg { width: 36px; height: 36px; }
  .article-layout { width: min(100% - 28px,520px); gap: 35px; padding-bottom: 62px; }.article-rail { display: block; padding: 19px; }.article-rail strong { margin-top: 0; }.article-rail p { margin: 9px 0 15px; }.article-content h2 { margin-top: 45px; font-size: 30px; }.article-content h3 { font-size: 22px; }.article-content blockquote { padding: 23px; font-size: 18px; }
  .article-author-card { width: min(100% - 28px,520px); grid-template-columns: 58px 1fr; gap: 18px; margin-bottom: 68px; padding: 26px 22px; }.article-author-mark.large { width: 55px; height: 55px; }.article-author-card h2 { font-size: 23px; }.article-author-card .button { grid-column: 1/-1; width: 100%; }
  .related-articles { padding-top: 64px; padding-bottom: 70px; }.related-articles > .container { width: min(100% - 28px,520px); }.related-articles-heading { align-items: flex-start; flex-direction: column; }.related-articles-heading h2 { font-size: 36px; }
}

/* Version 1.7 — legal trust center, verified contact details, and source-linked testimonials. */
.testimonials-v2 .testimonial-card { min-height: 340px; }
.testimonials-v2 .testimonial-card > .testimonial-quote {
  flex: 0 0 auto;
  min-height: 55px;
  margin: 14px 0 13px;
  color: #173c23;
  font-size: 18px;
  font-weight: 720;
  line-height: 1.45;
  letter-spacing: -.015em;
}
.testimonials-v2 .testimonial-card > .testimonial-project {
  flex: 1;
  min-height: 88px;
  margin: 0 0 17px;
  padding: 13px 14px;
  border: 1px solid #e1ece4;
  border-radius: 10px;
  color: #607067;
  background: #f7faf8;
  font-size: 12px;
  line-height: 1.55;
}
.testimonial-project strong { display: block; margin-bottom: 4px; color: #16893b; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.testimonials-v2 .client-row { margin-top: 0; }
.testimonial-source { align-self: center; padding: 7px 9px; border-radius: 999px; color: #27663a; background: #edf6ef; font-size: 9px; font-weight: 750; white-space: nowrap; transition: color .2s ease, background .2s ease; }
.testimonial-source:hover { color: #fff; background: var(--green-dark); }

.footer-card { grid-template-columns: minmax(300px, .8fr) minmax(540px, 1.2fr); gap: 34px; min-height: 190px; padding: 34px 42px; }
.footer-links { grid-template-columns: .72fr .95fr 1.45fr; gap: 28px; }
.footer-link-group { min-width: 0; }
.footer-contact-links a, .footer-contact-links span { line-height: 1.45; }
.footer-legal-links a { position: relative; padding-left: 13px; }.footer-legal-links a::before { content: ""; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; border-radius: 50%; background: #45b961; }

.legal-page { overflow: hidden; color: var(--ink); background: #fff; }
.legal-hero { position: relative; overflow: hidden; border-bottom: 1px solid #e1ebe4; background: radial-gradient(circle at 76% 25%,rgba(62,190,92,.15),transparent 29%),linear-gradient(145deg,#fff 0%,#fbfefc 52%,#f1faf4 100%); }
.legal-hero-grid-pattern { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(44,153,70,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(44,153,70,.08) 1px,transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg,transparent,#000 58%,transparent); }
.legal-hero-inner { position: relative; z-index: 2; padding-top: 50px; padding-bottom: 64px; }
.legal-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 54px; color: #7a877e; font-size: 10px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }.legal-breadcrumbs a:hover { color: var(--green-dark); }.legal-breadcrumbs strong { color: #2c4634; }
.legal-hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 78px; min-height: 370px; }
.legal-hero-copy { position: relative; z-index: 3; }.legal-hero-copy h1 { max-width: 720px; margin: 0; font-size: clamp(50px,5.2vw,70px); line-height: 1.01; letter-spacing: -.062em; }.legal-hero-copy > p:not(.eyebrow) { max-width: 680px; margin: 25px 0 29px; color: #536158; font-size: 18px; line-height: 1.72; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 8px; }.legal-meta span { padding: 8px 11px; border: 1px solid #d8e8dc; border-radius: 999px; color: #536258; background: rgba(255,255,255,.72); font-size: 9px; font-weight: 700; }
.legal-hero-visual { position: relative; height: 345px; isolation: isolate; }
.legal-hero-visual::before { content: ""; position: absolute; z-index: -3; inset: 12px -15px 0 8px; border: 1px solid rgba(49,170,79,.13); border-radius: 27px; background: linear-gradient(145deg,rgba(255,255,255,.9),rgba(240,249,243,.78)); box-shadow: 0 28px 65px rgba(29,85,44,.09); }
.legal-visual-orbit { position: absolute; z-index: -1; border: 1px solid rgba(50,180,80,.24); border-radius: 50%; }.orbit-large { inset: 45px 12px 35px; transform: rotate(-9deg); }.orbit-small { inset: 89px 65px 76px; border-color: rgba(50,180,80,.13); transform: rotate(10deg); }
.legal-visual-orbit::before,.legal-visual-orbit::after { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #40b85c; box-shadow: 0 0 0 6px rgba(64,184,92,.08); }.legal-visual-orbit::before { left: 18%; top: 5%; }.legal-visual-orbit::after { right: 10%; bottom: 18%; }
.legal-shield { position: absolute; z-index: 4; left: 50%; top: 74px; display: grid; place-items: center; width: 166px; height: 196px; padding: 25px 20px; border: 1px solid #deebe1; border-radius: 34px 34px 68px 68px; background: radial-gradient(circle at 35% 24%,#fff,#f4f8f5 58%,#dce9df); box-shadow: -20px 25px 42px rgba(29,80,42,.17),inset 10px 10px 20px #fff; transform: translateX(-50%); }.legal-shield::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(57,173,83,.09); border-radius: 26px 26px 58px 58px; }
.legal-shield > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: #fff; background: linear-gradient(145deg,#4cc66a,#198e3d); box-shadow: 0 10px 22px rgba(31,144,62,.2); }.legal-shield svg { width: 25px; height: 25px; }.legal-shield strong { color: #174325; font-size: 27px; letter-spacing: -.05em; }.legal-shield small { color: #6d7d72; font-size: 6px; font-weight: 850; letter-spacing: .16em; }
.legal-check { position: absolute; z-index: 6; display: flex; align-items: center; gap: 10px; min-width: 156px; padding: 12px; border: 1px solid #dbe9de; border-radius: 13px; background: rgba(255,255,255,.9); box-shadow: 0 14px 32px rgba(35,87,48,.09); backdrop-filter: blur(8px); }.legal-check > i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: #fff; background: linear-gradient(145deg,#53c970,#229747); font-size: 12px; font-style: normal; }.legal-check span,.legal-check strong { display: block; }.legal-check span { color: #6b796f; font-size: 8px; }.legal-check strong { margin-top: 3px; color: #183e24; font-size: 10px; }.legal-check-one { left: -3px; top: 39px; transform: rotate(-5deg); }.legal-check-two { right: -17px; bottom: 32px; transform: rotate(5deg); }
.legal-main-section { padding-top: 76px; padding-bottom: 80px; background: linear-gradient(180deg,#fbfdfb,#fff 30%); }
.legal-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); align-items: start; gap: 54px; }
.legal-sidebar { position: sticky; top: 102px; display: grid; gap: 13px; }.legal-sidebar-card,.legal-help-card { border: 1px solid #dfe9e2; border-radius: 16px; background: #fff; box-shadow: 0 16px 40px rgba(30,75,42,.055); }.legal-sidebar-card { padding: 23px; }.legal-sidebar-card .eyebrow { margin-bottom: 17px; }.legal-sidebar-card nav { display: grid; }.legal-sidebar-card a { padding: 9px 0; border-bottom: 1px solid #edf2ee; color: #617067; font-size: 11px; line-height: 1.35; }.legal-sidebar-card a:last-child { border-bottom: 0; }.legal-sidebar-card a:hover { color: var(--green-dark); transform: translateX(3px); }
.legal-help-card { display: grid; grid-template-columns: 36px 1fr; gap: 11px; padding: 19px; background: linear-gradient(145deg,#f6fbf7,#fff); }.legal-help-card > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #fff; background: var(--green); font-weight: 800; }.legal-help-card strong { font-size: 12px; }.legal-help-card p { margin: 6px 0 9px; color: #6d7a71; font-size: 10px; line-height: 1.5; }.legal-help-card a { color: var(--green-dark); font-size: 9px; font-weight: 750; }
.legal-document { overflow: hidden; border: 1px solid #dfe9e2; border-radius: 21px; background: #fff; box-shadow: 0 24px 65px rgba(27,73,40,.075); }.legal-document-status { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 62px; padding: 0 40px; border-bottom: 1px solid #e5eee7; background: linear-gradient(90deg,#f5faf6,#fff); }.legal-document-status span { display: flex; align-items: center; gap: 9px; color: #31543b; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }.legal-document-status i { width: 8px; height: 8px; border-radius: 50%; background: #3fba5e; box-shadow: 0 0 0 5px rgba(63,186,94,.1); }.legal-document-status small { color: #7c8980; font-size: 10px; }
.legal-content { padding: 48px 54px 54px; }.legal-content .legal-lead { margin: 0 0 46px; padding: 25px 27px; border-left: 3px solid var(--green); border-radius: 0 12px 12px 0; color: #37523f; background: #f3f9f5; font-size: 17px; font-weight: 560; line-height: 1.75; }.legal-content h2 { scroll-margin-top: 105px; margin: 48px 0 14px; color: #14251a; font-size: 27px; line-height: 1.2; letter-spacing: -.035em; }.legal-content h2:first-of-type { margin-top: 0; }.legal-content p,.legal-content li { color: #536158; font-size: 16px; line-height: 1.82; }.legal-content p { margin: 0 0 18px; }.legal-content a { color: var(--green-dark); font-weight: 680; text-decoration: underline; text-decoration-color: #a5d2af; text-underline-offset: 3px; }
.legal-document-footer { margin: 0 54px 52px; padding: 24px 26px; border: 1px solid #d9e8dd; border-radius: 13px; background: linear-gradient(145deg,#f6fbf7,#fff); }.legal-document-footer strong { font-size: 15px; }.legal-document-footer p { margin: 7px 0 0; color: #65736a; font-size: 13px; }.legal-document-footer a { color: var(--green-dark); font-weight: 700; }
.legal-switcher-section { padding-top: 18px; padding-bottom: 78px; }.legal-switcher { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 54px; padding: 37px 40px; border: 1px solid #dfe9e2; border-radius: 18px; background: radial-gradient(circle at 90% 10%,rgba(68,190,96,.13),transparent 28%),linear-gradient(145deg,#fbfdfb,#f3faf5); }.legal-switcher h2 { margin: 0; font-size: 29px; line-height: 1.2; letter-spacing: -.04em; }.legal-switcher nav { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }.legal-switcher nav a { display: flex; align-items: center; justify-content: space-between; min-height: 74px; padding: 15px; border: 1px solid #d9e6dc; border-radius: 11px; color: #34503c; background: rgba(255,255,255,.8); font-size: 11px; font-weight: 700; }.legal-switcher nav a:hover,.legal-switcher nav a.is-current { color: #fff; border-color: var(--green-dark); background: var(--green-dark); }.legal-switcher nav i { font-style: normal; }

@media (max-width: 1000px) {
  .footer-card { grid-template-columns: 1fr; gap: 30px; }.footer-links { width: 100%; }
  .legal-hero-grid { gap: 38px; }.legal-check-one { left: -12px; }.legal-check-two { right: -7px; }
  .legal-layout { grid-template-columns: 220px minmax(0,1fr); gap: 30px; }.legal-content { padding: 40px; }.legal-document-footer { margin-right: 40px; margin-left: 40px; }
}

@media (max-width: 800px) {
  .legal-hero-grid { grid-template-columns: 1fr; }.legal-hero-copy { max-width: 700px; }.legal-hero-visual { width: min(100%,560px); margin: 0 auto; }
  .legal-layout { grid-template-columns: 1fr; }.legal-sidebar { position: static; }.legal-sidebar-card nav { grid-template-columns: repeat(2,1fr); column-gap: 22px; }.legal-help-card { max-width: 420px; }
  .legal-switcher { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 620px) {
  .testimonials-v2 .testimonial-card { min-height: 365px; }.testimonials-v2 .testimonial-card > .testimonial-quote { font-size: 18px; }.testimonial-source { grid-column: 2; justify-self: start; margin-top: 2px; }
  .footer-card { width: min(100% - 28px,500px); padding: 28px 23px; }.footer-links { grid-template-columns: 1fr; gap: 26px; }.footer-link-group { padding-bottom: 22px; border-bottom: 1px solid #e2ebe4; }.footer-contact-links { padding-bottom: 0; border-bottom: 0; }
  .legal-hero-inner { width: min(100% - 28px,520px); padding-top: 37px; padding-bottom: 45px; }.legal-breadcrumbs { margin-bottom: 38px; }.legal-hero-copy h1 { font-size: 43px; }.legal-hero-copy > p:not(.eyebrow) { font-size: 16.5px; }.legal-meta span { font-size: 8px; }.legal-hero-visual { height: 300px; transform: scale(.9); transform-origin: top center; margin-bottom: -25px; }
  .legal-main-section { padding-top: 48px; padding-bottom: 58px; }.legal-layout { width: min(100% - 28px,520px); gap: 22px; }.legal-sidebar-card nav { grid-template-columns: 1fr; }.legal-help-card { max-width: none; }
  .legal-document { border-radius: 17px; }.legal-document-status { align-items: flex-start; flex-direction: column; min-height: 82px; padding: 18px 21px; }.legal-content { padding: 29px 22px 34px; }.legal-content .legal-lead { margin-bottom: 35px; padding: 20px; font-size: 15.5px; }.legal-content h2 { margin-top: 39px; font-size: 24px; }.legal-content p,.legal-content li { font-size: 15.5px; line-height: 1.78; }.legal-document-footer { margin: 0 22px 26px; padding: 20px; }.legal-document-footer p { line-height: 1.65; }
  .legal-switcher-section { padding-bottom: 62px; }.legal-switcher { width: min(100% - 28px,520px); padding: 28px 22px; }.legal-switcher h2 { font-size: 27px; }.legal-switcher nav { grid-template-columns: 1fr; }.legal-switcher nav a { min-height: 60px; }
}

html { line-height: 1.5; -webkit-text-size-adjust: 100%; }
body, h1, h2, h3, h4, p { margin-block-start: 0; }
img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { margin: 0; }

:root {
  --font-geist-sans: "Geist", sans-serif;
  --ink: #0b120e;
  --muted: #647068;
  --green: #2eaa50;
  --green-dark: #16883a;
  --green-soft: #eaf7ed;
  --line: #dce7df;
  --surface: #f8fbf9;
  --shadow: 0 20px 55px rgba(24, 76, 42, 0.09);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-size: 16px;
  font-family: var(--font-geist-sans), Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}

button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }

.container { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
.section { padding: 56px 0; }

.eyebrow {
  margin: 0 0 12px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .075em;
}

.site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  height: 72px;
  border-bottom: 1px solid rgba(226, 237, 228, .72);
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(18px);
}

.nav-wrap { height: 100%; display: flex; align-items: center; gap: 22px; }
.brand { display: inline-flex; align-items: center; gap: 9px; font-size: 17px; font-weight: 650; letter-spacing: -.03em; white-space: nowrap; }
.brand > span:last-child > span { color: var(--green-dark); }
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 31px;
  height: 31px;
  color: #44b95a;
  font-size: 26px;
  font-weight: 950;
  font-style: italic;
  line-height: 1;
  transform: skewX(-9deg);
  text-shadow: 8px 0 0 rgba(68, 185, 90, .24);
}

.main-nav { display: flex; align-items: center; gap: 25px; margin-left: auto; }
.main-nav a { position: relative; flex: 0 0 auto; padding: 26px 0; font-size: 14px; font-weight: 560; white-space: nowrap; transition: color .2s ease; }
.main-nav a::after { content: ""; position: absolute; left: 0; bottom: 20px; width: 0; height: 2px; background: var(--green); transition: width .2s ease; }
.main-nav a:hover { color: var(--green-dark); }
.main-nav a:hover::after { width: 100%; }
.main-nav a.is-active { color: var(--green-dark); font-weight: 700; }
.main-nav a.is-active::after { width: 100%; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 45px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 14px;
  font-weight: 650;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: linear-gradient(135deg, #3bb45a, #16873b); box-shadow: 0 9px 22px rgba(33, 155, 70, .2); }
.button-primary:hover { box-shadow: 0 13px 27px rgba(33, 155, 70, .28); }
.button-secondary { border-color: #8ecaa0; color: #142019; background: #fff; }
.button-secondary:hover { background: #f3fbf5; }
.nav-cta { flex: 0 0 auto; min-height: 40px; padding-inline: 16px; margin-left: 6px; }

.menu-toggle { display: none; width: 40px; height: 40px; border: 0; background: transparent; padding: 9px; }
.menu-toggle span { display: block; width: 100%; height: 2px; margin: 5px 0; background: var(--ink); }

.hero { position: relative; overflow: hidden; padding: 62px 0 0; }
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .35;
  background-image: radial-gradient(rgba(53, 175, 86, .22) .6px, transparent .6px);
  background-size: 18px 18px;
  mask-image: linear-gradient(to right, transparent, black 45%, transparent);
}
.hero-glow { position: absolute; width: 550px; height: 550px; top: -170px; right: 7%; border-radius: 50%; background: rgba(74, 202, 108, .09); filter: blur(80px); }
.hero-grid { position: relative; display: grid; grid-template-columns: .93fr 1.07fr; min-height: 438px; align-items: center; }
.hero-copy { position: relative; z-index: 3; align-self: start; padding-top: 50px; }
.hero h1 { margin: 0; font-size: clamp(41px, 4vw, 54px); line-height: 1.12; letter-spacing: -.05em; font-weight: 730; }
.hero h1 em, h2 em { color: var(--green); font-style: normal; }
.hero-text { max-width: 520px; margin: 22px 0 26px; color: #4c5951; font-size: 16px; line-height: 1.7; }
.hero-actions { display: flex; gap: 10px; }

.hero-art { position: relative; height: 410px; isolation: isolate; }
.hero-art::before {
  content: "";
  position: absolute;
  z-index: -5;
  inset: 0 -10px 0 0;
  border: 1px solid rgba(49, 170, 79, .12);
  border-radius: 30px;
  background:
    radial-gradient(circle at 52% 47%, rgba(76, 201, 105, .16), transparent 23%),
    radial-gradient(circle at 82% 14%, rgba(76, 201, 105, .1), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(244,251,246,.84));
  box-shadow: inset 0 1px 0 #fff, 0 26px 70px rgba(35, 105, 54, .08);
}
.hero-art::after {
  content: "";
  position: absolute;
  z-index: -4;
  left: 4%;
  right: -7%;
  bottom: 10px;
  height: 190px;
  opacity: .48;
  transform: perspective(440px) rotateX(63deg);
  background-image: linear-gradient(rgba(58, 174, 84, .25) 1px, transparent 1px), linear-gradient(90deg, rgba(58, 174, 84, .25) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(ellipse, #000 23%, transparent 70%);
}
.hero-scene-label { position: absolute; z-index: 8; left: 24px; top: 20px; display: flex; align-items: center; gap: 9px; padding: 8px 11px; border: 1px solid rgba(46,151,72,.13); border-radius: 11px; color: #66756b; background: rgba(255,255,255,.78); box-shadow: 0 8px 24px rgba(40,92,54,.06); backdrop-filter: blur(10px); }
.hero-scene-label > i { width: 8px; height: 8px; border-radius: 50%; background: #32b555; box-shadow: 0 0 0 5px rgba(50,181,85,.1); }
.hero-scene-label span, .hero-scene-label small, .hero-scene-label strong { display: block; }.hero-scene-label small { font-size: 7px; font-weight: 800; letter-spacing: .12em; }.hero-scene-label strong { margin-top: 2px; color: #163b22; font-size: 10px; }
.orbit { position: absolute; z-index: -2; border: 1px solid rgba(48, 180, 81, .29); border-radius: 50%; transform: rotate(-7deg); }
.orbit::before, .orbit::after { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #43bd60; box-shadow: 0 0 0 5px rgba(67, 189, 96, .07); }
.orbit-one { width: 545px; height: 302px; left: 23px; top: 55px; }
.orbit-one::before { left: 108px; top: 8px; }.orbit-one::after { right: 49px; bottom: 30px; }
.orbit-two { width: 424px; height: 246px; left: 88px; top: 100px; border-color: rgba(48, 180, 81, .16); transform: rotate(7deg); }
.orbit-two::before { left: -3px; top: 111px; }.orbit-two::after { right: 71px; top: 11px; }
.orbit-three { width: 300px; height: 200px; left: 150px; top: 119px; border-color: rgba(48,180,81,.11); transform: rotate(-15deg); }
.orbit-three::before { left: 36px; top: 12px; width: 5px; height: 5px; }.orbit-three::after { right: 18px; bottom: 28px; width: 5px; height: 5px; }
.connector { position: absolute; z-index: 1; height: 1px; transform-origin: left center; background: linear-gradient(90deg, rgba(55,181,85,.08), rgba(55,181,85,.46), rgba(55,181,85,.08)); }
.connector::after { content: ""; position: absolute; right: 0; top: -2px; width: 5px; height: 5px; border-radius: 50%; background: #39b75a; box-shadow: 0 0 0 4px rgba(57,183,90,.08); }
.connector-left { left: 134px; top: 232px; width: 132px; transform: rotate(18deg); }.connector-right { left: 378px; top: 215px; width: 118px; transform: rotate(-27deg); }

.platform { position: absolute; left: 50%; bottom: 29px; width: 310px; height: 219px; transform: translateX(-47%); }
.platform-beam { position: absolute; z-index: 1; left: 77px; top: 18px; width: 158px; height: 150px; opacity: .78; clip-path: polygon(34% 0,66% 0,100% 100%,0 100%); background: linear-gradient(180deg,rgba(73,197,102,.16),rgba(73,197,102,.015)); filter: blur(1px); }
.platform-base { position: absolute; left: 5px; bottom: 0; width: 300px; height: 79px; border: 1px solid #e1ebe3; border-radius: 50%; background: linear-gradient(180deg,#fff 6%,#f5faf6 42%,#dfeae2); box-shadow: 0 22px 38px rgba(29,83,44,.17), inset 0 -12px 20px rgba(35,116,56,.08); }
.platform-base::before { content: ""; position: absolute; inset: -7px 13px 18px; border: 1px solid rgba(56,168,83,.15); border-radius: 50%; background: rgba(255,255,255,.58); box-shadow: inset 0 0 26px rgba(51,174,81,.06); }
.platform-base::after { content: ""; position: absolute; inset: 15px 28px; border: 2px solid #d6e6d9; border-radius: 50%; box-shadow: 0 0 0 8px rgba(53,178,83,.025); }
.platform-ring { position: absolute; z-index: 2; border-radius: 50%; border: 3px solid rgba(65, 187, 95, .25); }
.ring-outer { width: 246px; height: 80px; left: 32px; bottom: 60px; box-shadow: 0 0 26px rgba(47,184,82,.13), inset 0 0 16px rgba(47,184,82,.06); }
.ring-inner { width: 186px; height: 56px; left: 62px; bottom: 72px; border-color: rgba(60,170,87,.17); }
.brand-orb {
  position: absolute;
  z-index: 4;
  left: 81px;
  top: -31px;
  width: 150px;
  height: 150px;
  border: 1px solid #e2ece4;
  border-radius: 50%;
  background: radial-gradient(circle at 37% 28%,#fff 0 28%,#f4f8f5 58%,#dbe7de 100%);
  box-shadow: -20px 24px 38px rgba(35,89,49,.18), inset 11px 12px 22px #fff, 0 0 0 9px rgba(255,255,255,.38);
  animation: hoverOrb 5s ease-in-out infinite;
}
.brand-orb::before { content: ""; position: absolute; inset: 11px; border-radius: 50%; border: 1px solid rgba(64,167,86,.11); box-shadow: inset 0 0 28px rgba(64,167,86,.04); }
.brand-orb::after { content: ""; position: absolute; right: 18px; top: 18px; width: 9px; height: 9px; border-radius: 50%; background: #3db95c; box-shadow: 0 0 0 5px rgba(61,185,92,.1); }
.brand-orb span { position: absolute; left: 38px; top: 23px; color: #39b758; font-size: 82px; line-height: 1; font-weight: 950; font-style: italic; transform: skewX(-9deg); text-shadow: 12px 3px 0 rgba(67,180,91,.13); }
.brand-orb small { position: absolute; left: 0; right: 0; bottom: 18px; color: #6b7c70; font-size: 6px; font-weight: 850; letter-spacing: .17em; text-align: center; }
.platform-name { position: absolute; z-index: 5; left: 99px; bottom: 41px; display: flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid rgba(46,151,72,.12); border-radius: 999px; color: #3f7450; background: rgba(255,255,255,.86); box-shadow: 0 5px 13px rgba(35,88,49,.07); font-size: 6px; font-weight: 850; letter-spacing: .1em; }.platform-name i { width: 5px; height: 5px; border-radius: 50%; background: #3aba5b; box-shadow: 0 0 0 3px rgba(58,186,91,.1); }
@keyframes hoverOrb { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-9px) rotate(2deg); } }

.floating-card { position: absolute; z-index: 5; border: 1px solid rgba(211,226,215,.96); border-radius: 15px; background: rgba(255,255,255,.88); box-shadow: 0 18px 38px rgba(31,83,45,.11), inset 0 1px 0 #fff; backdrop-filter: blur(10px); }
.code-card { width: 108px; height: 116px; left: 248px; top: 13px; padding: 15px 18px; transform: rotate(-2deg); animation: cardFloat 6s ease-in-out infinite; }
.code-card > small { display: flex; align-items: center; gap: 5px; color: #7a8b7f; font-size: 6px; font-weight: 800; letter-spacing: .1em; }.code-card > small i { width: 5px; height: 5px; margin: 0; border-radius: 50%; background: #3aba5b; }
.code-card .card-icon { display: block; margin: 12px 0 8px; color: var(--green); font-size: 29px; font-weight: 780; line-height: 1; }
.code-card > div { display: flex; gap: 4px; }.code-card > div i, .growth-card .mini-line i { display: inline-block; height: 4px; margin: 0; border-radius: 9px; background: #d8eddd; }
.code-card > div i:nth-of-type(1) { width: 27px; }.code-card > div i:nth-of-type(2) { width: 12px; }.code-card > div i:nth-of-type(3) { width: 17px; }
.growth-card { width: 132px; height: 139px; left: 31px; top: 127px; padding: 17px 16px; transform: rotate(-7deg); animation: cardFloatLeft 7s ease-in-out infinite; }
.growth-card small { display: block; color: #75867a; font-size: 8px; font-weight: 700; }.growth-card strong { display: block; margin-top: 6px; color: var(--green); font-size: 21px; }.growth-card > span { display: block; margin-top: 2px; color: #8a978e; font-size: 6px; }
.mini-line { display: flex; align-items: end; gap: 3px; height: 35px; margin-top: 7px; padding: 0 2px 3px; border-bottom: 1px solid #dce9df; background-image: linear-gradient(rgba(55,157,79,.055) 1px,transparent 1px); background-size: 100% 10px; }
.growth-card .mini-line i { width: 12px; background: linear-gradient(#75d88b,#39ad56); transform-origin: bottom; }
.growth-card .mini-line i:nth-child(1) { height: 10px; }.growth-card .mini-line i:nth-child(2) { height: 15px; }.growth-card .mini-line i:nth-child(3) { height: 13px; }.growth-card .mini-line i:nth-child(4) { height: 23px; }.growth-card .mini-line i:nth-child(5) { height: 30px; }
.tasks-card { width: 139px; height: 127px; right: 13px; top: 76px; padding: 15px 14px; transform: rotate(7deg); animation: cardFloatRight 7.4s ease-in-out infinite; }
.tasks-card > small { display: flex; justify-content: space-between; margin-bottom: 11px; color: #718178; font-size: 7px; font-weight: 750; }.tasks-card > small b { color: #28a84b; }
.tasks-card > div { display: grid; grid-template-columns: 13px 1fr; align-items: center; gap: 7px; margin-top: 7px; }.tasks-card > div i { display: grid; place-items: center; width: 13px; height: 13px; border-radius: 4px; color: #fff; background: linear-gradient(145deg,#60cf79,#2aaa4d); font-size: 7px; font-style: normal; }.tasks-card > div span { color: #7d8b82; font-size: 7px; }
.bars-card { width: 104px; height: 129px; right: 22px; top: 230px; padding: 15px 14px; transform: rotate(5deg); animation: cardFloatBars 6.8s ease-in-out infinite; }
.bars-card small { color: #7b8a81; font-size: 7px; }.bars-card strong { display: block; margin-top: 3px; color: #1a8e3d; font-size: 16px; }.bars-card > div { display: flex; align-items: end; gap: 6px; height: 54px; margin-top: 7px; padding-bottom: 3px; border-bottom: 1px solid #dbe9de; }.bars-card i { flex: 1; border-radius: 3px 3px 1px 1px; background: linear-gradient(#8ee09e,#2bac4d); }
.bars-card i:nth-child(1) { height: 33%; }.bars-card i:nth-child(2) { height: 67%; }.bars-card i:nth-child(3) { height: 49%; }.bars-card i:nth-child(4) { height: 86%; }
@keyframes cardFloat { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(8px); } }
@keyframes cardFloatLeft { 0%,100% { transform: rotate(-7deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-7px); } }
@keyframes cardFloatRight { 0%,100% { transform: rotate(7deg) translateY(0); } 50% { transform: rotate(5deg) translateY(7px); } }
@keyframes cardFloatBars { 0%,100% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-6px); } }
.system-pill { position: absolute; z-index: 7; left: 31px; bottom: 22px; display: flex; align-items: center; gap: 10px; min-width: 149px; padding: 9px 12px; border: 1px solid rgba(48,164,76,.13); border-radius: 13px; background: rgba(255,255,255,.9); box-shadow: 0 13px 29px rgba(34,87,48,.09); backdrop-filter: blur(10px); }.system-pill > i { width: 8px; height: 8px; border-radius: 50%; background: #32b555; box-shadow: 0 0 0 5px rgba(50,181,85,.1); }.system-pill span, .system-pill strong, .system-pill small { display: block; }.system-pill strong { color: #183f24; font-size: 8px; }.system-pill small { margin-top: 2px; color: #819086; font-size: 6px; }
.cube { position: absolute; z-index: 6; width: 22px; height: 22px; transform: rotate(30deg) skew(-4deg,-4deg); border-radius: 4px; background: linear-gradient(145deg,#66d87d,#1ca647); box-shadow: 7px 9px 15px rgba(40,132,61,.2); }.cube::before,.cube::after { content: ""; position: absolute; opacity: .65; background: rgba(255,255,255,.45); }.cube::before { inset: 3px 10px 3px 3px; }.cube::after { inset: 3px 3px 10px 3px; }.cube-left { left: 185px; bottom: 27px; width: 14px; height: 14px; }.cube-right { right: 125px; bottom: 20px; }
.spark { position: absolute; z-index: 5; width: 6px; height: 6px; border-radius: 50%; background: #3dba5d; box-shadow: 0 0 0 6px rgba(61, 186, 93, .06); }.spark-one { left: 185px; top: 110px; }.spark-two { right: 112px; top: 40px; }.spark-three { right: 42px; bottom: 57px; }

.metrics { position: relative; z-index: 5; display: grid; grid-template-columns: repeat(4, 1fr); max-width: 900px; margin-top: 8px; margin-left: calc((100% - min(1120px, calc(100% - 48px))) / 2); }
.metrics > div { display: flex; align-items: center; gap: 13px; }
.metric-icon { display: grid; flex: 0 0 auto; place-items: center; width: 40px; height: 40px; border: 1px solid #d6e7da; border-radius: 11px; color: #168b3c; background: linear-gradient(145deg, #f5fbf6, #e8f4eb); box-shadow: 0 6px 16px rgba(22, 139, 60, .07); }
.metric-icon svg { width: 20px; height: 20px; }
.metrics p { margin: 0; }.metrics strong { display: block; font-size: 22px; letter-spacing: -.02em; }.metrics small { display: block; margin-top: 3px; color: #677168; font-size: 12px; }

.section-heading { margin-bottom: 24px; }
.section-heading h2, .work-intro h2, .split-section h2, .footer h2 { margin: 0; font-size: 30px; line-height: 1.22; letter-spacing: -.035em; }
.row-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.row-heading .eyebrow { margin-bottom: 8px; }
.arrow-link { display: inline-flex; align-items: center; gap: 8px; color: var(--green-dark); font-size: 13px; font-weight: 680; transition: gap .2s ease, color .2s ease; }
a:hover .arrow-link { gap: 12px; color: #0f6d2e; }

.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: 13px; overflow: hidden; box-shadow: 0 6px 30px rgba(54, 89, 62, .035); }
.service-card { display: grid; grid-template-columns: 52px 1fr; gap: 18px; min-height: 205px; padding: 27px 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; transition: transform .24s ease, box-shadow .24s ease, background .24s ease; }
.service-card:hover { position: relative; z-index: 2; transform: translateY(-4px); background: linear-gradient(145deg, #fff, #f8fcf9); box-shadow: var(--shadow); }
.service-icon { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid #d6e9db; border-radius: 14px; color: #16923e; background: linear-gradient(145deg, #f2faf4, #e2f1e6); box-shadow: 0 8px 18px rgba(22, 146, 62, .08); transition: color .24s ease, background .24s ease, transform .24s ease; }
.service-icon svg { width: 26px; height: 26px; }
@media (hover: hover) { .service-card:hover .service-icon { color: #fff; background: linear-gradient(145deg, #29ad52, #168b3c); transform: translateY(-2px) rotate(-2deg); } }
.service-card h3 { margin: 6px 0 12px; font-size: 18px; line-height: 1.2; letter-spacing: -.02em; }
.service-card p { min-height: 62px; margin: 0 0 14px; color: #5d685f; font-size: 14px; line-height: 1.55; }

.work-section { padding-top: 36px; }
.work-panel { position: relative; display: grid; grid-template-columns: 270px 1fr; gap: 20px; padding: 28px 20px 42px; border-radius: 17px; background: linear-gradient(110deg, #fbfcfb, #f7faf8); box-shadow: 0 24px 60px rgba(43, 86, 53, .06); }
.work-intro { padding: 44px 0 20px; }
.work-intro h2 { font-size: 30px; line-height: 1.3; }
.work-intro > p:not(.eyebrow) { max-width: 240px; margin: 17px 0 42px; color: #637067; font-size: 14px; line-height: 1.65; }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.case-card { overflow: hidden; border: 1px solid #e0e9e2; border-radius: 11px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.case-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.case-visual { height: 175px; padding: 13px; color: #dceee2; background: #0a2116; overflow: hidden; }
.case-visual.blue { color: #28558f; background: linear-gradient(145deg, #f5faff, #daeafa); }
.case-visual.midnight { color: #b8d0c4; background: linear-gradient(145deg, #061a18, #102625); }
.visual-topline { display: flex; align-items: center; justify-content: space-between; font-size: 10px; }
.visual-topline > span:first-child { padding: 5px 8px; border-radius: 7px; color: inherit; background: rgba(255,255,255,.09); }
.case-visual.blue .visual-topline > span:first-child { background: rgba(38, 97, 172, .08); }
.live-dot { color: #53c973; }.live-dot::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 4px; border-radius: 50%; background: currentColor; }
.chart-shell { display: grid; grid-template-columns: 65px 1fr; gap: 15px; height: 93px; margin-top: 14px; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; background: rgba(255,255,255,.04); }
.blue .chart-shell { border-color: rgba(34, 92, 165, .1); background: rgba(255,255,255,.55); }
.chart-meta { display: flex; flex-direction: column; justify-content: center; }.chart-meta small { font-size: 9px; opacity: .65; }.chart-meta strong { color: #56cc73; font-size: 18px; margin-top: 6px; }.blue .chart-meta strong { color: #2673d3; }
.chart-bars { display: flex; align-items: end; gap: 4px; border-bottom: 1px solid rgba(151, 194, 162, .22); }.chart-bars span { flex: 1; min-width: 4px; border-radius: 2px 2px 0 0; background: linear-gradient(#65db80, #1c9e42); opacity: .9; }.blue .chart-bars span { background: linear-gradient(#70afff, #2a6ec3); }.midnight .chart-bars span:nth-child(odd) { background: #efb53f; }
.visual-pills { display: flex; gap: 6px; margin-top: 9px; }.visual-pills i { height: 6px; width: 39px; border-radius: 10px; background: rgba(120, 201, 141, .18); }.visual-pills i:nth-child(2) { width: 58px; }
.case-body { padding: 15px 14px 16px; }
.case-body h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 14px; line-height: 1.35; }
.tiny-brand { display: grid; place-items: center; flex: 0 0 auto; width: 19px; height: 19px; border-radius: 50%; color: #fff; background: var(--green); font-weight: 900; font-style: italic; }
.case-body p { min-height: 76px; margin: 0 0 12px; color: #657068; font-size: 12.5px; line-height: 1.6; }
.tag-row { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 14px; }.tag-row span { padding: 5px 7px; border-radius: 5px; color: #56625a; background: #f0f5f1; font-size: 10px; }
.slider-dots { position: absolute; left: 50%; bottom: 12px; display: flex; gap: 5px; align-items: center; }.slider-dots span, .slider-dots button { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: #d6ded8; }.slider-dots .active { width: 15px; border-radius: 5px; background: #3fba5f; }

.products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.product-card { overflow: hidden; border: 1px solid #dce6de; border-radius: 12px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.product-visual { display: flex; height: 129px; margin: 14px 14px 0; overflow: hidden; border-radius: 10px 10px 0 0; background: #0c3025; color: #56c97a; box-shadow: inset 0 0 50px rgba(31, 177, 85, .13); }
.product-visual.azure { background: linear-gradient(135deg, #0d315e, #ebf5ff 56%); color: #4f9bed; }.product-visual.violet { background: linear-gradient(135deg, #1b143d, #f2edff 59%); color: #8c67ea; }
.product-side { width: 38px; padding: 10px 8px; background: rgba(0, 0, 0, .15); }.mini-logo { display: grid; place-items: center; width: 20px; height: 20px; margin-bottom: 13px; border-radius: 5px; color: #fff; background: currentColor; font-size: 9px; }.product-side i { display: block; height: 3px; margin: 8px 0; border-radius: 5px; background: currentColor; opacity: .45; }
.product-main { flex: 1; padding: 13px 11px; }.product-toolbar { display: flex; justify-content: end; gap: 4px; }.product-toolbar i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: .5; }.product-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 13px; }.product-kpis span { height: 29px; border: 1px solid currentColor; border-radius: 4px; opacity: .28; background: rgba(255,255,255,.08); }
.product-chart { display: flex; align-items: end; gap: 5px; height: 40px; margin-top: 8px; padding: 6px 7px 0; border-radius: 4px; background: rgba(255,255,255,.08); }.product-chart b { flex: 1; min-height: 6px; border-radius: 2px 2px 0 0; background: currentColor; opacity: .5; }.product-chart b:nth-child(2) { height: 45%; }.product-chart b:nth-child(3) { height: 72%; }.product-chart b:nth-child(4) { height: 54%; }.product-chart b:nth-child(5) { height: 90%; }.product-chart b:nth-child(6) { height: 78%; }
.product-body { padding: 18px 18px 20px; }.product-title { display: flex; align-items: center; gap: 10px; }.product-logo { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 auto; border-radius: 8px; color: #fff; background: #2aa84c; }.product-logo.azure { background: #376cd2; }.product-logo.violet { background: #7651d7; }
.product-title h3 { margin: 0; font-size: 16px; }.product-title small { color: #68746c; font-size: 11px; }
.product-body > p { min-height: 60px; margin: 15px 0; color: #606b63; font-size: 13px; line-height: 1.6; }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px 5px; min-height: 68px; margin-bottom: 15px; }.feature-grid span { color: #606b63; font-size: 10.5px; }.feature-grid i { display: inline-grid; place-items: center; width: 15px; height: 15px; margin-right: 6px; border-radius: 50%; color: #209c43; background: #ebf6ed; font-size: 9px; font-style: normal; }

.testimonials-section { padding-top: 34px; }
.testimonial-shell { position: relative; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.testimonial-card { position: relative; display: flex; flex-direction: column; min-height: 215px; padding: 25px 20px 20px 52px; border: 1px solid #dce6df; border-radius: 13px; background: #fff; }
.quote-mark { position: absolute; top: 17px; left: 18px; color: var(--green); font-family: Georgia, serif; font-size: 38px; font-weight: 800; line-height: 1; }
.testimonial-card > p { min-height: 105px; margin: 0; color: #4f5b53; font-size: 13px; line-height: 1.65; }
.client-row { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 8px; margin-top: auto; }
.avatar { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #263a30, #86a58f); font-size: 10px; font-weight: 720; }.avatar-jc { background: linear-gradient(145deg, #2e5d89, #a4cae9); }.avatar-ml { background: linear-gradient(145deg, #704529, #d7b190); }.avatar-pm { background: linear-gradient(145deg, #7e446c, #d6a8c9); }
.client-row strong, .client-row small { display: block; }.client-row strong { font-size: 11px; }.client-row small { margin-top: 3px; color: #778179; font-size: 9px; }.client-row b { display: flex; align-items: center; gap: 4px; font-size: 12px; color: #506259; }.client-row b i { color: var(--green); font-size: 16px; }
.slider-button { position: absolute; z-index: 4; top: calc(50% - 16px); display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid #d9e3dc; border-radius: 50%; background: #fff; color: #8a968e; cursor: pointer; transition: color .2s, border-color .2s, transform .2s; }.slider-button:hover { color: var(--green); border-color: var(--green); transform: scale(1.07); }.slider-button.prev { left: -45px; }.slider-button.next { right: -45px; }
.slider-dots.interactive { position: static; justify-content: center; margin-top: 15px; }.slider-dots.interactive button { cursor: pointer; }

.split-section { padding-top: 26px; }
.split-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 20px; }
.industry-panel, .team-panel { position: relative; min-height: 305px; overflow: hidden; padding: 26px 22px; border-radius: 15px; background: linear-gradient(145deg, #fbfdfb, #f7faf8); box-shadow: 0 15px 50px rgba(42, 86, 52, .055); }
.industry-panel h2, .team-panel h2 { font-size: 24px; }
.industry-tabs { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(7, 1fr); margin-top: 25px; padding: 15px 9px; border: 1px solid #e2eae4; border-radius: 10px; background: #fff; }
.industry-tabs button { min-width: 0; padding: 0 3px; border: 0; background: transparent; font-size: 10px; line-height: 1.3; cursor: pointer; }.industry-tabs button span { display: block; margin-bottom: 8px; font-size: 21px; transition: color .2s, transform .2s; }.industry-tabs button:hover span, .industry-tabs button.active span { color: var(--green); transform: translateY(-2px); }.industry-tabs button.active { color: var(--green-dark); font-weight: 700; }.industry-tabs .more-industry { color: var(--green); font-size: 20px; }
.industry-lines { position: absolute; left: -15%; bottom: -66px; width: 130%; height: 110px; transform: rotate(3deg); }.industry-lines i { position: absolute; left: 0; right: 0; height: 55px; border: 1px solid rgba(60, 176, 85, .22); border-radius: 50%; }.industry-lines i:nth-child(2) { top: 10px; }.industry-lines i:nth-child(3) { top: 20px; }.industry-lines i:nth-child(4) { top: 30px; }.industry-lines i:nth-child(5) { top: 40px; }
.industry-note { position: absolute; left: 24px; right: 24px; bottom: 14px; margin: 0; color: #748078; font-size: 11px; opacity: 0; transition: opacity .2s; }.industry-panel:hover .industry-note { opacity: 1; }
.team-grid { display: grid; grid-template-columns: repeat(5, 1fr); align-items: start; gap: 12px; margin-top: 24px; }
.team-member { text-align: center; }.team-photo { position: relative; height: 116px; overflow: hidden; margin-bottom: 10px; border-radius: 12px; background: linear-gradient(#e6ebe7, #ccd7cf); }.team-photo::before { content: ""; position: absolute; left: 50%; bottom: -19px; width: 82px; height: 78px; border-radius: 45% 45% 15px 15px; background: #1e2b24; transform: translateX(-50%); }.team-photo::after { content: ""; position: absolute; left: 50%; top: 20px; width: 44px; height: 49px; border-radius: 48% 48% 45% 45%; background: #d5a485; transform: translateX(-50%); box-shadow: inset 0 10px 0 #26332c; }.team-photo span { position: absolute; z-index: 4; left: 9px; bottom: 9px; padding: 4px 6px; border-radius: 6px; color: #fff; background: rgba(18, 42, 27, .72); font-size: 9px; font-weight: 700; letter-spacing: .04em; }.team-photo.mint { background: linear-gradient(#e1ede8, #c1d5cc); }.team-photo.mint::before { background: #f5f6f5; }.team-photo.mint::after { box-shadow: inset 0 11px 0 #442d22; }.team-photo.blue { background: linear-gradient(#e0e5e9, #c6d1da); }.team-photo.blue::before { background: #203a4b; }.team-photo.rose { background: linear-gradient(#f1e6e6, #dbc9cd); }.team-photo.rose::before { background: #202725; }.team-photo.rose::after { box-shadow: inset 0 11px 0 #211a18; }.team-photo.sand { background: linear-gradient(#eee9e0, #dbd3c6); }.team-photo.sand::before { background: #f0f2f1; }
.team-member strong, .team-member small { display: block; }.team-member strong { font-size: 11px; }.team-member small { margin-top: 4px; color: #737f76; font-size: 9px; line-height: 1.3; }.team-link { position: static; display: flex; justify-content: flex-end; margin-top: 18px; }

.footer { padding: 0 0 22px; }
.footer-card { position: relative; display: grid; grid-template-columns: 1fr 440px; align-items: center; min-height: 150px; overflow: hidden; padding: 28px 58px; border: 1px solid #e1e9e3; border-radius: 14px; background: linear-gradient(120deg, #f7faf8 0%, #fff 65%, #f1faf3 100%); }
.footer-cta { display: flex; align-items: center; gap: 26px; }.brand-mark.large { width: 42px; height: 42px; font-size: 36px; }.footer-cta h2 { font-size: 22px; }.footer-cta p { margin: 7px 0 0; font-size: 16px; }
.footer-links { position: relative; z-index: 2; display: grid; grid-template-columns: .7fr 1.3fr; gap: 40px; }.footer-links > div { display: flex; flex-direction: column; gap: 8px; }.footer-links strong { margin-bottom: 4px; font-size: 13px; }.footer-links a, .footer-links span { color: #46534a; font-size: 11px; }.footer-links a:hover { color: var(--green-dark); }
.footer-wave { position: absolute; right: -75px; bottom: -58px; width: 480px; height: 120px; transform: rotate(-10deg); opacity: .65; }.footer-wave i { position: absolute; inset: 0; border: 1px solid rgba(68, 184, 94, .25); border-radius: 50%; }.footer-wave i:nth-child(2) { inset: 12px; }.footer-wave i:nth-child(3) { inset: 24px; }.footer-wave i:nth-child(4) { inset: 36px; }
.copyright { margin: 17px 0 0; text-align: center; color: #9ba49e; font-size: 10px; }

@media (max-width: 1100px) {
  .main-nav { gap: 22px; }
  .slider-button.prev { left: -14px; }.slider-button.next { right: -14px; }
  .metrics { margin-left: 24px; }
}

@media (max-width: 900px) {
  .container { width: min(100% - 32px, 740px); }
  .nav-wrap { justify-content: space-between; }
  .menu-toggle { display: block; order: 3; }
  .nav-cta { display: none; }
  .main-nav { position: fixed; top: 72px; left: 16px; right: 16px; display: none; flex-direction: column; gap: 0; align-items: stretch; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.98); box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }.main-nav a { padding: 14px; }.main-nav a::after { display: none; }
  .hero { padding-top: 36px; }.hero-grid { grid-template-columns: 1fr; }.hero-copy { padding-top: 20px; }.hero-text { max-width: 570px; }.hero-art { max-width: 590px; width: 100%; margin: 15px auto 0; }
  .metrics { width: min(100% - 32px, 740px); max-width: none; margin: 5px auto 0; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .work-panel { grid-template-columns: 1fr; }.work-intro { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; padding: 10px 5px; }.work-intro .eyebrow, .work-intro h2 { grid-column: 1; }.work-intro > p:not(.eyebrow) { grid-column: 2; grid-row: 1 / 3; align-self: end; margin-bottom: 4px; }.work-intro > a { grid-column: 1; margin-top: 16px; }.work-intro br { display: none; }
  .case-grid, .products-grid { grid-template-columns: repeat(2, 1fr); }.case-card:last-child, .product-card:last-child { grid-column: 1 / -1; max-width: calc(50% - 5px); margin: auto; }
  .testimonial-grid { grid-template-columns: repeat(2, 1fr); }.testimonial-card:nth-child(3) { display: none; }
  .split-grid { grid-template-columns: 1fr; }
  .footer-card { grid-template-columns: 1fr 360px; padding: 28px; }
}

@media (max-width: 620px) {
  .container { width: min(100% - 28px, 500px); }
  .section { padding: 42px 0; }
  .site-header { height: 64px; }.main-nav { top: 64px; }
  .hero { padding-top: 27px; }.hero h1 { font-size: 41px; }.hero-text { font-size: 15px; }.hero-actions { flex-direction: column; align-items: stretch; }.hero-actions .button { width: 100%; }
  .hero-art, .hero-art.reveal-item, .hero-art.reveal-item.is-revealed { left: auto; width: 500px; max-width: none; height: 410px; margin: 15px 0 -45px calc((100% - 500px) / 2); transform: scale(.86); transform-origin: top center; }
  .orbit-one { left: 23px; }.growth-card { left: 31px; }.tasks-card { right: 13px; }.bars-card { right: 22px; }.platform { transform: translateX(-47%); }
  .metrics { width: min(100% - 28px, 500px); grid-template-columns: repeat(2, 1fr); gap: 20px 12px; padding: 20px; border: 1px solid var(--line); border-radius: 12px; }
  .row-heading { align-items: start; }.row-heading > a { white-space: nowrap; margin-top: 24px; }
  .section-heading h2, .work-intro h2 { font-size: 26px; }
  .services-grid { grid-template-columns: 1fr; }.service-card { min-height: 0; }
  .work-panel { width: min(100% - 16px, 520px); padding-inline: 12px; }.work-intro { display: block; }.work-intro > p:not(.eyebrow) { margin: 12px 0 18px; }
  .case-grid, .products-grid { grid-template-columns: 1fr; }.case-card:last-child, .product-card:last-child { grid-column: auto; max-width: none; margin: 0; }
  .case-visual { height: 195px; }.product-visual { height: 155px; }
  .testimonial-grid { grid-template-columns: 1fr; }.testimonial-card:nth-child(2) { display: none; }.slider-button.prev { left: -7px; }.slider-button.next { right: -7px; }
  .industry-tabs { grid-template-columns: repeat(4, 1fr); gap: 18px 4px; }.industry-panel { min-height: 285px; }.industry-note { opacity: 1; }
  .team-grid { grid-template-columns: repeat(3, 1fr); }.team-member:nth-child(4), .team-member:nth-child(5) { display: none; }.team-photo { height: 118px; }.team-panel { min-height: 330px; }
  .footer-card { grid-template-columns: 1fr; gap: 28px; padding: 27px 23px; }.footer-cta { align-items: flex-start; }.footer-links { grid-template-columns: 1fr 1.4fr; gap: 22px; }.footer-wave { opacity: .35; }
}

@media (max-width: 430px) {
  .hero-art, .hero-art.reveal-item, .hero-art.reveal-item.is-revealed { margin-bottom: -115px; transform: scale(.69); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* WordPress integration and subtle viewport transitions. */
.admin-bar .site-header { top: 32px; }
.custom-logo { width: auto; max-width: 220px; max-height: 42px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 99999; top: 10px; left: 10px; width: auto; height: auto; padding: 12px 16px; clip: auto; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; }

.reveal-item { opacity: 0; transform: translateY(18px); transition: opacity .65s cubic-bezier(.22,.61,.36,1) var(--reveal-delay, 0ms), transform .65s cubic-bezier(.22,.61,.36,1) var(--reveal-delay, 0ms); }
.reveal-item.is-revealed { opacity: 1; transform: translateY(0); }
.testimonial-card[hidden] { display: none !important; }
.testimonial-card.is-visible { display: flex !important; }
.testimonial-card.is-visible { animation: testimonialIn .35s ease both; }
@keyframes testimonialIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

.content-shell { min-height: 66vh; padding: 80px 0; background: linear-gradient(180deg, #fbfdfb, #fff); }
.content-column { max-width: 860px; }
.content-heading { margin-bottom: 28px; }
.content-heading h1, .content-page h1 { margin: 0; font-size: clamp(36px, 5vw, 56px); line-height: 1.12; letter-spacing: -.045em; }
.content-card { margin-bottom: 22px; padding: 30px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 12px 35px rgba(24,76,42,.05); }
.content-card h2 { margin: 0 0 12px; font-size: 26px; letter-spacing: -.025em; }
.content-card p, .entry-content { color: #4c5951; line-height: 1.75; }
.content-page { padding: clamp(28px, 5vw, 54px); }
.content-page h1 { margin-bottom: 28px; }
.entry-content > *:last-child { margin-bottom: 0; }
.navigation.pagination .nav-links { display: flex; gap: 8px; }
.navigation.pagination a, .navigation.pagination span { display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; }
.navigation.pagination .current { color: #fff; background: var(--green); border-color: var(--green); }
.error-page { text-align: center; }
.error-page .button { margin-top: 12px; }

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

@media (max-width: 600px) {
  #wpadminbar { position: fixed; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-item { opacity: 1; transform: none; }
  .testimonial-card.is-visible { animation: none; }
}

/* Version 1.1 — larger reading sizes across the original homepage. */
body { font-size: 17px; }
.hero-text { font-size: 18px; line-height: 1.75; }
.metrics small { font-size: 13px; }
.arrow-link { font-size: 14px; }
.service-card p { min-height: 72px; font-size: 16px; line-height: 1.65; }
.work-intro > p:not(.eyebrow) { max-width: 248px; font-size: 16px; line-height: 1.7; }
.case-body h3 { font-size: 15px; }
.case-body p { min-height: 88px; font-size: 14.5px; line-height: 1.65; }
.tag-row span { font-size: 11px; }
.product-title small { font-size: 12.5px; }
.product-body > p { min-height: 72px; font-size: 15px; line-height: 1.68; }
.feature-grid span { font-size: 12px; }
.testimonial-card { min-height: 245px; }
.testimonial-card > p { min-height: 128px; font-size: 15px; line-height: 1.7; }
.client-row strong { font-size: 13px; }
.client-row small { font-size: 11px; }
.client-row b { font-size: 13px; }
.industry-tabs button { font-size: 11px; }
.industry-note { font-size: 13px; }
.team-member strong { font-size: 14px; }
.team-member small { font-size: 11.5px; }
.footer-links strong { font-size: 14px; }
.footer-links a, .footer-links span { font-size: 13px; }
.copyright { font-size: 12px; }

/* About and Contact page system. */
.inner-page { overflow: hidden; background: #fff; }
.inner-hero { position: relative; overflow: hidden; padding: 76px 0 70px; background: linear-gradient(145deg, #fff 0%, #fbfefc 55%, #f1faf4 100%); }
.inner-hero::before { content: ""; position: absolute; inset: 0; opacity: .34; pointer-events: none; background-image: radial-gradient(rgba(53,175,86,.25) .65px, transparent .65px); background-size: 18px 18px; mask-image: linear-gradient(90deg, transparent, #000 54%, transparent); }
.inner-hero-glow { position: absolute; top: -210px; right: 4%; width: 620px; height: 620px; border-radius: 50%; background: rgba(67,191,96,.1); filter: blur(85px); }
.inner-hero-grid, .contact-hero-grid { position: relative; display: grid; grid-template-columns: .98fr 1.02fr; align-items: center; gap: 65px; min-height: 430px; }
.inner-hero-copy { position: relative; z-index: 3; }
.inner-hero-copy h1 { margin: 0; font-size: clamp(46px, 4.5vw, 64px); line-height: 1.08; letter-spacing: -.055em; }
.inner-hero-copy h1 em { color: var(--green); font-style: normal; }
.inner-hero-copy > p:not(.eyebrow) { max-width: 610px; margin: 24px 0 30px; color: #4c5951; font-size: 18px; line-height: 1.78; }
.inner-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.about-hero-visual { position: relative; height: 390px; isolation: isolate; }
.about-hero-visual::after { content: ""; position: absolute; z-index: -2; left: 8%; right: -12%; bottom: 10px; height: 185px; opacity: .52; transform: perspective(460px) rotateX(64deg); background-image: linear-gradient(rgba(58,174,84,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(58,174,84,.25) 1px, transparent 1px); background-size: 38px 38px; mask-image: radial-gradient(ellipse, #000 20%, transparent 70%); }
.about-orbit { position: absolute; border: 1px solid rgba(48,180,81,.27); border-radius: 50%; }
.about-orbit::before, .about-orbit::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #43bd60; box-shadow: 0 0 0 6px rgba(67,189,96,.07); }
.orbit-a { inset: 34px -28px 32px 6px; transform: rotate(-7deg); }
.orbit-a::before { top: 19px; left: 92px; }.orbit-a::after { right: 63px; bottom: 26px; }
.orbit-b { inset: 88px 30px 63px 58px; border-color: rgba(48,180,81,.14); transform: rotate(8deg); }
.orbit-b::before { left: -4px; top: 94px; }.orbit-b::after { right: 62px; top: 8px; }
.about-core { position: absolute; z-index: 4; top: 94px; left: 50%; width: 180px; height: 180px; padding: 39px 24px; text-align: center; border: 1px solid #edf2ee; border-radius: 50%; background: linear-gradient(145deg,#fff 32%,#e6ebe7); box-shadow: -22px 24px 38px rgba(43,90,54,.16), inset 11px 12px 22px #fff; transform: translateX(-50%); animation: hoverOrb 5s ease-in-out infinite; }
.about-core span { display: block; color: #42b958; font-size: 75px; font-style: italic; font-weight: 950; line-height: .7; text-shadow: 11px 3px 0 rgba(67,180,91,.15); transform: skewX(-9deg); }
.about-core small { display: block; margin-top: 22px; color: #58655d; font-size: 10px; font-weight: 700; letter-spacing: .12em; line-height: 1.35; text-transform: uppercase; }
.about-skill { position: absolute; z-index: 5; width: 126px; padding: 17px; border: 1px solid rgba(222,231,224,.92); border-radius: 12px; background: rgba(255,255,255,.86); box-shadow: 0 14px 30px rgba(46,95,59,.09); backdrop-filter: blur(7px); }
.about-skill b { display: block; font-size: 13px; }.about-skill i { display: block; width: 66%; height: 5px; margin-top: 12px; border-radius: 8px; background: linear-gradient(90deg, #42b85c, #d9edde); }
.skill-one { top: 16px; left: 34px; transform: rotate(-5deg); }.skill-two { top: 11px; right: 18px; transform: rotate(7deg); }.skill-three { bottom: 27px; left: 20px; transform: rotate(5deg); }.skill-four { right: 4px; bottom: 40px; transform: rotate(-7deg); }

.about-story-section { background: #fff; }
.about-story-grid { display: grid; grid-template-columns: .82fr 1.18fr; column-gap: 70px; row-gap: 42px; align-items: start; }
.about-story-grid h2, .centered-heading h2, .process-intro h2, .contact-details h2, .contact-next-section h2, .contact-faq h2 { margin: 0; font-size: clamp(31px, 3vw, 42px); line-height: 1.2; letter-spacing: -.04em; }
.about-story-copy p { margin: 0 0 20px; color: #4f5c53; font-size: 17px; line-height: 1.82; }
.about-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(135deg,#fbfdfb,#f5faf7); overflow: hidden; }
.about-stats > div { min-height: 140px; padding: 26px; border-right: 1px solid var(--line); }
.about-stats > div:last-child { border-right: 0; }
.about-stats strong { display: block; color: var(--green-dark); font-size: 34px; letter-spacing: -.04em; }
.about-stats span { display: block; margin-top: 8px; color: #5d6961; font-size: 14px; line-height: 1.5; }

.principles-section { background: linear-gradient(180deg,#fbfdfb,#fff); }
.centered-heading { max-width: 680px; margin: 0 auto 34px; text-align: center; }
.centered-heading > p:last-child { margin: 13px 0 0; color: #5a675e; font-size: 16px; line-height: 1.7; }
.principles-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.principle-card { position: relative; min-height: 260px; padding: 27px 24px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.principle-card::after { content: ""; position: absolute; right: -36px; bottom: -44px; width: 110px; height: 110px; border: 1px solid rgba(60,176,85,.18); border-radius: 50%; box-shadow: 0 0 0 12px rgba(68,184,94,.035), 0 0 0 24px rgba(68,184,94,.025); }
.principle-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.principle-card > span { color: var(--green); font-size: 13px; font-weight: 750; letter-spacing: .1em; }
.principle-card h3 { margin: 45px 0 13px; font-size: 20px; letter-spacing: -.025em; }
.principle-card p { margin: 0; color: #59665e; font-size: 15px; line-height: 1.72; }

.process-section { padding-top: 30px; }
.process-panel { display: grid; grid-template-columns: 270px 1fr; gap: 36px; padding: 42px; border-radius: 18px; color: #eff9f1; background: radial-gradient(circle at 80% 20%, rgba(69,193,97,.2), transparent 32%), linear-gradient(135deg,#0b2518,#123a24); box-shadow: 0 24px 60px rgba(16,60,31,.14); }
.process-intro .eyebrow { color: #6ed985; }.process-intro h2 { color: #fff; }.process-intro > p:last-child { color: #b9cbbd; font-size: 16px; line-height: 1.7; }
.process-steps { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.process-steps article { padding: 22px; border: 1px solid rgba(207,235,215,.13); border-radius: 12px; background: rgba(255,255,255,.045); }
.process-steps span { color: #68d27f; font-size: 11px; font-weight: 750; }.process-steps h3 { margin: 12px 0 8px; color: #fff; font-size: 18px; }.process-steps p { margin: 0; color: #b9cbbd; font-size: 14px; line-height: 1.65; }

.about-team-section { background: #fff; }
.about-team-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.about-team-card { padding: 12px 12px 20px; text-align: center; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg,#fff,#f8fbf9); transition: transform .25s ease, box-shadow .25s ease; }
.about-team-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.about-team-card .team-photo { height: 180px; }
.about-team-card h3 { margin: 15px 0 4px; font-size: 16px; }.about-team-card p { margin: 0; color: #68756c; font-size: 13px; }

.page-cta-section { padding-top: 22px; }
.page-cta { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 220px; padding: 42px 52px; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(120deg,#f7faf8 0%,#fff 62%,#edf9f0 100%); }
.page-cta h2 { margin: 0; font-size: clamp(30px, 3vw, 42px); line-height: 1.2; letter-spacing: -.04em; }.page-cta .button { position: relative; z-index: 3; flex: 0 0 auto; }
.page-cta-rings { position: absolute; right: -90px; bottom: -112px; width: 520px; height: 230px; transform: rotate(-9deg); opacity: .62; }.page-cta-rings i { position: absolute; inset: 0; border: 1px solid rgba(68,184,94,.24); border-radius: 50%; }.page-cta-rings i:nth-child(2){inset:18px}.page-cta-rings i:nth-child(3){inset:36px}

.contact-hero { padding-bottom: 60px; }
.contact-hero-grid { grid-template-columns: 1.15fr .85fr; }
.contact-response-card { position: relative; max-width: 430px; justify-self: end; padding: 34px; border: 1px solid rgba(211,229,216,.9); border-radius: 18px; background: rgba(255,255,255,.84); box-shadow: 0 28px 65px rgba(37,94,52,.11); backdrop-filter: blur(10px); }
.contact-response-card .status-pulse { display: block; width: 12px; height: 12px; margin-bottom: 28px; border-radius: 50%; background: #41b95d; box-shadow: 0 0 0 8px rgba(65,185,93,.1); animation: contactPulse 2.2s ease-in-out infinite; }
@keyframes contactPulse { 0%,100%{box-shadow:0 0 0 8px rgba(65,185,93,.09)}50%{box-shadow:0 0 0 14px rgba(65,185,93,0)} }
.contact-response-card small { display: block; color: var(--green-dark); font-size: 11px; font-weight: 750; letter-spacing: .1em; }.contact-response-card strong { display: block; margin: 9px 0 16px; font-size: 25px; letter-spacing: -.035em; }.contact-response-card p { margin: 0; color: #58655d; font-size: 15px; line-height: 1.7; }

.contact-main-section { padding-top: 68px; }
.contact-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 26px; align-items: start; }
.contact-details { position: sticky; top: 102px; padding: 12px 25px 20px 0; }
.contact-details > p:not(.eyebrow) { margin: 18px 0 28px; color: #56635b; font-size: 16px; line-height: 1.75; }
.contact-detail-list { display: grid; gap: 10px; }
.contact-detail-list > a, .contact-detail-list > div { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; transition: transform .22s ease, box-shadow .22s ease; }
.contact-detail-list > a:hover { transform: translateX(4px); box-shadow: 0 12px 30px rgba(24,76,42,.07); }
.contact-detail-list > a > span, .contact-detail-list > div > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 11px; color: var(--green-dark); background: var(--green-soft); font-size: 20px; }
.contact-detail-list small, .contact-detail-list strong, .contact-detail-list p { display: block; }.contact-detail-list small { color: #79837c; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }.contact-detail-list strong { margin-top: 3px; font-size: 16px; }.contact-detail-list p { margin: 5px 0 0; color: #6d786f; font-size: 12.5px; }
.contact-trust { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }.contact-trust span { padding: 7px 10px; border-radius: 999px; color: #526057; background: #f0f6f2; font-size: 11px; font-weight: 650; }

.contact-form-card { padding: 34px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,#fff,#fbfdfb); box-shadow: 0 22px 55px rgba(24,76,42,.07); }
.form-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 27px; }.form-heading .tiny-brand { width: 38px; height: 38px; font-size: 19px; }.form-heading h2 { margin: 0; font-size: 28px; letter-spacing: -.035em; }.form-heading p { margin: 5px 0 0; color: #667269; font-size: 14px; }
.form-notice { margin: 0 0 22px; padding: 14px 16px; border-radius: 9px; font-size: 14px; line-height: 1.5; }.form-notice.success { color: #176d32; background: #eaf7ed; border: 1px solid #bfe1c7; }.form-notice.error { color: #923a2f; background: #fff1ee; border: 1px solid #efc5bd; }
.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 17px; }
.project-form label { display: block; }.project-form label > span { display: block; margin-bottom: 8px; color: #3e4b43; font-size: 13px; font-weight: 680; }
.project-form input, .project-form select, .project-form textarea { width: 100%; border: 1px solid #d8e3db; border-radius: 9px; outline: none; color: var(--ink); background: #fff; font: inherit; font-size: 15px; transition: border-color .2s ease, box-shadow .2s ease; }
.project-form input, .project-form select { height: 50px; padding: 0 14px; }.project-form textarea { min-height: 150px; padding: 13px 14px; resize: vertical; line-height: 1.6; }
.project-form input:focus, .project-form select:focus, .project-form textarea:focus { border-color: #68bd7b; box-shadow: 0 0 0 4px rgba(46,170,80,.09); }
.project-form input::placeholder, .project-form textarea::placeholder { color: #9aa49d; }
.message-field { margin-top: 18px; }
.form-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 20px; }.form-submit-row p { max-width: 310px; margin: 0; color: #7b857e; font-size: 11.5px; line-height: 1.5; }.form-submit-row .button { flex: 0 0 auto; }
.form-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.contact-next-section { background: linear-gradient(180deg,#fbfdfb,#fff); }
.contact-next-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.contact-next-grid article { min-height: 220px; padding: 26px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }.contact-next-grid span { color: var(--green); font-size: 12px; font-weight: 750; letter-spacing: .1em; }.contact-next-grid h3 { margin: 34px 0 11px; font-size: 19px; }.contact-next-grid p { margin: 0; color: #5b685f; font-size: 15px; line-height: 1.7; }
.contact-faq-section { padding-top: 20px; }
.contact-faq { display: grid; grid-template-columns: .72fr 1.28fr; gap: 65px; align-items: start; }
.faq-list { display: grid; gap: 10px; }.faq-list details { padding: 20px 22px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }.faq-list summary { position: relative; padding-right: 30px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 700; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { content: "+"; position: absolute; right: 0; top: -4px; color: var(--green); font-size: 24px; font-weight: 400; }.faq-list details[open] summary::after { content: "−"; }.faq-list p { margin: 13px 0 0; color: #59665e; font-size: 15px; line-height: 1.72; }

@media (max-width: 900px) {
  .inner-hero-grid, .contact-hero-grid, .about-story-grid, .contact-layout, .contact-faq { grid-template-columns: 1fr; }
  .inner-hero { padding-top: 52px; }
  .about-hero-visual { width: min(100%, 600px); margin: 0 auto; }
  .about-story-grid { gap: 24px; }
  .about-stats { grid-template-columns: repeat(2,1fr); }
  .about-stats > div:nth-child(2) { border-right: 0; }.about-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .principles-grid { grid-template-columns: repeat(2,1fr); }
  .process-panel { grid-template-columns: 1fr; }
  .about-team-grid { grid-template-columns: repeat(3,1fr); }
  .contact-response-card { justify-self: start; max-width: 520px; }
  .contact-details { position: static; padding-right: 0; }
  .contact-detail-list { grid-template-columns: repeat(3,1fr); }
  .contact-detail-list > a, .contact-detail-list > div { grid-template-columns: 1fr; }
  .contact-next-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  body { font-size: 16px; }
  .hero-text { font-size: 17px; }
  .inner-hero { padding: 42px 0 38px; }
  .inner-hero-grid, .contact-hero-grid { gap: 24px; min-height: 0; }
  .inner-hero-copy h1 { font-size: 40px; }
  .inner-hero-copy > p:not(.eyebrow) { margin: 20px 0 24px; font-size: 17px; }
  .inner-hero-actions { flex-direction: column; }.inner-hero-actions .button { width: 100%; }
  .about-hero-visual { height: 330px; transform: scale(.88); transform-origin: top center; margin-bottom: -34px; }
  .about-story-grid h2, .centered-heading h2, .process-intro h2, .contact-details h2, .contact-next-section h2, .contact-faq h2 { font-size: 30px; }
  .about-stats { grid-template-columns: 1fr; }.about-stats > div { min-height: 118px; border-right: 0; border-bottom: 1px solid var(--line); }.about-stats > div:last-child { border-bottom: 0; }
  .principles-grid, .process-steps, .about-team-grid, .form-grid, .contact-detail-list { grid-template-columns: 1fr; }
  .principle-card { min-height: 225px; }
  .process-panel { width: min(100% - 16px, 520px); padding: 28px 22px; }
  .about-team-card .team-photo { height: 240px; }
  .page-cta { align-items: flex-start; flex-direction: column; min-height: 300px; padding: 30px 24px; }.page-cta .button { width: 100%; }
  .contact-response-card, .contact-form-card { padding: 25px 20px; }
  .contact-main-section { padding-top: 42px; }
  .form-heading { align-items: flex-start; }.form-heading h2 { font-size: 24px; }
  .form-submit-row { align-items: stretch; flex-direction: column; }.form-submit-row p { max-width: none; }.form-submit-row .button { width: 100%; }
  .contact-faq { gap: 26px; }
  .service-card p { min-height: 0; }
  .case-body p, .product-body > p, .testimonial-card > p { min-height: 0; }
}

/* Version 1.2 — premium client proof and full-width team showcase. */
.testimonials-v2 {
  position: relative;
  padding-top: 72px;
  padding-bottom: 66px;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 18%, rgba(61, 187, 90, .07), transparent 24%),
    linear-gradient(180deg, #fff 0%, #fbfdfb 100%);
}
.testimonial-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 30px;
}
.testimonial-heading-copy { max-width: 640px; }
.testimonial-heading-copy h2 {
  margin: 0;
  font-size: clamp(34px, 3.3vw, 46px);
  line-height: 1.12;
  letter-spacing: -.05em;
}
.testimonial-heading-copy > p:last-child {
  max-width: 610px;
  margin: 14px 0 0;
  color: #58665d;
  font-size: 17px;
  line-height: 1.7;
}
.testimonial-summary {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  flex: 0 0 370px;
  overflow: hidden;
  border: 1px solid #dbe8de;
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 16px 45px rgba(24, 76, 42, .06);
}
.testimonial-summary > div { min-height: 112px; padding: 20px 22px; }
.testimonial-summary > div + div { border-left: 1px solid #dbe8de; }
.testimonial-summary strong {
  display: block;
  color: var(--green-dark);
  font-size: 31px;
  line-height: 1;
  letter-spacing: -.05em;
}
.testimonial-summary strong small { color: var(--green); font-size: 15px; }
.testimonial-summary span {
  display: block;
  margin-top: 9px;
  color: #69766d;
  font-size: 12px;
  line-height: 1.35;
}
.testimonial-stage {
  position: relative;
  padding: 0 50px 24px;
  border: 1px solid #d9e7dd;
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgba(69, 188, 96, .12), transparent 28%),
    linear-gradient(145deg, #f8fcf9, #f1f8f3);
  box-shadow: 0 24px 70px rgba(25, 78, 42, .09);
}
.testimonial-stage::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 38px;
  bottom: 26px;
  width: 140px;
  height: 140px;
  opacity: .36;
  border: 1px solid rgba(58, 176, 84, .22);
  border-radius: 50%;
  box-shadow: 0 0 0 14px rgba(58, 176, 84, .035), 0 0 0 28px rgba(58, 176, 84, .025);
}
.testimonial-stage-bar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  color: #5d6a61;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.testimonial-stage-bar > span { display: inline-flex; align-items: center; gap: 9px; }
.testimonial-stage-bar > span i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 6px rgba(61, 187, 90, .1);
}
.testimonial-stage-bar small { color: #859087; font-size: 10px; letter-spacing: .08em; }
.testimonials-v2 .testimonial-shell { z-index: 2; }
.testimonials-v2 .testimonial-grid { gap: 14px; }
.testimonials-v2 .testimonial-card {
  min-height: 288px;
  padding: 22px;
  overflow: hidden;
  border-color: rgba(209, 225, 214, .95);
  border-radius: 15px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 32px rgba(28, 79, 44, .055);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.testimonials-v2 .testimonial-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  opacity: 0;
  background: linear-gradient(90deg, var(--green), #8ddb9f);
  transition: opacity .25s ease;
}
.testimonials-v2 .testimonial-card:hover {
  transform: translateY(-5px);
  border-color: #bddbc5;
  box-shadow: 0 20px 42px rgba(24, 76, 42, .1);
}
.testimonials-v2 .testimonial-card:hover::after { opacity: 1; }
.testimonial-card-top { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.testimonials-v2 .quote-mark {
  position: static;
  width: 44px;
  height: 34px;
  color: var(--green);
  font-size: 52px;
  line-height: .85;
}
.testimonial-stars { color: #e9a928; font-size: 12px; letter-spacing: 2px; }
.testimonials-v2 .testimonial-card > p {
  flex: 1;
  min-height: 0;
  margin: 18px 0 24px;
  color: #3f4d44;
  font-size: 16px;
  line-height: 1.72;
}
.testimonials-v2 .client-row {
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 11px;
  padding-top: 17px;
  border-top: 1px solid #e7eee9;
}
.testimonials-v2 .avatar { width: 44px; height: 44px; font-size: 11px; }
.testimonials-v2 .client-row strong { font-size: 14px; }
.testimonials-v2 .client-row small { margin-top: 4px; font-size: 11.5px; }
.testimonials-v2 .client-row b {
  padding: 7px 9px;
  border-radius: 999px;
  color: #4d5d53;
  background: #eff6f1;
  font-size: 12px;
}
.testimonials-v2 .slider-button {
  top: calc(50% - 22px);
  width: 42px;
  height: 42px;
  color: var(--green-dark);
  border-color: #cfe0d3;
  box-shadow: 0 9px 20px rgba(24, 76, 42, .08);
}
.testimonials-v2 .slider-button.prev { left: -28px; }
.testimonials-v2 .slider-button.next { right: -28px; }
.testimonials-v2 .slider-dots.interactive { position: relative; z-index: 2; margin-top: 20px; }
.testimonials-v2 .slider-dots button { width: 7px; height: 7px; transition: width .2s ease, background .2s ease; }
.testimonials-v2 .slider-dots button.active { width: 23px; }

.team-showcase-section { padding-top: 30px; padding-bottom: 86px; background: #fff; }
.team-showcase {
  position: relative;
  padding: 42px;
  overflow: hidden;
  border: 1px solid #dce8df;
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 4%, rgba(72, 194, 100, .13), transparent 25%),
    linear-gradient(135deg, #f8fcf9 0%, #fff 52%, #f2f9f4 100%);
  box-shadow: 0 26px 75px rgba(28, 78, 43, .09);
}
.team-showcase-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 30px;
}
.team-showcase-copy { max-width: 690px; }
.team-showcase-copy h2 {
  margin: 0;
  font-size: clamp(34px, 3.2vw, 45px);
  line-height: 1.12;
  letter-spacing: -.05em;
}
.team-showcase-copy > p:last-child {
  max-width: 650px;
  margin: 14px 0 0;
  color: #58665d;
  font-size: 17px;
  line-height: 1.7;
}
.team-showcase-header .button { flex: 0 0 auto; }
.team-showcase-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.team-profile-card {
  min-width: 0;
  padding: 11px 11px 18px;
  border: 1px solid #dbe6de;
  border-radius: 15px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 10px 30px rgba(28, 78, 43, .045);
  transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}
.team-profile-card:hover {
  transform: translateY(-7px);
  border-color: #bcd9c3;
  box-shadow: 0 21px 42px rgba(25, 76, 41, .1);
}
.team-profile-card .team-photo {
  height: 205px;
  margin-bottom: 17px;
  border-radius: 11px;
  transition: transform .3s ease;
}
.team-profile-card:hover .team-photo { transform: scale(1.015); }
.team-profile-card .team-photo::before { bottom: -5px; width: 124px; height: 124px; border-radius: 48% 48% 12px 12px; }
.team-profile-card .team-photo::after { top: 36px; width: 67px; height: 76px; box-shadow: inset 0 16px 0 #26332c; }
.team-profile-card .team-photo.mint::after,
.team-profile-card .team-photo.rose::after { box-shadow: inset 0 17px 0 #442d22; }
.team-profile-card .team-photo span { left: 12px; bottom: 12px; padding: 6px 8px; font-size: 10px; }
.team-profile-meta { position: relative; padding-left: 31px; }
.team-profile-meta > span {
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}
.team-profile-meta h3 { margin: 0; font-size: 16px; line-height: 1.3; letter-spacing: -.02em; }
.team-profile-meta p { min-height: 20px; margin: 6px 0 0; color: #6a766e; font-size: 13px; line-height: 1.45; }
.team-showcase-footer {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 26px;
  padding-top: 23px;
  border-top: 1px solid #dfe9e2;
}
.team-showcase-footer p { display: flex; align-items: center; gap: 10px; margin: 0; color: #647168; font-size: 14px; line-height: 1.55; }
.team-showcase-footer p > span { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 6px rgba(61, 187, 90, .09); }
.team-showcase-footer > a { flex: 0 0 auto; }
.team-showcase-lines { position: absolute; right: -155px; bottom: -90px; width: 520px; height: 170px; opacity: .55; transform: rotate(-7deg); }
.team-showcase-lines i { position: absolute; inset: 0; border: 1px solid rgba(64, 181, 90, .2); border-radius: 50%; }
.team-showcase-lines i:nth-child(2) { inset: 16px; }
.team-showcase-lines i:nth-child(3) { inset: 32px; }

@media (max-width: 1050px) {
  .testimonial-heading { align-items: start; }
  .testimonial-summary { flex-basis: 330px; }
  .team-showcase-grid { grid-template-columns: repeat(3, 1fr); }
  .team-profile-card .team-photo { height: 235px; }
}

@media (max-width: 900px) {
  .testimonials-v2 { padding-top: 58px; }
  .testimonial-heading { display: grid; gap: 24px; }
  .testimonial-summary { width: min(100%, 470px); }
  .testimonial-stage { padding-right: 42px; padding-left: 42px; }
  .testimonials-v2 .testimonial-card:nth-child(3) { display: none; }
  .team-showcase { padding: 34px; }
  .team-showcase-header { align-items: start; flex-direction: column; gap: 22px; }
}

@media (max-width: 700px) {
  .team-showcase-grid { grid-template-columns: repeat(2, 1fr); }
  .team-profile-card .team-photo { height: 225px; }
  .team-showcase-footer { align-items: flex-start; flex-direction: column; gap: 18px; }
}

@media (max-width: 620px) {
  .testimonials-v2 { padding-top: 48px; padding-bottom: 48px; }
  .testimonial-heading { margin-bottom: 24px; }
  .testimonial-heading-copy h2, .team-showcase-copy h2 { font-size: 34px; }
  .testimonial-heading-copy > p:last-child, .team-showcase-copy > p:last-child { font-size: 16px; }
  .testimonial-summary { grid-template-columns: 1fr 1fr; }
  .testimonial-summary > div { min-height: 104px; padding: 18px 15px; }
  .testimonial-summary strong { font-size: 28px; }
  .testimonial-stage { padding: 0 22px 20px; border-radius: 17px; }
  .testimonial-stage-bar { min-height: 52px; }
  .testimonial-stage-bar small { display: none; }
  .testimonials-v2 .testimonial-grid { grid-template-columns: 1fr; }
  .testimonials-v2 .testimonial-card { min-height: 318px; padding: 20px; }
  .testimonials-v2 .testimonial-card:nth-child(2), .testimonials-v2 .testimonial-card:nth-child(3) { display: none; }
  .testimonials-v2 .testimonial-card > p { font-size: 16px; }
  .testimonials-v2 .client-row { grid-template-columns: 42px minmax(0, 1fr); }
  .testimonials-v2 .client-row b { grid-column: 2; width: max-content; margin-top: -2px; }
  .testimonials-v2 .slider-button { top: calc(50% - 20px); width: 38px; height: 38px; }
  .testimonials-v2 .slider-button.prev { left: -16px; }
  .testimonials-v2 .slider-button.next { right: -16px; }
  .team-showcase-section { padding-top: 18px; padding-bottom: 58px; }
  .team-showcase { width: min(100% - 16px, 520px); padding: 27px 20px; border-radius: 18px; }
  .team-showcase-header .button { width: 100%; }
  .team-showcase-grid { grid-template-columns: 1fr; }
  .team-profile-card { display: grid; grid-template-columns: 118px 1fr; align-items: center; gap: 17px; padding: 10px 16px 10px 10px; }
  .team-profile-card .team-photo { height: 128px; margin: 0; }
  .team-profile-card .team-photo::before { bottom: -19px; width: 88px; height: 88px; }
  .team-profile-card .team-photo::after { top: 22px; width: 48px; height: 54px; box-shadow: inset 0 11px 0 #26332c; }
  .team-profile-card .team-photo.mint::after, .team-profile-card .team-photo.rose::after { box-shadow: inset 0 12px 0 #442d22; }
  .team-profile-meta h3 { font-size: 17px; }
  .team-profile-meta p { font-size: 13.5px; }
  .team-showcase-footer p { font-size: 13.5px; }
}

/* Version 1.3 — database-managed portfolio showcase. */
.portfolio-work-section {
  padding-top: 78px;
  padding-bottom: 82px;
  scroll-margin-top: 82px;
  background:
    radial-gradient(circle at 92% 8%, rgba(59, 184, 87, .09), transparent 24%),
    linear-gradient(180deg, #fbfdfb 0%, #f6faf7 100%);
}
.portfolio-panel {
  position: relative;
  padding: 42px;
  overflow: hidden;
  border: 1px solid #dbe7de;
  border-radius: 22px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 25px 75px rgba(24, 76, 42, .08);
}
.portfolio-panel::before {
  content: "";
  position: absolute;
  right: -135px;
  top: -145px;
  width: 380px;
  height: 380px;
  border: 1px solid rgba(53, 177, 81, .15);
  border-radius: 50%;
  box-shadow: 0 0 0 26px rgba(53, 177, 81, .025), 0 0 0 52px rgba(53, 177, 81, .018);
  pointer-events: none;
}
.portfolio-intro {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 30px;
}
.portfolio-intro > div:first-child { max-width: 700px; }
.portfolio-intro h2 {
  margin: 0;
  font-size: clamp(35px, 3.6vw, 49px);
  line-height: 1.1;
  letter-spacing: -.052em;
}
.portfolio-intro > div:first-child > p:last-child {
  max-width: 650px;
  margin: 15px 0 0;
  color: #56645b;
  font-size: 17px;
  line-height: 1.7;
}
.portfolio-count {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 205px;
  padding: 18px 20px;
  border: 1px solid #d5e4d9;
  border-radius: 14px;
  background: rgba(248, 252, 249, .92);
}
.portfolio-count strong { color: var(--green-dark); font-size: 38px; line-height: 1; letter-spacing: -.055em; }
.portfolio-count span { margin-left: 14px; padding-left: 14px; border-left: 1px solid #d6e4da; color: #657169; font-size: 12px; line-height: 1.45; }
.portfolio-toolbar {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
  padding: 9px;
  border: 1px solid #dce8df;
  border-radius: 13px;
  background: #f5f9f6;
}
.portfolio-toolbar button {
  min-height: 41px;
  padding: 0 17px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #526057;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.portfolio-toolbar button:hover { color: var(--green-dark); background: #fff; }
.portfolio-toolbar button.active { color: #fff; border-color: var(--green); background: var(--green); box-shadow: 0 8px 18px rgba(39, 158, 70, .18); }
.portfolio-db-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.portfolio-db-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid #dbe6de;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 11px 30px rgba(24, 76, 42, .05);
  transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}
.portfolio-db-card[hidden] { display: none !important; }
.portfolio-db-card:hover { transform: translateY(-7px); border-color: #b8d8c0; box-shadow: 0 23px 48px rgba(24, 76, 42, .12); }
.portfolio-db-visual { position: relative; height: 226px; overflow: hidden; background: #edf4ef; }
.portfolio-db-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9, 33, 19, 0) 55%, rgba(9, 33, 19, .18)); pointer-events: none; }
.portfolio-db-visual > img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.portfolio-db-card:hover .portfolio-db-visual > img { transform: scale(1.045); }
.portfolio-db-badges { position: absolute; z-index: 3; top: 13px; left: 13px; right: 13px; display: flex; justify-content: space-between; gap: 8px; }
.portfolio-db-badges span { padding: 6px 9px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; color: #f4fbf6; background: rgba(11, 48, 27, .72); backdrop-filter: blur(8px); font-size: 10px; font-weight: 750; letter-spacing: .035em; }
.portfolio-db-fallback { display: grid; place-items: center; width: 100%; height: 100%; padding: 25px; text-align: center; color: #eaf8ed; background: radial-gradient(circle at 70% 20%, rgba(90, 218, 119, .35), transparent 30%), linear-gradient(140deg, #0b2919, #196037); }
.tone-1 .portfolio-db-fallback { background: radial-gradient(circle at 75% 15%, rgba(99, 175, 245, .3), transparent 32%), linear-gradient(140deg, #0d2b3f, #205778); }
.tone-2 .portfolio-db-fallback { background: radial-gradient(circle at 76% 16%, rgba(187, 127, 241, .3), transparent 32%), linear-gradient(140deg, #23133f, #583a77); }
.tone-3 .portfolio-db-fallback { background: radial-gradient(circle at 73% 18%, rgba(244, 181, 85, .28), transparent 32%), linear-gradient(140deg, #352413, #71512b); }
.portfolio-db-fallback span { display: block; color: #60d87d; font-size: 62px; font-style: italic; font-weight: 950; line-height: .7; transform: skewX(-9deg); }
.portfolio-db-fallback strong { display: block; max-width: 220px; margin-top: -28px; color: #fff; font-size: 20px; line-height: 1.25; }
.portfolio-db-body { display: flex; flex: 1; flex-direction: column; padding: 21px 20px 20px; }
.portfolio-db-body h3 { margin: 0; font-size: 19px; line-height: 1.3; letter-spacing: -.025em; }
.portfolio-db-body > p { min-height: 82px; margin: 11px 0 18px; color: #5b685f; font-size: 14.5px; line-height: 1.66; }
.portfolio-db-footer { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 16px; border-top: 1px solid #e6eee8; }
.portfolio-tech-list { display: flex; flex-wrap: wrap; gap: 5px; }
.portfolio-tech-list span { padding: 5px 8px; border-radius: 6px; color: #4d5d53; background: #edf5ef; font-size: 10.5px; font-weight: 680; }
.portfolio-db-footer > a { flex: 0 0 auto; color: var(--green-dark); font-size: 12px; font-weight: 760; }
.portfolio-db-footer > a:hover { color: var(--green); }
.portfolio-load-more { display: flex; min-width: 220px; margin: 27px auto 0; }
.portfolio-load-more[hidden] { display: none !important; }
.portfolio-empty { position: relative; z-index: 2; padding: 36px; border: 1px dashed #bed3c3; border-radius: 14px; text-align: center; background: #f8fbf9; }
.portfolio-empty strong { font-size: 19px; }.portfolio-empty p { margin: 8px 0 0; color: #68756d; font-size: 14px; }

@media (max-width: 900px) {
  .portfolio-panel { padding: 34px; }
  .portfolio-intro { align-items: start; }
  .portfolio-db-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-db-visual { height: 240px; }
}

@media (max-width: 700px) {
  .portfolio-intro { flex-direction: column; gap: 22px; }
  .portfolio-count { min-width: 0; }
}

@media (max-width: 620px) {
  .portfolio-work-section { padding-top: 50px; padding-bottom: 54px; }
  .portfolio-panel { width: min(100% - 16px, 520px); padding: 27px 20px; border-radius: 18px; }
  .portfolio-intro h2 { font-size: 35px; }
  .portfolio-intro > div:first-child > p:last-child { font-size: 16px; }
  .portfolio-count { width: 100%; }
  .portfolio-toolbar { flex-wrap: nowrap; margin-right: -20px; margin-left: -20px; padding-right: 20px; padding-left: 20px; overflow-x: auto; border-right: 0; border-left: 0; border-radius: 0; scrollbar-width: none; }
  .portfolio-toolbar::-webkit-scrollbar { display: none; }
  .portfolio-toolbar button { flex: 0 0 auto; }
  .portfolio-db-grid { grid-template-columns: 1fr; }
  .portfolio-db-visual { height: 225px; }
  .portfolio-db-body > p { min-height: 0; font-size: 15px; }
  .portfolio-load-more { width: 100%; }
}

/* Version 1.4 — database-managed Services library and detail pages. */
.services-library,
.service-detail { overflow: hidden; }
.services-library-hero,
.service-detail-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #e2ebe4;
  background:
    radial-gradient(circle at 78% 18%, rgba(67, 189, 96, .14), transparent 26%),
    linear-gradient(180deg, #fbfefc 0%, #f6faf7 100%);
}
.services-library-hero::before,
.service-detail-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .32;
  background-image: radial-gradient(rgba(39, 142, 65, .27) .65px, transparent .65px);
  background-size: 18px 18px;
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000 80%, transparent);
  pointer-events: none;
}
.services-library-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: .94fr 1.06fr;
  align-items: center;
  min-height: 660px;
  padding-top: 68px;
  padding-bottom: 72px;
}
.services-library-copy { position: relative; z-index: 3; max-width: 580px; }
.services-library-copy h1,
.service-detail-copy h1 {
  margin: 0;
  font-size: clamp(49px, 5.1vw, 70px);
  line-height: 1.01;
  letter-spacing: -.062em;
  font-weight: 735;
}
.services-library-copy h1 em { color: var(--green); font-style: normal; }
.services-library-copy > p:not(.eyebrow) {
  max-width: 555px;
  margin: 25px 0 29px;
  color: #4f5e54;
  font-size: 18px;
  line-height: 1.72;
}
.services-library-actions,
.service-detail-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; }
.services-library-proof { display: flex; gap: 0; margin-top: 52px; }
.services-library-proof > div { display: flex; align-items: center; min-width: 146px; padding-right: 23px; }
.services-library-proof > div + div { padding-left: 23px; border-left: 1px solid #d8e5db; }
.services-library-proof strong { color: #163c24; font-size: 28px; line-height: 1; letter-spacing: -.05em; }
.services-library-proof span { margin-left: 11px; color: #6b776f; font-size: 11px; line-height: 1.42; }
.services-library-visual { position: relative; height: 520px; }
.services-library-visual::before {
  content: "";
  position: absolute;
  left: 10%;
  right: -9%;
  bottom: 21px;
  height: 220px;
  transform: perspective(450px) rotateX(64deg);
  background-image: linear-gradient(rgba(43, 158, 70, .23) 1px, transparent 1px), linear-gradient(90deg, rgba(43, 158, 70, .23) 1px, transparent 1px);
  background-size: 39px 39px;
  mask-image: radial-gradient(ellipse, #000 22%, transparent 72%);
}
.service-orbit { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(44, 170, 76, .24); border-radius: 50%; transform: translate(-50%, -50%) rotate(-9deg); }
.service-orbit-one { width: 530px; height: 340px; }
.service-orbit-two { width: 390px; height: 255px; border-style: dashed; border-color: rgba(44, 170, 76, .18); transform: translate(-50%, -50%) rotate(10deg); }
.service-hub {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 186px;
  height: 186px;
  border: 1px solid rgba(215, 229, 218, .9);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: linear-gradient(145deg, #fff 35%, #edf4ef);
  box-shadow: -24px 30px 45px rgba(26, 94, 46, .13), inset 11px 13px 24px #fff, 0 0 0 18px rgba(255,255,255,.55);
}
.service-hub span { margin-top: 4px; color: #38b759; font-size: 76px; font-weight: 950; font-style: italic; line-height: .8; letter-spacing: -.13em; transform: skewX(-9deg); }
.service-hub small { margin-top: -26px; color: #607069; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.service-node {
  position: absolute;
  z-index: 5;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  min-width: 180px;
  padding: 14px;
  border: 1px solid rgba(215, 229, 218, .92);
  border-radius: 14px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 16px 40px rgba(24, 77, 41, .1);
  backdrop-filter: blur(9px);
}
.service-node i { grid-row: 1 / 3; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #fff; background: var(--green-dark); font-size: 10px; font-style: normal; font-weight: 800; }
.service-node strong { margin-left: 10px; font-size: 14px; line-height: 1.25; }
.service-node small { margin-left: 10px; color: #7a867e; font-size: 9px; }
.node-strategy { left: 1%; top: 104px; }
.node-build { right: -2%; top: 156px; }
.node-grow { left: 9%; bottom: 83px; }
.service-signal { position: absolute; z-index: 6; width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 7px rgba(46, 170, 80, .1); }
.signal-one { left: 20%; top: 69px; }.signal-two { right: 11%; top: 76px; }.signal-three { right: 13%; bottom: 82px; }

.service-catalog { padding-top: 94px; padding-bottom: 96px; scroll-margin-top: 70px; }
.service-catalog-heading,
.service-capabilities-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 70px; margin-bottom: 43px; }
.service-catalog-heading h2,
.service-capabilities-heading h2 { margin: 0; font-size: clamp(37px, 4.1vw, 53px); line-height: 1.08; letter-spacing: -.054em; }
.service-catalog-heading > p,
.service-capabilities-heading > p { margin: 0 0 5px; color: #5a685f; font-size: 16.5px; line-height: 1.72; }
.service-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.service-library-card {
  --service-accent: #2eaa50;
  position: relative;
  display: flex;
  min-height: 406px;
  overflow: hidden;
  flex-direction: column;
  padding: 32px;
  border: 1px solid #dae6dd;
  border-radius: 19px;
  background: linear-gradient(145deg, #fff 65%, color-mix(in srgb, var(--service-accent) 6%, white));
  box-shadow: 0 10px 35px rgba(30, 75, 43, .045);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.service-library-card::before { content: ""; position: absolute; top: -60px; right: -60px; width: 180px; height: 180px; border: 1px solid color-mix(in srgb, var(--service-accent) 22%, white); border-radius: 50%; box-shadow: 0 0 0 24px color-mix(in srgb, var(--service-accent) 3%, transparent), 0 0 0 48px color-mix(in srgb, var(--service-accent) 2%, transparent); }
.service-library-card:hover { z-index: 2; transform: translateY(-7px); border-color: color-mix(in srgb, var(--service-accent) 38%, white); box-shadow: 0 24px 55px rgba(25, 77, 41, .11); }
.accent-teal { --service-accent: #159f91; }.accent-blue { --service-accent: #3686d3; }.accent-violet { --service-accent: #7857c7; }.accent-gold { --service-accent: #c98b2d; }.accent-rose { --service-accent: #c75f77; }
.service-library-card-link { position: absolute; z-index: 8; inset: 0; }
.service-library-card-top { position: relative; z-index: 2; display: flex; align-items: start; justify-content: space-between; }
.service-library-icon { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid color-mix(in srgb, var(--service-accent) 17%, white); border-radius: 15px; color: var(--service-accent); background: color-mix(in srgb, var(--service-accent) 9%, white); font-size: 14px; font-weight: 850; letter-spacing: -.04em; }
.service-library-card-top small { color: color-mix(in srgb, var(--service-accent) 75%, #6d7770); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.service-library-card h3 { position: relative; z-index: 2; max-width: 420px; margin: 29px 0 13px; font-size: 27px; line-height: 1.18; letter-spacing: -.035em; }
.service-library-card > p { position: relative; z-index: 2; max-width: 500px; margin: 0; color: #5c6961; font-size: 15.5px; line-height: 1.68; }
.service-library-features { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 7px; margin: 23px 0 25px; }
.service-library-features span { padding: 7px 10px; border: 1px solid #e1eae3; border-radius: 999px; color: #536158; background: rgba(255,255,255,.72); font-size: 10.5px; font-weight: 650; }
.service-library-card-footer { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 18px; border-top: 1px solid #e3ebe5; color: var(--service-accent); font-size: 12px; font-weight: 800; }
.service-library-card-footer b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: #fff; background: var(--service-accent); font-size: 14px; transition: transform .3s ease; }
.service-library-card:hover .service-library-card-footer b { transform: rotate(45deg); }

.service-method { padding: 28px 0 92px; }
.service-method-shell { display: grid; grid-template-columns: .78fr 1.22fr; gap: 58px; padding: 48px; border: 1px solid #d9e6dc; border-radius: 22px; background: linear-gradient(145deg, #f5faf6, #fff); box-shadow: 0 22px 65px rgba(25, 75, 41, .07); }
.service-method-intro h2 { margin: 0; font-size: 38px; line-height: 1.13; letter-spacing: -.048em; }
.service-method-intro > p:last-child { margin: 17px 0 0; color: #5b6960; font-size: 15px; line-height: 1.68; }
.service-method-steps { display: grid; grid-template-columns: repeat(3, 1fr); }
.service-method-steps > div { padding: 2px 24px; }
.service-method-steps > div + div { border-left: 1px solid #dce7df; }
.service-method-steps span { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .11em; }
.service-method-steps h3 { margin: 25px 0 11px; font-size: 18px; line-height: 1.3; }
.service-method-steps p { margin: 0; color: #626f67; font-size: 13px; line-height: 1.65; }

.service-cta { padding-top: 24px; padding-bottom: 90px; }
.service-cta-shell { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 245px; overflow: hidden; padding: 48px 52px; border-radius: 22px; color: #fff; background: radial-gradient(circle at 75% 30%, rgba(76, 211, 108, .23), transparent 24%), linear-gradient(135deg, #0b2b1a, #155a31); box-shadow: 0 26px 65px rgba(15, 76, 35, .18); }
.service-cta-shell > div:first-child { position: relative; z-index: 3; }
.service-cta .eyebrow { color: #74df8d; }
.service-cta h2 { margin: 0; font-size: clamp(34px, 4vw, 48px); line-height: 1.08; letter-spacing: -.052em; }
.service-cta p:not(.eyebrow) { margin: 14px 0 0; color: #c7dacd; font-size: 15.5px; }
.service-cta .button { position: relative; z-index: 3; flex: 0 0 auto; min-height: 52px; padding-inline: 25px; background: #fff; color: #155a31; box-shadow: none; }
.service-cta-rings { position: absolute; right: -75px; top: -120px; width: 410px; height: 410px; }
.service-cta-rings i { position: absolute; inset: 0; border: 1px solid rgba(133, 226, 154, .18); border-radius: 50%; }.service-cta-rings i:nth-child(2) { inset: 45px; }.service-cta-rings i:nth-child(3) { inset: 90px; }

/* Individual service pages. */
.service-detail-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; min-height: 635px; padding-top: 70px; padding-bottom: 75px; }
.service-detail-copy { position: relative; z-index: 3; max-width: 640px; }
.service-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 65px; color: #77827b; font-size: 11px; }
.service-breadcrumbs a:hover { color: var(--green-dark); }.service-breadcrumbs b { color: #34453a; font-weight: 670; }
.service-detail-copy h1 { font-size: clamp(48px, 5.3vw, 72px); }
.service-detail-intro { max-width: 620px; margin: 24px 0 28px; color: #506057; font-size: 18px; line-height: 1.72; }
.service-text-link { color: var(--green-dark); font-size: 13px; font-weight: 750; }
.service-detail-visual { position: relative; height: 480px; margin-left: 45px; overflow: hidden; border: 1px solid #d8e6dc; border-radius: 35px; background: radial-gradient(circle at 64% 35%, color-mix(in srgb, var(--service-accent, #2eaa50) 18%, transparent), transparent 28%), linear-gradient(145deg, #fff, #edf5ef); box-shadow: 0 32px 70px rgba(25, 82, 43, .12); }
.service-detail-visual > img { width: 100%; height: 100%; object-fit: cover; }
.service-detail-visual-grid { position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(41, 148, 67, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(41, 148, 67, .14) 1px, transparent 1px); background-size: 32px 32px; mask-image: radial-gradient(circle, #000, transparent 75%); }
.service-detail-orb { position: absolute; left: 50%; top: 49%; display: grid; place-items: center; width: 205px; height: 205px; border: 1px solid #dbe7de; border-radius: 50%; transform: translate(-50%, -50%); background: rgba(255,255,255,.86); box-shadow: 0 25px 55px rgba(25, 83, 43, .13), inset 9px 11px 22px #fff, 0 0 0 20px rgba(255,255,255,.38); backdrop-filter: blur(8px); }
.service-detail-orb span { margin-top: 12px; color: var(--service-accent, #2eaa50); font-size: 46px; font-weight: 900; letter-spacing: -.08em; }
.service-detail-orb small { margin-top: -35px; color: #66736b; text-align: center; font-size: 8px; font-weight: 800; line-height: 1.5; letter-spacing: .11em; }
.service-detail-chip { position: absolute; z-index: 4; display: flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid #d9e6dc; border-radius: 11px; background: rgba(255,255,255,.9); box-shadow: 0 13px 32px rgba(25, 81, 42, .1); font-size: 11px; font-weight: 700; }
.service-detail-chip i { width: 7px; height: 7px; border-radius: 50%; background: var(--service-accent, #2eaa50); box-shadow: 0 0 0 5px color-mix(in srgb, var(--service-accent, #2eaa50) 10%, transparent); }
.chip-one { left: 30px; top: 60px; }.chip-two { right: 25px; top: 155px; }.chip-three { left: 39px; bottom: 58px; }

.service-detail-overview { padding-top: 100px; padding-bottom: 104px; }
.service-overview-grid { display: grid; grid-template-columns: 340px 1fr; align-items: start; gap: 82px; }
.service-detail-aside { position: sticky; top: 100px; padding: 30px; border: 1px solid #dbe7de; border-radius: 18px; background: linear-gradient(145deg, #f6faf7, #fff); box-shadow: 0 15px 40px rgba(26, 72, 39, .055); }
.service-detail-aside-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; color: var(--service-accent, #2eaa50); background: color-mix(in srgb, var(--service-accent, #2eaa50) 9%, white); font-size: 14px; font-weight: 850; }
.service-detail-aside h2 { margin: 23px 0 19px; font-size: 25px; line-height: 1.22; letter-spacing: -.035em; }
.service-detail-aside ul { display: grid; gap: 12px; margin: 0 0 24px; padding: 0; list-style: none; }
.service-detail-aside li { display: grid; grid-template-columns: 22px 1fr; color: #58665d; font-size: 13.5px; line-height: 1.5; }
.service-detail-aside li i { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #fff; background: var(--service-accent, #2eaa50); font-size: 10px; font-style: normal; }
.service-detail-aside > a { display: flex; justify-content: space-between; padding-top: 19px; border-top: 1px solid #dee8e1; color: var(--green-dark); font-size: 12px; font-weight: 800; }
.service-detail-content { max-width: 690px; }
.service-detail-content > h2 { margin: 0 0 23px; font-size: clamp(37px, 4vw, 50px); line-height: 1.08; letter-spacing: -.054em; }
.service-prose { color: #4f5e55; font-size: 17px; line-height: 1.82; }
.service-prose > *:first-child { margin-top: 0; }.service-prose p { margin: 0 0 20px; }.service-prose h2,.service-prose h3,.service-prose h4 { margin: 37px 0 13px; color: var(--ink); letter-spacing: -.03em; }.service-prose ul { display: grid; gap: 10px; padding-left: 21px; }

.service-capabilities { padding-top: 90px; padding-bottom: 98px; background: #f7faf8; border-top: 1px solid #e2ebe4; border-bottom: 1px solid #e2ebe4; }
.service-capabilities-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d9e5dc; border-left: 1px solid #d9e5dc; border-radius: 17px; overflow: hidden; background: #fff; }
.service-capabilities-grid > div { position: relative; min-height: 168px; padding: 27px; border-right: 1px solid #d9e5dc; border-bottom: 1px solid #d9e5dc; transition: color .25s ease, background .25s ease; }
.service-capabilities-grid > div:hover { color: #fff; background: var(--service-accent, #2eaa50); }
.service-capabilities-grid span { font-size: 10px; font-weight: 800; letter-spacing: .11em; opacity: .7; }
.service-capabilities-grid h3 { max-width: 230px; margin: 35px 0 0; font-size: 19px; line-height: 1.25; letter-spacing: -.025em; }
.service-capabilities-grid i { position: absolute; right: 22px; top: 22px; display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid #dbe6de; border-radius: 50%; color: var(--service-accent, #2eaa50); font-style: normal; }.service-capabilities-grid > div:hover i { border-color: rgba(255,255,255,.4); color: #fff; }

.service-process { padding-top: 96px; padding-bottom: 100px; }
.service-process-shell { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.service-process-heading h2 { margin: 0; font-size: 46px; line-height: 1.09; letter-spacing: -.055em; }
.service-process-heading > p:last-child { max-width: 360px; margin: 18px 0 0; color: #5b6960; font-size: 15px; line-height: 1.7; }
.service-process-list { position: relative; }
.service-process-list::before { content: ""; position: absolute; left: 20px; top: 30px; bottom: 30px; width: 1px; background: #cfe0d3; }
.service-process-list > div { position: relative; display: grid; grid-template-columns: 42px 190px 1fr; align-items: start; gap: 22px; padding: 0 0 36px; }
.service-process-list > div:last-child { padding-bottom: 0; }
.service-process-list span { position: relative; z-index: 2; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #cfe0d3; border-radius: 50%; color: var(--service-accent, #2eaa50); background: #fff; font-size: 10px; font-weight: 850; }
.service-process-list h3 { margin: 9px 0 0; font-size: 18px; line-height: 1.35; }
.service-process-list p { margin: 6px 0 0; color: #5c6a61; font-size: 14px; line-height: 1.68; }

.service-faq { padding-top: 94px; padding-bottom: 100px; background: #f7faf8; border-top: 1px solid #e2ebe4; }
.service-faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; }
.service-faq-heading h2 { margin: 0; font-size: 45px; line-height: 1.1; letter-spacing: -.052em; }
.service-faq-heading p:not(.eyebrow) { max-width: 350px; margin: 18px 0; color: #5e6b63; font-size: 15px; line-height: 1.7; }
.service-faq-heading a { color: var(--green-dark); font-size: 13px; font-weight: 780; }
.service-faq-list { border-top: 1px solid #d7e3da; }
.service-faq-list details { border-bottom: 1px solid #d7e3da; }
.service-faq-list summary { display: grid; grid-template-columns: 35px 1fr 25px; gap: 17px; align-items: center; padding: 23px 0; cursor: pointer; font-size: 16px; font-weight: 720; list-style: none; }
.service-faq-list summary::-webkit-details-marker { display: none; }
.service-faq-list summary span { color: var(--service-accent, #2eaa50); font-size: 10px; letter-spacing: .1em; }
.service-faq-list summary i { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #fff; background: var(--service-accent, #2eaa50); font-size: 15px; font-style: normal; font-weight: 400; transition: transform .2s ease; }
.service-faq-list details[open] summary i { transform: rotate(45deg); }
.service-faq-list details > p { margin: -4px 42px 25px 52px; color: #5c6961; font-size: 14.5px; line-height: 1.72; }

.related-services { padding-top: 88px; padding-bottom: 84px; }
.related-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.related-services-grid > a { position: relative; display: grid; grid-template-columns: 49px 1fr 25px; align-items: start; gap: 14px; padding: 24px; border: 1px solid #dce7df; border-radius: 15px; background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.related-services-grid > a:hover { transform: translateY(-5px); border-color: #bcd8c3; box-shadow: 0 18px 42px rgba(25, 75, 40, .09); }
.related-services-grid > a > span { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 12px; color: var(--green-dark); background: var(--green-soft); font-size: 11px; font-weight: 850; }
.related-services-grid h3 { margin: 3px 0 8px; font-size: 17px; line-height: 1.27; }
.related-services-grid p { margin: 0; color: #657169; font-size: 12px; line-height: 1.55; }.related-services-grid > a > i { color: var(--green-dark); font-style: normal; }

@media (max-width: 1050px) {
  .services-library-grid { grid-template-columns: 1fr 1fr; }
  .services-library-copy h1 { font-size: 56px; }
  .services-library-visual { transform: scale(.88); transform-origin: right center; }
  .service-detail-visual { margin-left: 25px; }
  .service-overview-grid { gap: 55px; }
  .service-process-shell, .service-faq-grid { gap: 58px; }
}

@media (max-width: 900px) {
  .services-library-grid { grid-template-columns: 1fr; padding-top: 78px; }
  .services-library-copy { max-width: 680px; }
  .services-library-visual { width: min(100%, 650px); margin: 10px auto -25px; transform: none; }
  .service-catalog-heading, .service-capabilities-heading { grid-template-columns: 1fr; gap: 22px; }
  .service-catalog-heading > p, .service-capabilities-heading > p { max-width: 650px; }
  .service-method-shell { grid-template-columns: 1fr; }
  .service-detail-hero-grid { grid-template-columns: 1fr; padding-top: 58px; }
  .service-breadcrumbs { margin-bottom: 45px; }
  .service-detail-copy { max-width: 700px; }
  .service-detail-visual { width: min(100%, 650px); height: 440px; margin: 50px auto 0; }
  .service-overview-grid { grid-template-columns: 1fr; }
  .service-detail-aside { position: relative; top: auto; display: grid; grid-template-columns: 58px 1fr; column-gap: 20px; }
  .service-detail-aside h2 { margin: 8px 0; }.service-detail-aside ul, .service-detail-aside > a { grid-column: 1 / -1; }
  .service-capabilities-grid { grid-template-columns: repeat(2, 1fr); }
  .service-process-shell, .service-faq-grid { grid-template-columns: 1fr; }
  .service-process-heading > p:last-child, .service-faq-heading p:not(.eyebrow) { max-width: 600px; }
  .related-services-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .service-catalog-grid { grid-template-columns: 1fr; }
  .service-method-steps { grid-template-columns: 1fr; gap: 25px; }
  .service-method-steps > div { padding: 0; }.service-method-steps > div + div { padding-top: 25px; border-top: 1px solid #dce7df; border-left: 0; }
  .service-cta-shell { align-items: flex-start; flex-direction: column; gap: 30px; }
  .service-process-list > div { grid-template-columns: 42px 1fr; }.service-process-list p { grid-column: 2; margin-top: -11px; }
}

@media (max-width: 620px) {
  .services-library-grid { width: min(100% - 28px, 520px); min-height: 0; padding-top: 54px; padding-bottom: 45px; }
  .services-library-copy h1, .service-detail-copy h1 { font-size: 43px; }
  .services-library-copy > p:not(.eyebrow), .service-detail-intro { font-size: 16.5px; }
  .services-library-actions .button, .service-detail-actions .button { width: 100%; }
  .services-library-proof { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 38px; }
  .services-library-proof > div { display: block; min-width: 0; padding: 0 10px 0 0; }.services-library-proof > div + div { padding-left: 10px; }
  .services-library-proof strong { display: block; font-size: 24px; }.services-library-proof span { display: block; margin: 7px 0 0; }
  .services-library-visual { height: 390px; margin-top: 22px; transform: scale(.92); }
  .service-orbit-one { width: 430px; height: 270px; }.service-orbit-two { width: 330px; height: 210px; }.service-hub { width: 145px; height: 145px; }.service-hub span { font-size: 59px; }.service-hub small { margin-top: -21px; font-size: 6px; }
  .service-node { min-width: 144px; padding: 10px; }.service-node i { width: 28px; height: 28px; }.service-node strong { font-size: 11px; }.service-node small { font-size: 7px; }.node-strategy { left: -8%; top: 67px; }.node-build { right: -10%; top: 130px; }.node-grow { left: -1%; bottom: 55px; }
  .service-catalog { padding-top: 65px; padding-bottom: 68px; }
  .service-catalog-heading h2, .service-capabilities-heading h2 { font-size: 36px; }
  .service-library-card { min-height: 385px; padding: 25px; }.service-library-card h3 { font-size: 24px; }.service-library-card > p { font-size: 15px; }
  .service-method { padding-bottom: 68px; }.service-method-shell { width: min(100% - 28px, 520px); padding: 28px 24px; border-radius: 18px; }.service-method-intro h2 { font-size: 34px; }
  .service-cta { padding-bottom: 65px; }.service-cta-shell { width: min(100% - 28px, 520px); min-height: 300px; padding: 34px 25px; border-radius: 18px; }.service-cta h2 { font-size: 35px; }.service-cta p:not(.eyebrow) { font-size: 14.5px; }.service-cta .button { width: 100%; }
  .service-detail-hero-grid { width: min(100% - 28px, 520px); padding-top: 40px; padding-bottom: 55px; }.service-breadcrumbs { margin-bottom: 38px; }
  .service-detail-visual { height: 365px; margin-top: 38px; border-radius: 24px; }.service-detail-orb { width: 145px; height: 145px; }.service-detail-orb span { font-size: 34px; }.service-detail-orb small { margin-top: -25px; font-size: 6px; }.service-detail-chip { padding: 9px 10px; font-size: 9px; }.chip-one { left: 15px; top: 38px; }.chip-two { right: 13px; top: 120px; }.chip-three { left: 22px; bottom: 44px; }
  .service-detail-overview { padding-top: 65px; padding-bottom: 70px; }.service-overview-grid { width: min(100% - 28px, 520px); gap: 45px; }.service-detail-content > h2 { font-size: 36px; }.service-prose { font-size: 16px; }
  .service-capabilities { padding-top: 65px; padding-bottom: 70px; }.service-capabilities-grid { grid-template-columns: 1fr; }.service-capabilities-grid > div { min-height: 145px; }
  .service-process, .service-faq { padding-top: 68px; padding-bottom: 72px; }.service-process-heading h2, .service-faq-heading h2 { font-size: 36px; }.service-process-list > div { gap: 16px; }.service-process-list h3 { font-size: 17px; }
  .service-faq-list summary { grid-template-columns: 25px 1fr 25px; gap: 10px; font-size: 15px; }.service-faq-list details > p { margin-right: 10px; margin-left: 35px; }
  .related-services { padding-top: 64px; padding-bottom: 62px; }.related-services-grid > a { grid-template-columns: 44px 1fr 20px; padding: 20px; }.related-services-grid > a > span { width: 44px; height: 44px; }
}

/* Version 1.5 — database-managed Life at RST page. */
.life-page { overflow: hidden; }
.life-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #e0ebe3;
  background:
    radial-gradient(circle at 74% 22%, rgba(57, 185, 87, .14), transparent 24%),
    linear-gradient(180deg, #fbfefc 0%, #f4faf6 100%);
}
.life-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .29;
  background-image: radial-gradient(rgba(41, 155, 69, .25) .65px, transparent .65px);
  background-size: 18px 18px;
  mask-image: linear-gradient(90deg, transparent, #000 46%, #000 83%, transparent);
}
.life-hero-glow { position: absolute; right: 4%; top: -170px; width: 620px; height: 620px; border-radius: 50%; background: rgba(69, 201, 100, .09); filter: blur(75px); }
.life-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; min-height: 735px; padding-top: 60px; padding-bottom: 72px; }
.life-hero-copy { position: relative; z-index: 4; max-width: 610px; }
.life-hero .service-breadcrumbs { margin-bottom: 65px; }
.life-hero h1 { margin: 0; font-size: clamp(50px, 5.3vw, 72px); line-height: 1.01; letter-spacing: -.063em; font-weight: 740; }
.life-hero h1 em { color: var(--green); font-style: normal; }
.life-hero-copy > p:not(.eyebrow) { max-width: 585px; margin: 24px 0 29px; color: #4f5e54; font-size: 17.5px; line-height: 1.75; }
.life-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.life-hero-proof { display: flex; margin-top: 48px; }
.life-hero-proof > div { display: flex; align-items: center; min-width: 155px; padding-right: 22px; }
.life-hero-proof > div + div { padding-left: 22px; border-left: 1px solid #d5e4d9; }
.life-hero-proof strong { color: #143e23; font-size: 29px; line-height: 1; letter-spacing: -.055em; }
.life-hero-proof span { margin-left: 11px; color: #6b776f; font-size: 10.5px; line-height: 1.45; }

.life-hero-collage { position: relative; height: 570px; margin-left: 45px; }
.life-collage-grid { position: absolute; left: 3%; right: -22%; bottom: -19px; height: 245px; opacity: .38; transform: perspective(520px) rotateX(62deg); background-image: linear-gradient(rgba(42, 161, 70, .21) 1px, transparent 1px), linear-gradient(90deg, rgba(42, 161, 70, .21) 1px, transparent 1px); background-size: 37px 37px; mask-image: radial-gradient(ellipse, #000 18%, transparent 72%); }
.life-collage-photo { position: absolute; overflow: hidden; margin: 0; border: 7px solid rgba(255,255,255,.96); border-radius: 22px; background: #eaf2ec; box-shadow: 0 25px 55px rgba(19, 74, 37, .16); }
.life-collage-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22,.61,.36,1); }
.life-collage-photo:hover img { transform: scale(1.04); }
.life-collage-1 { z-index: 3; left: 2%; top: 73px; width: 64%; height: 360px; transform: rotate(-2.6deg); }
.life-collage-2 { z-index: 4; right: -2%; top: 28px; width: 42%; height: 245px; transform: rotate(3.1deg); }
.life-collage-3 { z-index: 5; right: 3%; bottom: 45px; width: 42%; height: 230px; transform: rotate(1.5deg); }
.life-collage-note { position: absolute; z-index: 8; left: -20px; bottom: 16px; display: flex; align-items: center; gap: 13px; max-width: 315px; padding: 15px 18px; border: 1px solid #d7e5da; border-radius: 14px; background: rgba(255,255,255,.93); box-shadow: 0 16px 38px rgba(22, 75, 38, .11); backdrop-filter: blur(10px); }
.life-collage-note > span { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px; color: #fff; background: var(--green-dark); font-size: 17px; }
.life-collage-note small, .life-collage-note strong { display: block; }.life-collage-note small { margin-bottom: 3px; color: var(--green-dark); font-size: 8px; font-weight: 850; letter-spacing: .12em; }.life-collage-note strong { font-size: 11px; line-height: 1.4; }
.life-collage-orbit { position: absolute; z-index: -1; right: -95px; top: 10px; width: 470px; height: 470px; }.life-collage-orbit i { position: absolute; inset: 0; border: 1px solid rgba(49, 172, 78, .16); border-radius: 50%; }.life-collage-orbit i:nth-child(2) { inset: 35px; }.life-collage-orbit i:nth-child(3) { inset: 70px; border-style: dashed; }
.life-collage-fallback { position: absolute; inset: 70px 20px 60px; display: grid; place-items: center; border: 1px solid #d7e4da; border-radius: 28px; background: linear-gradient(145deg, #fff, #eaf5ed); }.life-collage-fallback span { color: var(--green); font-size: 70px; font-weight: 900; }.life-collage-fallback p { margin: -120px 0 0; color: #607068; }

.life-values { padding-top: 94px; padding-bottom: 88px; }
.life-values-shell { display: grid; grid-template-columns: .68fr 1.32fr; align-items: stretch; gap: 55px; }
.life-values-heading h2 { margin: 0; font-size: clamp(37px, 4vw, 49px); line-height: 1.1; letter-spacing: -.054em; }
.life-values-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #dae6dd; border-left: 1px solid #dae6dd; border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 18px 52px rgba(24, 75, 40, .06); }
.life-values-grid article { position: relative; min-height: 318px; padding: 27px 25px; border-right: 1px solid #dae6dd; border-bottom: 1px solid #dae6dd; transition: color .28s ease, background .28s ease; }
.life-values-grid article:hover { color: #fff; background: linear-gradient(145deg, #1c8e40, #12642e); }
.life-values-grid article > span { color: var(--green-dark); font-size: 10px; font-weight: 850; letter-spacing: .12em; }.life-values-grid article:hover > span { color: #8ce4a0; }
.life-values-grid article > i { position: absolute; right: 22px; top: 22px; display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid #d8e5db; border-radius: 12px; color: var(--green-dark); background: #f5faf6; font-size: 15px; font-style: normal; }.life-values-grid article:hover > i { border-color: rgba(255,255,255,.25); color: #fff; background: rgba(255,255,255,.09); }
.life-values-grid h3 { margin: 105px 0 12px; font-size: 20px; line-height: 1.25; letter-spacing: -.03em; }
.life-values-grid p { margin: 0; color: #627068; font-size: 13.5px; line-height: 1.68; }.life-values-grid article:hover p { color: #d3e6d8; }

.life-gallery-section { padding-top: 94px; padding-bottom: 102px; scroll-margin-top: 72px; border-top: 1px solid #e1ebe3; border-bottom: 1px solid #e1ebe3; background: #f7faf8; }
.life-gallery-heading { display: grid; grid-template-columns: 1.14fr .86fr; align-items: end; gap: 85px; margin-bottom: 38px; }
.life-gallery-heading h2 { margin: 0; font-size: clamp(40px, 4.5vw, 56px); line-height: 1.06; letter-spacing: -.059em; }.life-gallery-heading h2 em { font-style: normal; }
.life-gallery-heading > p { margin: 0 0 5px; color: #59675e; font-size: 16.5px; line-height: 1.75; }
.life-gallery-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; padding: 9px; border: 1px solid #dce8df; border-radius: 14px; background: #eef5f0; }
.life-gallery-toolbar button { display: inline-flex; align-items: center; gap: 8px; min-height: 43px; padding: 0 16px; border: 1px solid transparent; border-radius: 9px; color: #526057; background: transparent; font: inherit; font-size: 12px; font-weight: 720; cursor: pointer; transition: color .2s ease, background .2s ease, box-shadow .2s ease; }
.life-gallery-toolbar button span { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 999px; color: #6e7b72; background: rgba(255,255,255,.72); font-size: 9px; }
.life-gallery-toolbar button:hover { color: var(--green-dark); background: #fff; }.life-gallery-toolbar button.active { color: #fff; background: var(--green-dark); box-shadow: 0 9px 20px rgba(29, 139, 59, .18); }.life-gallery-toolbar button.active span { color: var(--green-dark); background: #fff; }
.life-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: dense; gap: 18px; }
.life-photo-card { position: relative; min-width: 0; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid #d9e4dc; border-radius: 17px; background: #eaf2ec; box-shadow: 0 10px 30px rgba(23, 72, 38, .055); }
.life-photo-card.is-wide { grid-column: span 2; aspect-ratio: 11 / 4; }.life-photo-card.is-tall { aspect-ratio: 4 / 3; }
.life-photo-card[hidden] { display: none !important; }
.life-photo-card > img { width: 100%; height: 100%; object-fit: cover; transition: transform .62s cubic-bezier(.22,.61,.36,1), filter .35s ease; }
.life-photo-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(7, 34, 17, .76) 100%); opacity: .74; transition: opacity .3s ease; pointer-events: none; }
.life-photo-card:hover > img { transform: scale(1.045); filter: saturate(1.06); }.life-photo-card:hover::after { opacity: 1; }
.life-photo-overlay { position: absolute; z-index: 3; left: 21px; right: 19px; bottom: 18px; display: grid; grid-template-columns: 1fr 35px; align-items: end; gap: 12px; color: #fff; pointer-events: none; }
.life-photo-overlay > span { grid-column: 1 / -1; width: max-content; max-width: 100%; padding: 6px 9px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; background: rgba(18, 64, 32, .45); backdrop-filter: blur(8px); font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.life-photo-overlay h3 { margin: 0; font-size: 18px; line-height: 1.25; letter-spacing: -.025em; }.life-photo-overlay p { margin: 4px 0 0; color: #d4e1d7; font-size: 10.5px; }
.life-photo-overlay > i { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: rgba(255,255,255,.1); font-style: normal; }
.life-photo-card > button { position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.life-photo-fallback { display: grid; place-items: center; width: 100%; height: 100%; color: #fff; background: linear-gradient(145deg, #0b2c1a, #1a7040); }.life-photo-fallback span { font-size: 45px; font-weight: 900; }

.life-principles { padding-top: 96px; padding-bottom: 96px; }
.life-principles-shell { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; overflow: hidden; padding: 54px; border-radius: 24px; color: #fff; background: radial-gradient(circle at 88% 12%, rgba(87, 221, 116, .19), transparent 24%), linear-gradient(135deg, #092719, #145a32); box-shadow: 0 28px 75px rgba(12, 64, 30, .18); }
.life-principles-copy { position: relative; z-index: 3; max-width: 475px; }.life-principles .eyebrow { color: #79dd90; }.life-principles-copy h2 { margin: 0; font-size: clamp(38px, 4vw, 50px); line-height: 1.08; letter-spacing: -.056em; }.life-principles-copy > p:not(.eyebrow) { margin: 20px 0 25px; color: #c9dbcf; font-size: 15.5px; line-height: 1.75; }.life-principles-copy > a { color: #8ee2a1; font-size: 13px; font-weight: 780; }
.life-principles-list { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); border-radius: 15px; overflow: hidden; }
.life-principles-list > div { min-height: 190px; padding: 24px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.035); backdrop-filter: blur(8px); }
.life-principles-list span { color: #76dc8e; font-size: 9px; font-weight: 850; letter-spacing: .12em; }.life-principles-list h3 { margin: 36px 0 9px; font-size: 17px; }.life-principles-list p { margin: 0; color: #bdcec2; font-size: 12.5px; line-height: 1.6; }
.life-principles-rings { position: absolute; right: -160px; bottom: -180px; width: 470px; height: 470px; }.life-principles-rings i { position: absolute; inset: 0; border: 1px solid rgba(119, 223, 143, .11); border-radius: 50%; }.life-principles-rings i:nth-child(2) { inset: 42px; }.life-principles-rings i:nth-child(3) { inset: 84px; }

.life-cta { padding-top: 20px; padding-bottom: 94px; }
.life-cta-shell { display: flex; align-items: center; justify-content: space-between; gap: 48px; min-height: 205px; padding: 42px 50px; border: 1px solid #dce8df; border-radius: 21px; background: radial-gradient(circle at 84% 20%, rgba(62, 190, 91, .1), transparent 25%), linear-gradient(145deg, #f5faf6, #fff); box-shadow: 0 22px 60px rgba(24, 74, 40, .07); }
.life-cta-shell > div:first-child { display: flex; align-items: center; gap: 28px; }.life-cta-mark { display: grid; place-items: center; flex: 0 0 auto; width: 76px; height: 76px; border-radius: 20px; color: #fff; background: linear-gradient(145deg, #3abb5a, #16883a); box-shadow: 0 14px 30px rgba(31, 145, 59, .23); font-size: 40px; font-style: italic; font-weight: 950; transform: skewX(-8deg); }.life-cta h2 { margin: 0; font-size: 35px; line-height: 1.1; letter-spacing: -.047em; }.life-cta p:not(.eyebrow) { margin: 11px 0 0; color: #606d65; font-size: 14px; }

.life-lightbox { width: min(1080px, calc(100% - 48px)); max-width: none; padding: 0; overflow: visible; border: 0; border-radius: 20px; color: #fff; background: transparent; }
.life-lightbox::backdrop { background: rgba(5, 18, 10, .9); backdrop-filter: blur(10px); }
.life-lightbox figure { position: relative; overflow: hidden; margin: 0; border-radius: 18px; background: #0b2012; box-shadow: 0 35px 90px rgba(0,0,0,.45); }
.life-lightbox figure > img { width: 100%; max-height: 78vh; object-fit: contain; background: #09150d; }
.life-lightbox figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 55px 28px 24px; background: linear-gradient(transparent, rgba(6, 24, 12, .88)); }.life-lightbox figcaption strong, .life-lightbox figcaption span { display: block; }.life-lightbox figcaption strong { font-size: 19px; }.life-lightbox figcaption span { margin-top: 6px; color: #c9d8cd; font-size: 12px; }
.life-lightbox-close, .life-lightbox-nav { position: absolute; z-index: 5; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; background: rgba(6, 33, 16, .68); backdrop-filter: blur(8px); cursor: pointer; }
.life-lightbox-close { right: -15px; top: -15px; width: 42px; height: 42px; font-size: 25px; }.life-lightbox-nav { top: 50%; width: 46px; height: 46px; font-size: 17px; }.life-lightbox-nav.prev { left: -23px; }.life-lightbox-nav.next { right: -23px; }.life-lightbox-open { overflow: hidden; }

@media (max-width: 1200px) and (min-width: 901px) {
  .main-nav { gap: 18px; }.main-nav a { font-size: 13px; }.nav-wrap { gap: 20px; }.nav-cta { margin-left: 0; padding-inline: 14px; }
}

@media (max-width: 1050px) {
  .life-hero-grid { grid-template-columns: 1fr 1fr; }.life-hero h1 { font-size: 56px; }.life-hero-collage { margin-left: 20px; transform: scale(.94); transform-origin: right center; }
  .life-values-shell { grid-template-columns: 1fr; }.life-values-heading { max-width: 680px; }
  .life-gallery-heading { gap: 50px; }
  .life-principles-shell { gap: 48px; padding: 45px; }
}

@media (max-width: 900px) {
  .life-hero-grid { grid-template-columns: 1fr; padding-top: 55px; }
  .life-hero-copy { max-width: 700px; }.life-hero .service-breadcrumbs { margin-bottom: 45px; }
  .life-hero-collage { width: min(100%, 680px); margin: 30px auto -15px; transform: none; }
  .life-gallery-heading { grid-template-columns: 1fr; gap: 22px; }.life-gallery-heading > p { max-width: 660px; }
  .life-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.life-photo-card.is-wide { grid-column: span 2; }
  .life-principles-shell { grid-template-columns: 1fr; }.life-principles-copy { max-width: 650px; }
  .life-cta-shell { align-items: flex-start; flex-direction: column; }.life-cta-shell > .button { margin-left: 104px; }
}

@media (max-width: 700px) {
  .life-values-grid { grid-template-columns: 1fr; }.life-values-grid article { min-height: 215px; }.life-values-grid h3 { margin-top: 55px; }
  .life-principles-list { grid-template-columns: 1fr; }.life-principles-list > div { min-height: 160px; }
}

@media (max-width: 620px) {
  .life-hero-grid { width: min(100% - 28px, 520px); min-height: 0; padding-top: 39px; padding-bottom: 47px; }.life-hero .service-breadcrumbs { margin-bottom: 36px; }.life-hero h1 { font-size: 43px; }.life-hero-copy > p:not(.eyebrow) { font-size: 16.5px; }.life-hero-actions .button { width: 100%; }
  .life-hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 38px; }.life-hero-proof > div { display: block; min-width: 0; padding: 0 8px 0 0; }.life-hero-proof > div + div { padding-left: 9px; }.life-hero-proof strong, .life-hero-proof span { display: block; }.life-hero-proof strong { font-size: 24px; }.life-hero-proof span { margin: 7px 0 0; font-size: 9px; }
  .life-hero-collage { height: 440px; margin-top: 32px; }.life-collage-1 { left: -3%; top: 67px; width: 71%; height: 278px; }.life-collage-2 { right: -7%; width: 45%; height: 185px; }.life-collage-3 { right: -3%; bottom: 34px; width: 48%; height: 172px; }.life-collage-note { left: -6px; bottom: 4px; max-width: 280px; padding: 11px 13px; }.life-collage-note > span { width: 32px; height: 32px; }.life-collage-note strong { font-size: 9px; }
  .life-values { padding-top: 67px; padding-bottom: 68px; }.life-values-shell { width: min(100% - 28px, 520px); gap: 32px; }.life-values-heading h2 { font-size: 36px; }.life-values-grid article { padding: 24px; }
  .life-gallery-section { padding-top: 66px; padding-bottom: 70px; }.life-gallery-heading h2 { font-size: 38px; }.life-gallery-heading > p { font-size: 15.5px; }
  .life-gallery-toolbar { flex-wrap: nowrap; margin-right: -14px; margin-left: -14px; padding-right: 14px; padding-left: 14px; overflow-x: auto; border-right: 0; border-left: 0; border-radius: 0; scrollbar-width: none; }.life-gallery-toolbar::-webkit-scrollbar { display: none; }.life-gallery-toolbar button { flex: 0 0 auto; }
  .life-gallery-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }.life-photo-card, .life-photo-card.is-wide, .life-photo-card.is-tall { grid-column: auto; aspect-ratio: 4 / 3; height: auto; }
  .life-principles { padding-top: 68px; padding-bottom: 66px; }.life-principles-shell { width: min(100% - 28px, 520px); padding: 30px 23px; border-radius: 19px; }.life-principles-copy h2 { font-size: 36px; }.life-principles-list > div { min-height: 145px; padding: 21px; }.life-principles-list h3 { margin-top: 25px; }
  .life-cta { padding-bottom: 68px; }.life-cta-shell { width: min(100% - 28px, 520px); padding: 29px 23px; }.life-cta-shell > div:first-child { align-items: flex-start; flex-direction: column; }.life-cta-mark { width: 60px; height: 60px; font-size: 32px; }.life-cta h2 { font-size: 33px; }.life-cta-shell > .button { width: 100%; margin-left: 0; }
  .life-lightbox { width: calc(100% - 24px); }.life-lightbox-close { right: 3px; top: -50px; }.life-lightbox-nav { top: auto; bottom: -56px; }.life-lightbox-nav.prev { left: calc(50% - 55px); }.life-lightbox-nav.next { right: calc(50% - 55px); }.life-lightbox figure > img { max-height: 72vh; }.life-lightbox figcaption { padding: 45px 18px 17px; }
}

/* Keep the v1.7 component overrides last in the cascade. */
.form-submit-row p a { color: var(--green-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.testimonials-v2 .testimonial-card { min-height: 340px; }
.footer-card { grid-template-columns: minmax(300px, .8fr) minmax(540px, 1.2fr); gap: 34px; min-height: 190px; padding: 34px 42px; }
.footer-links { grid-template-columns: .72fr .95fr 1.45fr; gap: 28px; }
@media (max-width: 1000px) {
  .footer-card { grid-template-columns: 1fr; gap: 30px; padding: 32px; }.footer-links { width: 100%; }
}
@media (max-width: 620px) {
  .testimonials-v2 .testimonial-card { min-height: 365px; }
  .footer-card { width: min(100% - 28px,500px); padding: 28px 23px; }
  .footer-links { grid-template-columns: 1fr; gap: 26px; }
}

/* Version 1.8 — contact lead capture, search, and 404 experience. */
.lead-form-assurance {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -4px 0 22px 61px;
}
.lead-form-assurance span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 27px;
  padding: 0 10px;
  border: 1px solid #d7e6db;
  border-radius: 999px;
  color: #536158;
  background: #f7fbf8;
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .03em;
}
.lead-form-assurance span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(43, 174, 73, .11);
}
.form-notice.warning { border-color: #eadfbd; color: #6f5610; background: #fffaf0; }

.rst-search-form { width: 100%; }
.rst-search-control {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 70px;
  padding: 8px 8px 8px 23px;
  border: 1px solid #d6e5da;
  border-radius: 15px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 20px 50px rgba(20, 72, 36, .1);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.rst-search-control:focus-within { border-color: #73c989; box-shadow: 0 22px 55px rgba(25, 125, 52, .14), 0 0 0 4px rgba(55, 181, 84, .08); }
.rst-search-control > svg { width: 22px; height: 22px; color: #298f47; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.rst-search-control input {
  width: 100%;
  height: 52px;
  min-width: 0;
  padding: 0 15px;
  border: 0;
  outline: 0;
  color: #101713;
  background: transparent;
  font: inherit;
  font-size: 15px;
}
.rst-search-control input::placeholder { color: #879189; opacity: 1; }
.rst-search-control button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-width: 142px;
  height: 52px;
  padding: 0 21px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #31b254, #17873a);
  box-shadow: 0 10px 24px rgba(29, 143, 59, .21);
  font: inherit;
  font-size: 12px;
  font-weight: 780;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.rst-search-control button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(29, 143, 59, .27); }

.search-page, .error-404-page { overflow: hidden; }
.search-hero {
  position: relative;
  overflow: hidden;
  padding: 93px 0 72px;
  border-bottom: 1px solid #dfeae2;
  background: radial-gradient(circle at 80% 20%, rgba(59, 193, 89, .13), transparent 27%), linear-gradient(180deg, #fbfefc, #f2f9f4);
}
.search-hero::before, .error-404-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .32;
  background-image: radial-gradient(rgba(43, 161, 70, .24) .65px, transparent .65px);
  background-size: 20px 20px;
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000 88%, transparent);
}
.search-hero-glow, .error-404-glow { position: absolute; right: 4%; top: -220px; width: 650px; height: 650px; border-radius: 50%; background: rgba(57, 197, 89, .1); filter: blur(75px); }
.search-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 90px; }
.search-hero-copy { max-width: 760px; }
.search-hero-copy h1 {
  margin: 0;
  font-size: clamp(50px, 5.3vw, 72px);
  line-height: 1.01;
  letter-spacing: -.062em;
  font-weight: 750;
}
.search-hero-copy h1 em { color: var(--green); font-style: normal; }
.search-hero-copy > p:not(.eyebrow) { max-width: 620px; margin: 24px 0 0; color: #526057; font-size: 17px; line-height: 1.72; }
.search-count-card {
  position: relative;
  overflow: hidden;
  min-height: 174px;
  padding: 29px 31px;
  border: 1px solid rgba(183, 216, 191, .82);
  border-radius: 19px;
  background: rgba(255,255,255,.73);
  box-shadow: 0 18px 48px rgba(21, 75, 38, .08);
  backdrop-filter: blur(13px);
}
.search-count-card::after { content: "R"; position: absolute; right: -10px; bottom: -47px; color: rgba(43, 174, 73, .07); font-size: 132px; font-weight: 950; font-style: italic; transform: skewX(-9deg); }
.search-count-card span, .search-count-card strong, .search-count-card small { position: relative; z-index: 1; display: block; }
.search-count-card span { margin-bottom: 22px; color: var(--green-dark); font-size: 10px; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.search-count-card strong { overflow: hidden; color: #101713; font-size: 20px; line-height: 1.35; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.search-count-card small { margin-top: 7px; color: #6a776e; font-size: 11px; }
.search-hero-form { position: relative; z-index: 3; max-width: 950px; margin-top: 48px; }

.search-results-section { padding: 88px 0 100px; background: #fff; }
.search-results-heading { display: grid; grid-template-columns: 1fr .8fr; align-items: end; gap: 75px; margin-bottom: 36px; }
.search-results-heading h2 { margin: 0; font-size: clamp(36px, 3.8vw, 49px); line-height: 1.08; letter-spacing: -.052em; }
.search-results-heading > p { max-width: 565px; margin: 0 0 4px; color: #5d6b62; font-size: 14.5px; line-height: 1.7; }
.search-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #dbe7de; border-left: 1px solid #dbe7de; border-radius: 19px; overflow: hidden; background: #fff; box-shadow: 0 20px 60px rgba(18, 65, 33, .065); }
.search-result-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 340px;
  padding: 27px 27px 23px;
  border-right: 1px solid #dbe7de;
  border-bottom: 1px solid #dbe7de;
  background: #fff;
  transition: transform .28s ease, background .28s ease, box-shadow .28s ease;
}
.search-result-card:hover { position: relative; z-index: 2; transform: translateY(-4px); background: #f8fcf9; box-shadow: 0 22px 50px rgba(19, 92, 40, .1); }
.search-result-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.search-result-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; color: var(--green); background: #eaf6ed; }
.search-result-icon svg { width: 24px; height: 24px; }
.search-type-badge { padding: 6px 10px; border: 1px solid #d8e6dc; border-radius: 999px; color: #3d6348; background: #f7faf8; font-size: 8px; font-weight: 830; letter-spacing: .1em; text-transform: uppercase; }
.search-result-card h2 { margin: 35px 0 13px; font-size: 21px; line-height: 1.23; letter-spacing: -.035em; }
.search-result-card h2 a { color: #101713; transition: color .2s ease; }.search-result-card h2 a:hover { color: var(--green-dark); }
.search-result-card > p { margin: 0; color: #617067; font-size: 13.5px; line-height: 1.69; }
.search-result-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 25px; border-top: 1px solid #e3ebe5; }
.search-result-footer small { color: #7b867f; font-size: 9px; font-weight: 680; letter-spacing: .05em; text-transform: uppercase; }
.search-result-footer a { color: var(--green-dark); font-size: 11px; font-weight: 780; }.search-result-footer a span { margin-left: 6px; transition: margin .2s ease; }.search-result-footer a:hover span { margin-left: 10px; }
.search-pagination { margin-top: 42px; }.search-pagination .nav-links { display: flex; justify-content: center; gap: 7px; }.search-pagination .page-numbers { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border: 1px solid #d8e5dc; border-radius: 9px; color: #536158; background: #fff; font-size: 11px; font-weight: 720; }.search-pagination .page-numbers.current, .search-pagination a.page-numbers:hover { border-color: var(--green-dark); color: #fff; background: var(--green-dark); }

.search-empty { display: grid; grid-template-columns: 320px 1fr; align-items: center; gap: 75px; min-height: 430px; padding: 58px 68px; border: 1px solid #dbe7de; border-radius: 24px; background: radial-gradient(circle at 15% 50%, rgba(56, 191, 86, .11), transparent 29%), #f7fbf8; box-shadow: 0 20px 60px rgba(20, 73, 36, .07); }
.search-empty-mark { position: relative; display: grid; place-items: center; width: 260px; height: 260px; margin: auto; border: 1px solid rgba(47, 177, 77, .22); border-radius: 50%; }
.search-empty-mark::before, .search-empty-mark::after { content: ""; position: absolute; border: 1px solid rgba(47, 177, 77, .15); border-radius: 50%; }.search-empty-mark::before { inset: 30px; }.search-empty-mark::after { inset: 63px; }
.search-empty-mark span { position: relative; z-index: 2; display: grid; place-items: center; width: 94px; height: 94px; border-radius: 28px; color: #fff; background: linear-gradient(145deg, #38b959, #16863a); box-shadow: 0 20px 40px rgba(26, 135, 55, .25); font-size: 48px; font-weight: 800; }
.search-empty-mark i { position: absolute; width: 11px; height: 11px; border-radius: 3px; background: #39b959; transform: rotate(45deg); }.search-empty-mark i:first-of-type { right: 25px; top: 54px; }.search-empty-mark i:last-of-type { left: 35px; bottom: 45px; }
.search-empty h2 { margin: 0; max-width: 730px; font-size: clamp(35px, 4vw, 50px); line-height: 1.08; letter-spacing: -.055em; }
.search-empty > div:last-child > p:not(.eyebrow) { max-width: 700px; margin: 20px 0 27px; color: #5c6a61; font-size: 15px; line-height: 1.72; }
.search-empty-links { display: flex; flex-wrap: wrap; gap: 9px; }.search-empty-links a { display: inline-flex; align-items: center; gap: 17px; min-height: 43px; padding: 0 16px; border: 1px solid #d4e3d8; border-radius: 9px; color: #214b2e; background: #fff; font-size: 10.5px; font-weight: 760; transition: color .2s ease, border-color .2s ease, transform .2s ease; }.search-empty-links a:hover { border-color: #6dc283; color: var(--green-dark); transform: translateY(-2px); }

.error-404-hero { position: relative; overflow: hidden; min-height: 670px; border-bottom: 1px solid #deebe1; background: radial-gradient(circle at 78% 24%, rgba(56, 195, 87, .14), transparent 25%), linear-gradient(180deg, #fbfefc, #f0f8f2); }
.error-404-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 75px; min-height: 670px; padding-top: 68px; padding-bottom: 70px; }
.error-404-copy { max-width: 610px; }
.error-404-copy h1 { margin: 0; font-size: clamp(57px, 6.2vw, 84px); line-height: .98; letter-spacing: -.068em; font-weight: 760; }.error-404-copy h1 em { color: var(--green); font-style: normal; }
.error-404-copy > p:not(.eyebrow) { max-width: 570px; margin: 26px 0 31px; color: #536158; font-size: 17px; line-height: 1.72; }
.error-404-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.error-404-visual { position: relative; height: 500px; }
.error-code { position: absolute; z-index: 4; left: 50%; top: 50%; display: flex; align-items: center; justify-content: center; flex-direction: column; width: 245px; height: 245px; border: 12px solid rgba(255,255,255,.92); border-radius: 50%; background: linear-gradient(150deg, #eaf8ee, #fff); box-shadow: 0 25px 65px rgba(25, 102, 47, .18); transform: translate(-50%, -50%); }
.error-code::before { content: ""; position: absolute; inset: 12px; border: 1px solid #d4e7d9; border-radius: inherit; }
.error-code small, .error-code strong, .error-code span { position: relative; z-index: 2; display: block; }.error-code small { color: var(--green-dark); font-size: 8px; font-weight: 850; letter-spacing: .2em; }.error-code strong { margin: 4px 0 -2px; color: var(--green); font-size: 77px; line-height: 1; letter-spacing: -.085em; }.error-code span { color: #77837b; font-size: 8px; font-weight: 730; letter-spacing: .15em; }
.error-orbit { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(45, 173, 75, .22); border-radius: 50%; transform: translate(-50%, -50%) rotate(-9deg); }.error-orbit.orbit-one { width: 565px; height: 340px; }.error-orbit.orbit-two { width: 445px; height: 445px; border-style: dashed; opacity: .7; }
.error-route-card { position: absolute; z-index: 5; display: grid; grid-template-columns: 40px 1fr; column-gap: 12px; align-items: center; min-width: 185px; padding: 13px; border: 1px solid #d6e5da; border-radius: 13px; background: rgba(255,255,255,.9); box-shadow: 0 16px 36px rgba(20, 75, 37, .11); backdrop-filter: blur(9px); }
.error-route-card i { grid-row: 1 / 3; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; color: var(--green); background: #e9f7ed; }.error-route-card i svg { width: 21px; height: 21px; }.error-route-card span, .error-route-card strong { display: block; }.error-route-card span { color: #7a867e; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }.error-route-card strong { align-self: start; font-size: 12px; }
.route-start { left: 1%; top: 16%; transform: rotate(-3deg); }.route-home { right: -1%; bottom: 16%; transform: rotate(3deg); }
.error-dot { position: absolute; z-index: 3; display: block; width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50%; background: #41bb60; box-shadow: 0 0 0 1px #b9dec3; }.dot-one { left: 10%; bottom: 22%; }.dot-two { right: 11%; top: 22%; }.dot-three { right: 20%; bottom: 7%; width: 8px; height: 8px; }
.error-recovery-section { padding: 84px 0 100px; background: #fff; }
.error-search-wrap { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 75px; padding: 40px 44px; border: 1px solid #dbe7de; border-radius: 20px; background: #f7fbf8; }
.error-search-wrap h2 { margin: 0; font-size: clamp(30px, 3vw, 41px); line-height: 1.08; letter-spacing: -.05em; }
.error-link-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 22px; border-top: 1px solid #dbe7de; border-left: 1px solid #dbe7de; border-radius: 17px; overflow: hidden; }
.error-link-grid > a { display: grid; grid-template-columns: 46px 1fr 22px; align-items: center; gap: 13px; min-height: 125px; padding: 22px; border-right: 1px solid #dbe7de; border-bottom: 1px solid #dbe7de; color: #101713; background: #fff; transition: background .22s ease, transform .22s ease; }.error-link-grid > a:hover { position: relative; z-index: 2; transform: translateY(-3px); background: #f6fbf7; }
.error-link-grid > a > span { grid-row: 1 / 3; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; color: var(--green); background: #eaf6ed; }.error-link-grid svg { width: 23px; height: 23px; }.error-link-grid small { align-self: end; color: #6f7c74; font-size: 7px; font-weight: 820; letter-spacing: .11em; }.error-link-grid strong { align-self: start; font-size: 13px; }.error-link-grid i { grid-column: 3; grid-row: 1 / 3; color: var(--green-dark); font-size: 16px; font-style: normal; }

@media (max-width: 1050px) {
  .search-hero-grid { gap: 50px; }.search-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .error-404-grid { grid-template-columns: 1fr 1fr; gap: 35px; }.error-orbit.orbit-one { width: 480px; }.error-route-card { min-width: 160px; }.route-home { right: -4%; }
  .error-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .search-hero { padding-top: 72px; }.search-hero-grid { grid-template-columns: 1fr; align-items: start; gap: 35px; }.search-count-card { width: min(100%, 520px); min-height: 140px; }.search-count-card span { margin-bottom: 14px; }.search-hero-form { margin-top: 34px; }
  .search-results-heading { grid-template-columns: 1fr; gap: 18px; }.search-results-heading > p { max-width: 680px; }
  .search-empty { grid-template-columns: 240px 1fr; gap: 38px; padding: 45px 38px; }.search-empty-mark { width: 210px; height: 210px; }
  .error-404-grid { grid-template-columns: 1fr; padding-top: 72px; }.error-404-copy { max-width: 700px; }.error-404-visual { width: min(100%, 650px); height: 450px; margin: -10px auto 0; }
  .error-search-wrap { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 700px) {
  .search-result-grid { grid-template-columns: 1fr; }.search-result-card { min-height: 300px; }
  .search-empty { grid-template-columns: 1fr; text-align: center; }.search-empty-mark { width: 180px; height: 180px; }.search-empty-mark span { width: 75px; height: 75px; font-size: 37px; }.search-empty-links { justify-content: center; }
}

@media (max-width: 620px) {
  .lead-form-assurance { margin: -5px 0 20px; }.lead-form-assurance span { padding-inline: 8px; font-size: 8px; }
  .rst-search-control { grid-template-columns: 20px minmax(0, 1fr); min-height: 60px; padding: 6px 7px 6px 17px; }.rst-search-control > svg { width: 19px; height: 19px; }.rst-search-control input { height: 47px; padding: 0 11px; font-size: 13px; }.rst-search-control button { grid-column: 1 / -1; width: 100%; height: 47px; margin-top: 6px; }
  .search-hero { padding: 57px 0 51px; }.search-hero-grid, .search-hero-form, .search-results-section > .container, .error-404-grid, .error-recovery-section > .container { width: min(100% - 28px, 520px); }.search-hero-copy h1 { font-size: 43px; }.search-hero-copy h1 br { display: none; }.search-hero-copy > p:not(.eyebrow) { font-size: 15.5px; }.search-count-card { min-height: 125px; padding: 23px; }.search-count-card strong { font-size: 17px; }.search-hero-form { margin-top: 27px; }
  .search-results-section { padding: 64px 0 71px; }.search-results-heading { margin-bottom: 27px; }.search-results-heading h2 { font-size: 35px; }.search-results-heading > p { font-size: 13.5px; }.search-result-grid { border-radius: 15px; }.search-result-card { min-height: 290px; padding: 23px; }.search-result-card h2 { margin-top: 27px; font-size: 20px; }.search-result-card > p { font-size: 13.5px; }
  .search-empty { gap: 28px; min-height: 0; padding: 35px 22px; border-radius: 17px; }.search-empty h2 { font-size: 34px; }.search-empty > div:last-child > p:not(.eyebrow) { font-size: 14px; }.search-empty-links { display: grid; }.search-empty-links a { justify-content: space-between; }
  .error-404-hero { min-height: 0; }.error-404-grid { min-height: 0; padding-top: 55px; padding-bottom: 35px; }.error-404-copy h1 { font-size: 48px; }.error-404-copy > p:not(.eyebrow) { font-size: 15.5px; }.error-404-actions .button { width: 100%; }.error-404-visual { height: 365px; margin-top: -8px; transform: scale(.9); transform-origin: center center; }.error-code { width: 195px; height: 195px; }.error-code strong { font-size: 60px; }.error-orbit.orbit-one { width: 410px; height: 250px; }.error-orbit.orbit-two { width: 330px; height: 330px; }.error-route-card { min-width: 145px; padding: 10px; }.route-start { left: -11%; }.route-home { right: -10%; }.error-dot.dot-two { right: 3%; }
  .error-recovery-section { padding: 63px 0 72px; }.error-search-wrap { gap: 22px; padding: 27px 22px; border-radius: 16px; }.error-search-wrap h2 { font-size: 32px; }.error-link-grid { grid-template-columns: 1fr; margin-top: 16px; }.error-link-grid > a { min-height: 105px; }
}

/* Version 1.9 — database-managed team directory. */
.team-photo.has-image::before, .team-photo.has-image::after { display: none; }
.team-photo.has-image { background: #e8f0ea; }
.team-photo-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .55s cubic-bezier(.22,.61,.36,1), filter .3s ease; }
.team-profile-card:hover .team-photo-image, .about-team-card:hover .team-photo-image, .team-directory-card:hover .team-photo-image { transform: scale(1.045); filter: saturate(1.04); }

.team-directory-page { overflow: hidden; }
.team-directory-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #dce9df;
  background: radial-gradient(circle at 77% 22%, rgba(55, 192, 86, .15), transparent 27%), linear-gradient(180deg, #fcfefc, #f2f9f4);
}
.team-directory-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .3;
  background-image: radial-gradient(rgba(42, 163, 70, .24) .65px, transparent .65px);
  background-size: 19px 19px;
  mask-image: linear-gradient(90deg, transparent, #000 46%, #000 91%, transparent);
}
.team-directory-glow { position: absolute; right: 2%; top: -230px; width: 680px; height: 680px; border-radius: 50%; background: rgba(57, 197, 89, .1); filter: blur(75px); }
.team-directory-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .94fr 1.06fr; align-items: center; gap: 58px; min-height: 735px; padding-top: 68px; padding-bottom: 70px; }
.team-directory-hero-copy { max-width: 680px; }
.team-directory-hero-copy h1 { margin: 0; font-size: clamp(52px, 5.5vw, 76px); line-height: 1; letter-spacing: -.065em; font-weight: 760; }
.team-directory-hero-copy h1 em { color: var(--green); font-style: normal; }
.team-directory-hero-copy > p:not(.eyebrow) { max-width: 625px; margin: 25px 0 29px; color: #526057; font-size: 17px; line-height: 1.72; }
.team-directory-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.team-directory-proof { display: flex; margin-top: 46px; }
.team-directory-proof > div { min-width: 145px; padding-right: 22px; }
.team-directory-proof > div + div { padding-left: 22px; border-left: 1px solid #d4e3d8; }
.team-directory-proof strong, .team-directory-proof span { display: block; }
.team-directory-proof strong { color: #153c22; font-size: 30px; line-height: 1; letter-spacing: -.055em; }
.team-directory-proof span { margin-top: 7px; color: #6c796f; font-size: 9.5px; line-height: 1.35; }
.team-directory-hero-visual { position: relative; height: 590px; }
.team-hero-orbit { position: absolute; left: 50%; top: 50%; width: 570px; height: 500px; transform: translate(-50%,-50%); }
.team-hero-orbit i { position: absolute; inset: 0; border: 1px solid rgba(47, 178, 77, .17); border-radius: 50%; transform: rotate(-12deg); }
.team-hero-orbit i:nth-child(2) { inset: 48px 30px; border-style: dashed; transform: rotate(14deg); }
.team-hero-orbit i:nth-child(3) { inset: 105px 78px; }
.team-hero-person { position: absolute; overflow: hidden; margin: 0; border: 7px solid rgba(255,255,255,.94); border-radius: 21px; background: #e8f1ea; box-shadow: 0 24px 56px rgba(17, 73, 34, .16); }
.team-hero-person .team-photo { width: 100%; height: 100%; margin: 0; border-radius: 14px; }
.team-hero-person .team-hero-photo:not(.has-image)::before { bottom: -10%; width: 74%; height: 65%; border-radius: 48% 48% 16px 16px; }
.team-hero-person .team-hero-photo:not(.has-image)::after { top: 14%; width: 36%; height: 31%; box-shadow: inset 0 20px 0 #26332c; }
.team-hero-person .team-hero-photo.mint:not(.has-image)::after, .team-hero-person .team-hero-photo.rose:not(.has-image)::after { box-shadow: inset 0 21px 0 #442d22; }
.team-hero-person figcaption { position: absolute; z-index: 5; left: 10px; right: 10px; bottom: 10px; padding: 35px 13px 12px; border-radius: 11px; color: #fff; background: linear-gradient(transparent, rgba(6, 34, 16, .88)); }
.team-hero-person figcaption small, .team-hero-person figcaption strong, .team-hero-person figcaption span { display: block; }.team-hero-person figcaption small { margin-bottom: 4px; color: #82e099; font-size: 6px; font-weight: 850; letter-spacing: .14em; }.team-hero-person figcaption strong { font-size: 13px; }.team-hero-person figcaption span { margin-top: 3px; color: #d0dfd4; font-size: 9px; }
.team-hero-ceo-card { z-index: 7; left: 50%; top: 49%; width: 46%; height: 455px; border-width: 8px; transform: translate(-50%,-50%); transition: transform .35s ease, box-shadow .35s ease; }
.team-hero-ceo-card:hover { transform: translate(-50%,-51%) scale(1.012); box-shadow: 0 31px 72px rgba(17,73,34,.24); }
.team-hero-slide-track { position: absolute; inset: 0; }
.team-hero-slide { opacity: 0; pointer-events: none; will-change: left, right, top, bottom, width, height, opacity, transform; transition: left .8s cubic-bezier(.22,.61,.36,1), right .8s cubic-bezier(.22,.61,.36,1), top .8s cubic-bezier(.22,.61,.36,1), bottom .8s cubic-bezier(.22,.61,.36,1), width .8s cubic-bezier(.22,.61,.36,1), height .8s cubic-bezier(.22,.61,.36,1), opacity .55s ease, transform .8s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease; }
.team-hero-slide.is-position-1 { z-index: 4; left: -1%; right: auto; top: 91px; bottom: auto; width: 33%; height: 255px; opacity: .96; pointer-events: auto; transform: rotate(-5deg) scale(.97); }
.team-hero-slide.is-position-2 { z-index: 5; left: auto; right: -1%; top: 49px; bottom: auto; width: 32%; height: 245px; opacity: .98; pointer-events: auto; transform: rotate(4deg); }
.team-hero-slide.is-position-3 { z-index: 6; left: auto; right: 1%; top: auto; bottom: 47px; width: 34%; height: 218px; opacity: .98; pointer-events: auto; transform: rotate(2deg); }
.team-hero-slide.is-queued { z-index: 2; left: 50%; right: auto; top: 50%; bottom: auto; width: 27%; height: 205px; opacity: 0; transform: translate(-50%,-50%) scale(.72); }
.team-hero-slide:hover { box-shadow: 0 29px 67px rgba(17,73,34,.22); }
.team-hero-note { position: absolute; z-index: 9; left: 0; bottom: 29px; display: flex; align-items: center; gap: 13px; padding: 14px 17px; border: 1px solid #d5e4d9; border-radius: 13px; background: rgba(255,255,255,.92); box-shadow: 0 16px 38px rgba(19, 72, 35, .11); backdrop-filter: blur(10px); }
.team-hero-note > span { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 10px; color: #fff; background: var(--green-dark); }.team-hero-note svg { width: 20px; height: 20px; }.team-hero-note small, .team-hero-note strong { display: block; }.team-hero-note small { margin-bottom: 3px; color: var(--green-dark); font-size: 7px; font-weight: 850; letter-spacing: .13em; }.team-hero-note strong { font-size: 11px; }
.team-directory-hero-visual.is-paused .team-hero-note > span { background: #55715e; }
.team-directory-hero-visual.is-paused .team-hero-note small { color: #55715e; }
.team-hero-empty { position: absolute; inset: 75px 45px; display: grid; place-items: center; border: 1px solid #d7e5da; border-radius: 28px; background: linear-gradient(145deg,#fff,#e9f5ec); }.team-hero-empty span { color: var(--green); font-size: 80px; font-weight: 950; font-style: italic; }.team-hero-empty p { margin-top: -150px; color: #637168; }

.team-directory-section { padding: 94px 0 105px; scroll-margin-top: 82px; background: #fff; }
.team-directory-heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 85px; margin-bottom: 35px; }
.team-directory-heading h2 { margin: 0; font-size: clamp(41px, 4.4vw, 57px); line-height: 1.06; letter-spacing: -.06em; }
.team-directory-heading > p { max-width: 590px; margin: 0 0 5px; color: #5d6a62; font-size: 15.5px; line-height: 1.72; }
.team-directory-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 24px; padding: 9px 11px; border: 1px solid #dce8df; border-radius: 14px; background: #f1f7f3; }
.team-directory-toolbar > div { display: flex; flex-wrap: wrap; gap: 6px; }
.team-directory-toolbar button { min-height: 39px; padding: 0 15px; border: 1px solid transparent; border-radius: 9px; color: #536158; background: transparent; font: inherit; font-size: 10px; font-weight: 750; cursor: pointer; transition: color .2s ease, background .2s ease, box-shadow .2s ease; }
.team-directory-toolbar button:hover { color: var(--green-dark); background: #fff; }.team-directory-toolbar button.active { color: #fff; background: var(--green-dark); box-shadow: 0 8px 20px rgba(29, 139, 59, .18); }
.team-directory-toolbar > span { flex: 0 0 auto; padding-right: 10px; color: #748078; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }.team-directory-toolbar > span strong { color: var(--green-dark); font-size: 14px; }
.team-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.team-directory-card { min-width: 0; overflow: hidden; border: 1px solid #d9e5dc; border-radius: 18px; background: #fff; box-shadow: 0 12px 38px rgba(21, 70, 36, .055); transition: transform .3s ease, box-shadow .3s ease; }
.team-directory-card:hover { transform: translateY(-6px); box-shadow: 0 24px 55px rgba(18, 78, 37, .12); }.team-directory-card[hidden] { display: none !important; }
.team-directory-card-photo { position: relative; height: 330px; overflow: hidden; background: #e9f1eb; }
.team-directory-photo { width: 100%; height: 100%; margin: 0; border-radius: 0; }
.team-directory-photo::before { bottom: -18px; width: 240px; height: 230px; border-radius: 48% 48% 18px 18px; }.team-directory-photo::after { top: 62px; width: 108px; height: 122px; box-shadow: inset 0 23px 0 #26332c; }
.team-directory-photo.mint::after, .team-directory-photo.rose::after { box-shadow: inset 0 24px 0 #442d22; }.team-directory-photo span { left: 18px; bottom: 18px; padding: 7px 9px; font-size: 12px; }
.team-department-label { position: absolute; z-index: 5; left: 16px; top: 16px; max-width: calc(100% - 32px); padding: 7px 10px; border: 1px solid rgba(255,255,255,.65); border-radius: 999px; color: #fff; background: rgba(16, 62, 30, .58); box-shadow: 0 7px 17px rgba(15, 49, 25, .13); backdrop-filter: blur(9px); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.team-directory-card-body { padding: 24px 24px 25px; }
.team-member-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.team-member-heading h3 { margin: 0; font-size: 21px; line-height: 1.2; letter-spacing: -.035em; }.team-member-heading p { margin: 6px 0 0; color: var(--green-dark); font-size: 11px; font-weight: 730; }
.team-member-heading > span { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid #d6e5da; border-radius: 10px; color: #35824a; background: #f2f8f4; font-size: 9px; font-weight: 800; }
.team-member-location { display: block; margin-top: 15px; color: #7a867e; font-size: 9.5px; }.team-member-location span { color: var(--green); }
.team-member-summary { min-height: 67px; margin: 17px 0 18px; color: #5e6c63; font-size: 13px; line-height: 1.7; }
.team-member-skills { display: flex; flex-wrap: wrap; gap: 6px; }.team-member-skills span { padding: 6px 8px; border-radius: 7px; color: #536158; background: #f0f5f1; font-size: 8px; font-weight: 680; }
.team-member-links { display: flex; gap: 17px; margin-top: 20px; padding-top: 17px; border-top: 1px solid #e1eae3; }.team-member-links a { color: var(--green-dark); font-size: 10px; font-weight: 780; }.team-member-links a span { margin-left: 5px; }
.team-directory-empty { padding: 70px 35px; border: 1px solid #dce7df; border-radius: 20px; text-align: center; background: #f6faf7; }.team-directory-empty > span { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 20px; border-radius: 18px; color: #fff; background: var(--green-dark); }.team-directory-empty svg { width: 30px; }.team-directory-empty h3 { margin: 0; font-size: 28px; }.team-directory-empty p { margin: 12px 0 22px; color: #647168; }

.team-collaboration-section { padding: 0 0 96px; background: #fff; }
.team-collaboration-shell { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 70px; padding: 48px 52px; border: 1px solid #d9e7dc; border-radius: 22px; color: #fff; background: radial-gradient(circle at 83% 17%, rgba(82, 210, 111, .2), transparent 28%), linear-gradient(135deg,#092719,#145a32); box-shadow: 0 25px 65px rgba(14, 68, 31, .17); }
.team-collaboration-shell .eyebrow { color: #77de90; }.team-collaboration-shell h2 { margin: 0; font-size: clamp(35px, 3.7vw, 49px); line-height: 1.08; letter-spacing: -.055em; }.team-collaboration-shell > div:first-child > p:last-child { margin: 20px 0 0; color: #bfd1c4; font-size: 14px; line-height: 1.7; }
.team-collaboration-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 8px; }.team-collaboration-flow span { display: grid; place-items: center; min-height: 88px; padding: 13px; border: 1px solid rgba(255,255,255,.17); border-radius: 13px; background: rgba(255,255,255,.055); font-size: 11px; font-weight: 730; backdrop-filter: blur(8px); }.team-collaboration-flow i { color: #72da8b; font-style: normal; }
.team-directory-cta { padding: 0 0 95px; background: #fff; }
.team-directory-cta-shell { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 45px; min-height: 230px; overflow: hidden; padding: 45px 52px; border: 1px solid #d9e7dd; border-radius: 22px; background: radial-gradient(circle at 82% 20%, rgba(58, 190, 88, .12), transparent 27%), #f6faf7; box-shadow: 0 20px 58px rgba(20, 72, 36, .07); }
.team-directory-cta-shell > div:first-child { position: relative; z-index: 3; }.team-directory-cta h2 { margin: 0; font-size: clamp(38px, 4vw, 51px); line-height: 1.06; letter-spacing: -.057em; }.team-directory-cta .button { position: relative; z-index: 3; flex: 0 0 auto; }
.team-cta-rings { position: absolute; right: 12%; top: 50%; width: 380px; height: 380px; transform: translateY(-50%); }.team-cta-rings i { position: absolute; inset: 0; border: 1px solid rgba(53, 182, 83, .12); border-radius: 50%; }.team-cta-rings i:nth-child(2) { inset: 45px; }.team-cta-rings i:nth-child(3) { inset: 90px; }

@media (max-width: 1100px) {
  .team-directory-hero-grid { grid-template-columns: 1fr 1fr; gap: 28px; }.team-directory-hero-copy h1 { font-size: 59px; }.team-directory-hero-visual { transform: scale(.92); transform-origin: right center; }
  .team-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.team-directory-card-photo { height: 360px; }
  .team-collaboration-shell { grid-template-columns: 1fr; gap: 35px; }
}
@media (max-width: 900px) {
  .team-directory-hero-grid { grid-template-columns: 1fr; padding-top: 70px; }.team-directory-hero-copy { max-width: 720px; }.team-directory-hero-visual { width: min(100%,690px); margin: 5px auto -10px; transform: none; }
  .team-directory-heading { grid-template-columns: 1fr; gap: 20px; }.team-directory-heading > p { max-width: 680px; }
  .team-directory-toolbar { align-items: flex-start; flex-direction: column; }.team-directory-toolbar > span { padding: 0 10px 7px; }
  .team-directory-cta-shell { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
  .team-directory-grid { grid-template-columns: 1fr; }.team-directory-card-photo { height: 420px; }.team-member-summary { min-height: 0; }
  .team-collaboration-flow { grid-template-columns: 1fr; }.team-collaboration-flow i { transform: rotate(90deg); text-align: center; }
}
@media (max-width: 620px) {
  .team-directory-hero-grid, .team-directory-section > .container, .team-collaboration-shell, .team-directory-cta-shell { width: min(100% - 28px,520px); }
  .team-directory-hero-grid { min-height: 0; padding-top: 52px; padding-bottom: 38px; }.team-directory-hero-copy h1 { font-size: 43px; }.team-directory-hero-copy > p:not(.eyebrow) { font-size: 15.5px; }.team-directory-actions .button { width: 100%; }
  .team-directory-proof { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 38px; }.team-directory-proof > div { min-width: 0; padding: 0 9px 0 0; }.team-directory-proof > div + div { padding-left: 10px; }.team-directory-proof strong { font-size: 25px; }.team-directory-proof span { font-size: 8px; }
  .team-directory-hero-visual { height: 500px; margin-top: 8px; }.team-hero-orbit { width: 440px; height: 390px; }.team-hero-person { border-width: 5px; border-radius: 16px; }.team-hero-ceo-card { top: 47%; width: 58%; height: 360px; border-width: 6px; }.team-hero-slide.is-position-1 { left: -7%; top: 87px; width: 39%; height: 190px; }.team-hero-slide.is-position-2 { right: -7%; top: 48px; width: 39%; height: 185px; }.team-hero-slide.is-position-3 { right: -2%; bottom: 47px; width: 41%; height: 165px; }.team-hero-slide.is-queued { width: 34%; height: 165px; }.team-hero-note { left: -2px; bottom: 6px; padding: 11px 13px; }.team-hero-note > span { width: 32px; height: 32px; }.team-hero-note strong { font-size: 9px; }
  .team-directory-section { padding: 68px 0 72px; }.team-directory-heading { margin-bottom: 27px; }.team-directory-heading h2 { font-size: 38px; }.team-directory-heading > p { font-size: 14.5px; }
  .team-directory-toolbar { margin-right: -14px; margin-left: -14px; padding-right: 14px; padding-left: 14px; overflow: hidden; border-right: 0; border-left: 0; border-radius: 0; }.team-directory-toolbar > div { flex-wrap: nowrap; width: calc(100% + 14px); padding-bottom: 3px; overflow-x: auto; scrollbar-width: none; }.team-directory-toolbar > div::-webkit-scrollbar { display: none; }.team-directory-toolbar button { flex: 0 0 auto; }
  .team-directory-card-photo { height: 350px; }.team-directory-card-body { padding: 22px; }.team-member-heading h3 { font-size: 22px; }.team-member-summary { font-size: 13.5px; }
  .team-collaboration-section { padding-bottom: 69px; }.team-collaboration-shell { gap: 28px; padding: 30px 23px; border-radius: 18px; }.team-collaboration-shell h2 { font-size: 36px; }.team-collaboration-flow span { min-height: 64px; }
  .team-directory-cta { padding-bottom: 69px; }.team-directory-cta-shell { min-height: 0; padding: 31px 24px; border-radius: 18px; }.team-directory-cta h2 { font-size: 36px; }.team-directory-cta .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .team-hero-slide { transition: none; }
}

/* Version 2.2 - database-managed, evidence-led Industry Lessons. */
.footer-case-studies { position: relative; overflow: hidden; padding: 98px 0 104px; border-top: 1px solid #dce9df; background: radial-gradient(circle at 88% 4%,rgba(62,193,91,.12),transparent 27%),linear-gradient(180deg,#f8fcf9,#f2f8f4); }
.footer-case-studies::before { content:""; position:absolute; inset:0; opacity:.25; pointer-events:none; background-image:radial-gradient(rgba(38,153,65,.27) .65px,transparent .65px); background-size:22px 22px; mask-image:linear-gradient(90deg,transparent,#000 35%,#000 88%,transparent); }
.footer-case-studies > .container { position:relative; z-index:2; }
.footer-case-heading { display:grid; grid-template-columns:1.08fr .78fr; align-items:end; gap:100px; margin-bottom:35px; }
.footer-case-heading h2 { margin:0; font-size:clamp(42px,4.8vw,59px); line-height:1.03; letter-spacing:-.062em; }.footer-case-heading h2 em { color:var(--green); font-style:normal; }
.footer-case-heading > div:last-child { padding-bottom:4px; }.footer-case-heading > div:last-child p { margin:0 0 17px; color:#59675e; font-size:16px; line-height:1.72; }.footer-case-heading > div:last-child a { color:var(--green-dark); font-size:12px; font-weight:800; }
.footer-case-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.footer-case-disclosure { display:flex; align-items:center; gap:9px; margin:23px 0 0; color:#728078; font-size:10px; line-height:1.5; }.footer-case-disclosure i { display:block; flex:0 0 auto; width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(49,181,80,.11); }

.case-card { min-width:0; overflow:hidden; border:1px solid #d8e5dc; border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(19,69,35,.06); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.case-card:hover { transform:translateY(-6px); border-color:#b9d5c0; box-shadow:0 25px 55px rgba(18,74,36,.13); }
.case-card-visual { position:relative; display:block; height:250px; overflow:hidden; background:#dce9df; }.case-card-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(5,35,17,.42)); pointer-events:none; }.case-card-visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.22,.61,.36,1); }.case-card:hover .case-card-visual img { transform:scale(1.045); }
.case-card-visual > span { position:absolute; z-index:2; left:15px; bottom:14px; max-width:calc(100% - 30px); padding:7px 10px; border:1px solid rgba(255,255,255,.58); border-radius:999px; color:#fff; background:rgba(6,45,20,.62); backdrop-filter:blur(8px); font-size:8px; font-weight:850; letter-spacing:.075em; text-transform:uppercase; }
.case-card-body { display:flex; flex-direction:column; min-height:294px; padding:24px 23px 23px; }.case-card-meta { display:flex; justify-content:space-between; gap:12px; }.case-card-meta span { color:var(--green-dark); font-size:8px; font-weight:850; letter-spacing:.11em; }.case-card-meta small { color:#89948d; font-size:9px; }
.case-card h3 { margin:17px 0 12px; font-size:23px; line-height:1.12; letter-spacing:-.045em; }.case-card h3 a { color:#111a14; }.case-card-body > p { margin:0; color:#637068; font-size:13px; line-height:1.67; }
.case-card-link { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:auto; padding-top:20px; border-top:1px solid #e1eae4; color:var(--green-dark); font-size:10px; font-weight:800; }.case-card-link span { display:grid; place-items:center; width:29px; height:29px; border:1px solid #cfe1d3; border-radius:50%; transition:color .2s,background .2s; }.case-card:hover .case-card-link span { color:#fff; background:var(--green-dark); }
.case-card.accent-teal .case-card-visual > span { background:rgba(5,70,64,.68); }.case-card.accent-amber .case-card-visual > span { background:rgba(98,61,6,.68); }.case-card.accent-blue .case-card-visual > span { background:rgba(10,55,82,.68); }
.case-cover-fallback { display:grid; place-items:center; width:100%; height:100%; color:#fff; background:linear-gradient(145deg,#174d2b,#0a2f1a); }.case-cover-fallback span { font-size:72px; font-weight:950; font-style:italic; transform:skewX(-7deg); }.case-cover-fallback small { margin-top:-70px; font-size:9px; font-weight:800; letter-spacing:.1em; }

.case-library-page,.case-single-page { overflow:hidden; }
.case-library-hero { position:relative; overflow:hidden; border-bottom:1px solid #dce9df; background:radial-gradient(circle at 80% 22%,rgba(57,194,87,.15),transparent 27%),linear-gradient(180deg,#fcfefc,#f1f8f3); }
.case-library-glow { position:absolute; right:-170px; top:-270px; width:720px; height:720px; border-radius:50%; border:1px solid rgba(48,177,78,.15); box-shadow:inset 0 0 0 72px rgba(51,187,81,.025),inset 0 0 0 144px rgba(51,187,81,.018); }
.case-library-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .55fr; align-items:center; gap:100px; min-height:640px; padding-top:67px; padding-bottom:75px; }
.case-library-copy .service-breadcrumbs { margin-bottom:58px; }.case-library-copy h1 { margin:0; max-width:800px; font-size:clamp(53px,6vw,78px); line-height:1; letter-spacing:-.067em; }.case-library-copy h1 em { color:var(--green); font-style:normal; }.case-library-copy > p:not(.eyebrow) { max-width:710px; margin:26px 0 0; color:#536159; font-size:18px; line-height:1.72; }.case-library-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:31px; }
.case-library-aside { position:relative; min-height:360px; overflow:hidden; padding:31px; border:1px solid #cde2d2; border-radius:24px; color:#fff; background:linear-gradient(145deg,#174d2b,#082d19); box-shadow:0 28px 70px rgba(12,62,28,.19); }.case-library-mark { position:relative; z-index:3; display:grid; place-items:center; width:78px; height:78px; border-radius:21px; color:#fff; background:linear-gradient(145deg,#52ca6c,#19923c); font-size:43px; font-weight:950; font-style:italic; transform:skewX(-7deg); }.case-library-aside > div { position:absolute; z-index:3; left:31px; bottom:78px; display:flex; align-items:center; gap:14px; }.case-library-aside > div strong { font-size:74px; line-height:.8; letter-spacing:-.07em; }.case-library-aside > div span { color:#bcd1c2; font-size:11px; line-height:1.35; }.case-library-aside > p { position:absolute; z-index:3; left:31px; right:31px; bottom:25px; display:flex; align-items:center; gap:9px; margin:0; color:#bdd1c2; font-size:9px; line-height:1.4; }.case-library-aside > p i { width:7px; height:7px; border-radius:50%; background:#70dd89; box-shadow:0 0 0 6px rgba(107,220,132,.12); }.case-library-orbit { position:absolute; right:-95px; top:-35px; width:330px; height:330px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:inset 0 0 0 42px rgba(255,255,255,.025),inset 0 0 0 84px rgba(255,255,255,.018); }

.case-library-section { padding:98px 0 102px; background:#fff; }.case-library-heading { display:grid; grid-template-columns:1.06fr .78fr; align-items:end; gap:95px; margin-bottom:38px; }.case-library-heading h2 { margin:0; font-size:clamp(43px,4.7vw,59px); line-height:1.03; letter-spacing:-.06em; }.case-library-heading h2 em { color:var(--green); font-style:normal; }.case-library-heading > p { margin:0 0 5px; color:#59675f; font-size:16px; line-height:1.72; }
.case-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.case-library-grid .case-card { display:grid; grid-template-columns:.87fr 1.13fr; min-height:365px; }.case-library-grid .case-card-visual { height:auto; min-height:365px; }.case-library-grid .case-card-body { min-height:365px; padding:31px 29px 27px; }.case-library-grid .case-card h3 { font-size:30px; }.case-library-grid .case-card-body > p { font-size:14px; }
.case-pagination { margin-top:42px; }.case-pagination .nav-links { display:flex; justify-content:center; gap:8px; }.case-pagination a,.case-pagination span { display:grid; place-items:center; min-width:42px; height:42px; padding:0 12px; border:1px solid #d5e4d9; border-radius:9px; color:#526058; background:#fff; font-size:11px; font-weight:750; }.case-pagination .current { color:#fff; background:var(--green-dark); }
.case-method { padding:0 0 96px; background:#fff; }.case-method-shell { display:grid; grid-template-columns:.72fr 1.28fr; align-items:center; gap:70px; padding:46px 50px; border:1px solid #d9e6dc; border-radius:22px; color:#fff; background:radial-gradient(circle at 84% 14%,rgba(76,208,106,.19),transparent 27%),linear-gradient(135deg,#082719,#155b33); box-shadow:0 24px 64px rgba(12,61,28,.16); }.case-method-shell .eyebrow { color:#73dc8b; }.case-method-shell h2 { margin:0; font-size:43px; letter-spacing:-.055em; }.case-method-shell > div:first-child > p:last-child { margin:17px 0 0; color:#bdd0c2; font-size:13px; line-height:1.7; }.case-method-steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:8px; }.case-method-steps span { display:grid; place-items:center; min-height:90px; padding:12px; border:1px solid rgba(255,255,255,.15); border-radius:13px; background:rgba(255,255,255,.055); font-size:10px; font-weight:750; }.case-method-steps span b { display:block; margin-bottom:5px; color:#72dd8b; font-size:8px; letter-spacing:.1em; }.case-method-steps i { color:#72dd8b; font-style:normal; }
.case-library-cta,.case-single-cta { padding:0 0 98px; background:#fff; }.case-library-cta-shell,.case-single-cta-shell { display:flex; align-items:center; justify-content:space-between; gap:50px; min-height:245px; padding:48px 52px; border:1px solid #d8e7dc; border-radius:23px; background:radial-gradient(circle at 85% 16%,rgba(59,191,89,.12),transparent 27%),#f5faf6; box-shadow:0 20px 55px rgba(20,72,36,.075); }.case-library-cta h2,.case-single-cta h2 { margin:0; font-size:clamp(38px,4vw,52px); line-height:1.06; letter-spacing:-.058em; }

.case-single-hero { position:relative; overflow:hidden; padding:67px 0 82px; border-bottom:1px solid #dce9df; background:radial-gradient(circle at 78% 12%,rgba(59,194,88,.14),transparent 29%),linear-gradient(180deg,#fcfefc,#f2f8f4); }.case-single-glow { position:absolute; right:-120px; top:-320px; width:760px; height:760px; border:1px solid rgba(48,179,78,.14); border-radius:50%; box-shadow:inset 0 0 0 75px rgba(53,186,83,.02),inset 0 0 0 150px rgba(53,186,83,.018); }.case-single-hero-inner { position:relative; z-index:2; }.case-single-hero .service-breadcrumbs { margin-bottom:52px; }.case-single-title { max-width:970px; }.case-single-title h1 { margin:0; font-size:clamp(50px,6.4vw,79px); line-height:1.01; letter-spacing:-.067em; }.case-single-title > p:not(.eyebrow) { max-width:830px; margin:27px 0 0; color:#56635b; font-size:19px; line-height:1.68; }.case-single-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }.case-single-meta span { padding:8px 11px; border:1px solid #cfe0d3; border-radius:999px; color:#50705a; background:rgba(255,255,255,.78); font-size:9px; font-weight:750; }
.case-single-cover { position:relative; height:600px; overflow:hidden; margin:48px 0 0; border-radius:25px; background:#d9e8dc; box-shadow:0 30px 75px rgba(17,68,33,.17); }.case-single-cover > img { display:block; width:100%; height:100%; object-fit:cover; }.case-single-cover figcaption { position:absolute; left:24px; right:24px; bottom:22px; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:15px 17px; border:1px solid rgba(255,255,255,.4); border-radius:13px; color:#fff; background:rgba(5,39,17,.67); backdrop-filter:blur(11px); }.case-single-cover figcaption span { flex:0 0 auto; font-size:8px; font-weight:850; letter-spacing:.11em; }.case-single-cover figcaption p { margin:0; color:#d8e7dc; font-size:10px; }

.case-single-body { padding:98px 0 106px; background:#fff; }.case-single-layout { display:grid; grid-template-columns:minmax(0,820px) 310px; justify-content:center; align-items:start; gap:76px; }.case-story > section { margin-bottom:82px; }.case-story h2 { margin:0 0 23px; font-size:clamp(36px,4vw,49px); line-height:1.08; letter-spacing:-.057em; }.case-story > section > p:not(.eyebrow),.case-story-prose { color:#46534b; font-size:18px; line-height:1.82; }.case-story-prose p { margin:0 0 23px; }.case-story-prose > p:first-child { color:#203026; font-size:21px; line-height:1.72; }
.case-story-highlight { display:grid; grid-template-columns:68px 1fr; gap:25px; padding:34px 36px; border:1px solid #cfe2d4; border-left:5px solid var(--green); border-radius:0 19px 19px 0; background:linear-gradient(120deg,#eff8f1,#f9fcfa); }.case-story-highlight > span { display:grid; place-items:center; width:55px; height:55px; border-radius:15px; color:#fff; background:var(--green-dark); font-size:13px; font-weight:850; }.case-story-highlight h2 { font-size:35px; }.case-story-highlight p:last-child { margin:0; font-size:16px; }
.case-outcome-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }.case-outcome-grid article { min-height:245px; padding:23px 21px; border:1px solid #d8e6dc; border-radius:16px; background:#f7faf8; }.case-outcome-grid article > span { color:var(--green); font-size:10px; font-weight:850; letter-spacing:.1em; }.case-outcome-grid h3 { margin:44px 0 13px; font-size:21px; line-height:1.18; letter-spacing:-.04em; }.case-outcome-grid p { margin:0; color:#637068; font-size:12px; line-height:1.65; }
.case-lessons ol { display:grid; gap:9px; margin:29px 0 0; padding:0; list-style:none; }.case-lessons li { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:15px; padding:17px 19px; border:1px solid #dce8df; border-radius:13px; }.case-lessons li span { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#fff; background:var(--green-dark); }.case-lessons li p { margin:0; color:#3f4d44; font-size:15px; line-height:1.55; }
.case-facts { position:sticky; top:105px; padding:27px 25px; border:1px solid #d5e5da; border-radius:19px; background:linear-gradient(155deg,#f3f9f5,#fff); box-shadow:0 18px 48px rgba(20,70,35,.075); }.case-facts-mark { display:grid; place-items:center; width:55px; height:55px; margin-bottom:24px; border-radius:15px; color:#fff; background:linear-gradient(145deg,#4dc765,#188e3a); font-size:30px; font-weight:950; font-style:italic; transform:skewX(-7deg); }.case-facts > div { padding:19px 0; border-top:1px solid #dfe9e2; }.case-facts small,.case-facts strong { display:block; }.case-facts small { margin-bottom:8px; color:#7b8880; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.case-facts strong { color:#28362d; font-size:12px; line-height:1.6; }.case-facts ul { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }.case-facts li { padding:6px 8px; border-radius:7px; color:#526159; background:#eaf3ec; font-size:8px; font-weight:700; }.case-facts .case-facts-note { display:flex; align-items:flex-start; gap:10px; }.case-facts-note i { flex:0 0 auto; width:7px; height:7px; margin-top:5px; border-radius:50%; background:var(--green); }.case-facts-note p { margin:0; color:#6b786f; font-size:9.5px; line-height:1.6; }.case-facts > a { display:flex; justify-content:space-between; gap:12px; margin-top:19px; color:var(--green-dark); font-size:10px; font-weight:800; }
.case-related { padding:91px 0 99px; border-top:1px solid #dde9e0; background:#f5f9f6; }.case-related-heading { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:31px; }.case-related-heading h2 { margin:0; font-size:45px; letter-spacing:-.057em; }.case-related-heading > a { color:var(--green-dark); font-size:11px; font-weight:800; }.case-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.case-card-compact .case-card-visual { height:235px; }.case-card-compact .case-card-body { min-height:286px; }

@media (max-width:1180px) {
  .footer-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.case-card-footer { display:grid; grid-template-columns:.82fr 1.18fr; }.case-card-footer .case-card-visual { height:auto; min-height:310px; }
  .case-library-hero-grid { gap:60px; }.case-library-grid .case-card { grid-template-columns:1fr; }.case-library-grid .case-card-visual { height:330px; min-height:0; }.case-library-grid .case-card-body { min-height:310px; }
  .case-single-layout { grid-template-columns:minmax(0,760px) 285px; gap:45px; }
}
@media (max-width:940px) {
  .footer-case-heading,.case-library-heading { grid-template-columns:1fr; gap:22px; }.footer-case-heading > div:last-child,.case-library-heading > p { max-width:720px; }
  .case-library-hero-grid { grid-template-columns:1fr; padding-top:58px; }.case-library-copy { max-width:800px; }.case-library-aside { width:min(100%,620px); min-height:300px; }
  .case-method-shell { grid-template-columns:1fr; gap:34px; }.case-library-cta-shell,.case-single-cta-shell { align-items:flex-start; flex-direction:column; }
  .case-single-cover { height:500px; }.case-single-layout { grid-template-columns:1fr; }.case-facts { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 25px; }.case-facts-mark,.case-facts > .eyebrow,.case-facts > a,.case-facts .case-facts-note { grid-column:1/-1; }.case-facts > a { max-width:270px; }
  .case-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.case-related-grid .case-card:last-child { display:none; }
}
@media (max-width:700px) {
  .footer-case-grid,.case-library-grid,.case-related-grid { grid-template-columns:1fr; }.case-card-footer { grid-template-columns:1fr; }.case-card-footer .case-card-visual { height:270px; min-height:0; }.case-card-footer .case-card-body { min-height:275px; }.case-related-grid .case-card:last-child { display:block; }
  .case-outcome-grid { grid-template-columns:1fr; }.case-outcome-grid article { min-height:0; }.case-outcome-grid h3 { margin-top:28px; }.case-method-steps { grid-template-columns:1fr; }.case-method-steps i { transform:rotate(90deg); text-align:center; }
}
@media (max-width:620px) {
  .footer-case-studies { padding:68px 0 72px; }.footer-case-studies > .container,.case-library-hero-grid,.case-library-section > .container,.case-method-shell,.case-library-cta-shell,.case-single-hero-inner,.case-single-layout,.case-related > .container,.case-single-cta-shell { width:min(100% - 28px,520px); }.footer-case-heading h2,.case-library-heading h2 { font-size:38px; }.footer-case-heading > div:last-child p,.case-library-heading > p { font-size:14.5px; }.footer-case-grid { gap:13px; }
  .case-card-visual,.case-card-footer .case-card-visual { height:250px; }.case-card-body,.case-card-footer .case-card-body { min-height:270px; padding:22px 20px; }.case-card h3 { font-size:23px; }
  .case-library-hero-grid { min-height:0; padding-top:44px; padding-bottom:54px; }.case-library-copy .service-breadcrumbs { margin-bottom:40px; }.case-library-copy h1 { font-size:45px; }.case-library-copy > p:not(.eyebrow) { font-size:16px; }.case-library-actions .button { width:100%; }.case-library-aside { min-height:260px; padding:24px; border-radius:19px; }.case-library-aside > div { left:24px; bottom:71px; }.case-library-aside > div strong { font-size:62px; }.case-library-aside > p { left:24px; right:24px; bottom:22px; }
  .case-library-section { padding:69px 0 73px; }.case-library-grid .case-card-visual { height:270px; }.case-library-grid .case-card-body { min-height:285px; padding:24px 21px; }.case-library-grid .case-card h3 { font-size:27px; }.case-method { padding-bottom:69px; }.case-method-shell { padding:29px 23px; border-radius:18px; }.case-method-shell h2 { font-size:35px; }.case-library-cta,.case-single-cta { padding-bottom:70px; }.case-library-cta-shell,.case-single-cta-shell { min-height:0; padding:31px 24px; border-radius:18px; }.case-library-cta h2,.case-single-cta h2 { font-size:36px; }.case-library-cta .button,.case-single-cta .button { width:100%; }
  .case-single-hero { padding:42px 0 57px; }.case-single-hero .service-breadcrumbs { margin-bottom:39px; }.case-single-title h1 { font-size:44px; }.case-single-title > p:not(.eyebrow) { font-size:16.5px; }.case-single-cover { height:360px; margin-top:35px; border-radius:18px; }.case-single-cover figcaption { left:12px; right:12px; bottom:11px; align-items:flex-start; flex-direction:column; gap:5px; padding:12px; }.case-single-cover figcaption p { font-size:8px; }
  .case-single-body { padding:69px 0 75px; }.case-story > section { margin-bottom:60px; }.case-story h2 { font-size:36px; }.case-story > section > p:not(.eyebrow),.case-story-prose { font-size:16px; }.case-story-prose > p:first-child { font-size:18px; }.case-story-highlight { grid-template-columns:1fr; padding:27px 22px; }.case-story-highlight h2 { font-size:31px; }.case-story-highlight p:last-child { font-size:15px; }.case-lessons li { grid-template-columns:34px 1fr; padding:14px; }.case-lessons li span { width:31px; height:31px; }.case-lessons li p { font-size:14px; }.case-facts { grid-template-columns:1fr; padding:24px 21px; }.case-facts-mark,.case-facts > .eyebrow,.case-facts > a,.case-facts .case-facts-note { grid-column:auto; }
  .case-related { padding:68px 0 72px; }.case-related-heading { align-items:flex-start; flex-direction:column; }.case-related-heading h2 { font-size:37px; }
}

.case-sources { padding-top: 4px; }
.case-sources ul { display: grid; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.case-sources li { margin: 0; }
.case-sources a { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border: 1px solid #d8e6dc; border-radius: 13px; color: #102118; background: #f7fbf8; font-size: 14px; font-weight: 760; line-height: 1.4; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.case-sources a:hover { transform: translateY(-2px); border-color: #8dcea0; box-shadow: 0 10px 24px rgba(23,107,46,.08); }
.case-sources a i { flex: 0 0 auto; color: var(--green-dark); font-size: 17px; font-style: normal; }

/* Version 2.3 - database-managed Products and RCC product experience. */
.products-db-grid { grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.product-db-card { position:relative; min-width:0; }
.product-db-card .product-visual-image { position:relative; display:block; height:250px; margin:0; border-radius:0; color:#fff; background:#dce6eb; box-shadow:none; }
.product-visual-image::after { content:""; position:absolute; inset:auto 0 0; height:46%; pointer-events:none; background:linear-gradient(180deg,transparent,rgba(9,32,48,.52)); }
.product-visual-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s ease; }
.product-db-card:hover .product-visual-image img { transform:scale(1.018); }
.product-db-badge { position:absolute; z-index:2; left:16px; bottom:15px; padding:7px 10px; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:#fff; background:rgba(27,69,91,.78); backdrop-filter:blur(8px); font-size:9px; font-weight:780; letter-spacing:.02em; }
.product-db-fallback { display:grid; place-items:center; align-content:center; height:100%; color:#fff; background:linear-gradient(145deg,#536f87,#1d4058); }.product-db-fallback b { font-size:48px; }.product-db-fallback small { margin-top:6px; }
.product-db-card .product-body { display:flex; flex-direction:column; padding:27px 27px 25px; }
.product-db-card .product-title { align-items:flex-start; }.product-db-card .product-title h3 { font-size:24px; line-height:1.12; letter-spacing:-.04em; }.product-db-card .product-title small { display:block; margin-top:4px; line-height:1.45; }
.product-db-card .product-logo { width:42px; height:42px; border-radius:12px; background:linear-gradient(145deg,#57738b,#31536c); font-size:10px; font-weight:850; }
.product-db-card .product-body > p { min-height:0; margin:20px 0; color:#55635b; font-size:14.5px; line-height:1.7; }
.product-db-card .feature-grid { margin-bottom:23px; }.product-db-card .feature-grid span { font-size:10px; }
.product-db-card .product-body > a { margin-top:auto; }
.products-db-grid.products-count-1 { grid-template-columns:1fr; }
.products-count-1 .product-home-card,.product-archive-grid.products-count-1 .product-archive-card { display:grid; grid-template-columns:minmax(0,1.13fr) minmax(380px,.87fr); min-height:500px; border-radius:19px; box-shadow:0 24px 64px rgba(18,55,34,.10); }
.products-count-1 .product-home-card .product-visual-image,.product-archive-grid.products-count-1 .product-archive-card .product-visual-image { height:100%; min-height:500px; }
.products-count-1 .product-home-card .product-body,.product-archive-grid.products-count-1 .product-archive-card .product-body { justify-content:center; padding:48px 46px; }
.products-count-1 .product-home-card .product-title h3,.product-archive-grid.products-count-1 .product-archive-card .product-title h3 { font-size:36px; }
.products-count-1 .product-home-card .product-body > p,.product-archive-grid.products-count-1 .product-archive-card .product-body > p { font-size:16px; }

/* Keep the single homepage product compact; the full-height artwork belongs on its detail page. */
.products-count-1 .product-home-card { grid-template-columns:minmax(0,.78fr) minmax(430px,1.22fr); min-height:400px; }
.products-count-1 .product-home-card .product-visual-image { height:400px; min-height:400px; }
.products-count-1 .product-home-card .product-body { padding:36px 42px; }
.products-count-1 .product-home-card .product-title h3 { font-size:32px; }

/* Archive previews stay compact even while only one product is published. */
.product-archive-grid.products-count-1 .product-archive-card { grid-template-columns:minmax(0,.78fr) minmax(430px,1.22fr); min-height:400px; }
.product-archive-grid.products-count-1 .product-archive-card .product-visual-image { height:400px; min-height:400px; }
.product-archive-grid.products-count-1 .product-archive-card .product-body { padding:36px 42px; }
.product-archive-grid.products-count-1 .product-archive-card .product-title h3 { font-size:32px; }

.product-library-page,.product-detail-page { overflow:hidden; color:var(--ink); background:#fff; }
.product-library-hero { position:relative; overflow:hidden; border-bottom:1px solid #d9e7df; background:radial-gradient(circle at 82% 12%,rgba(87,119,144,.20),transparent 29%),linear-gradient(150deg,#fbfefc,#eff7f3); }
.product-library-orbit { position:absolute; right:-120px; top:-300px; width:760px; height:760px; border:1px solid rgba(45,156,71,.13); border-radius:50%; box-shadow:inset 0 0 0 78px rgba(55,178,81,.025),inset 0 0 0 156px rgba(55,178,81,.018); }
.product-library-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.06fr .54fr; align-items:center; gap:95px; min-height:650px; padding-top:70px; padding-bottom:76px; }
.product-library-hero .service-breadcrumbs { margin-bottom:59px; }.product-library-hero h1 { max-width:850px; margin:0; font-size:clamp(54px,6.2vw,80px); line-height:1; letter-spacing:-.066em; }.product-library-hero h1 em { color:var(--green); font-style:normal; }.product-library-hero-grid > div > p:not(.eyebrow) { max-width:720px; margin:27px 0 0; color:#536159; font-size:18px; line-height:1.72; }.product-library-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.product-library-summary { position:relative; min-height:370px; overflow:hidden; padding:31px; border-radius:25px; color:#fff; background:radial-gradient(circle at 85% 12%,rgba(88,151,181,.35),transparent 35%),linear-gradient(145deg,#526f87,#17374e); box-shadow:0 30px 75px rgba(22,54,76,.22); }.product-library-summary::after { content:""; position:absolute; right:-90px; top:-48px; width:300px; height:300px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:inset 0 0 0 45px rgba(255,255,255,.025),inset 0 0 0 90px rgba(255,255,255,.018); }.product-library-logo { position:relative; z-index:2; display:grid; place-items:center; width:76px; height:76px; border-radius:21px; color:#fff; background:linear-gradient(145deg,#51c86a,#19923d); font-size:42px; font-weight:950; font-style:italic; transform:skewX(-7deg); }.product-library-summary > div { position:absolute; z-index:2; left:31px; bottom:75px; display:flex; align-items:center; gap:15px; }.product-library-summary strong { font-size:75px; line-height:.8; letter-spacing:-.07em; }.product-library-summary > div span { color:#d0dde4; font-size:11px; line-height:1.35; }.product-library-summary > p { position:absolute; z-index:2; left:31px; right:31px; bottom:24px; display:flex; align-items:center; gap:10px; margin:0; color:#d0dde4; font-size:9px; line-height:1.4; }.product-library-summary > p i { width:7px; height:7px; border-radius:50%; background:#73df8b; box-shadow:0 0 0 6px rgba(115,223,139,.12); }
.product-library-grid-section { padding:98px 0 104px; }.product-library-heading,.product-section-heading { display:grid; grid-template-columns:1.05fr .78fr; align-items:end; gap:90px; margin-bottom:40px; }.product-library-heading h2,.product-section-heading h2 { margin:0; font-size:clamp(43px,4.7vw,59px); line-height:1.03; letter-spacing:-.06em; }.product-library-heading h2 em,.product-section-heading h2 em { color:var(--green); font-style:normal; }.product-library-heading > p,.product-section-heading > p { margin:0 0 5px; color:#59675f; font-size:16px; line-height:1.72; }.product-archive-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:18px; }
.product-library-cta { padding:0 0 98px; }.product-library-cta-shell { display:flex; align-items:center; justify-content:space-between; gap:45px; min-height:250px; padding:49px 52px; border:1px solid #d8e7dc; border-radius:24px; background:radial-gradient(circle at 85% 16%,rgba(79,111,137,.13),transparent 28%),#f4faf6; box-shadow:0 20px 55px rgba(20,72,36,.075); }.product-library-cta h2 { margin:0; font-size:clamp(39px,4vw,53px); line-height:1.05; letter-spacing:-.058em; }

.product-detail-hero { position:relative; overflow:hidden; padding:62px 0 86px; border-bottom:1px solid #d4e1da; background:radial-gradient(circle at 82% 10%,rgba(72,113,145,.19),transparent 30%),linear-gradient(145deg,#fcfefc 0%,#f1f7f4 54%,#eaf2f4 100%); }
.product-detail-glow { position:absolute; right:-180px; top:-330px; width:820px; height:820px; border:1px solid rgba(65,118,150,.14); border-radius:50%; box-shadow:inset 0 0 0 82px rgba(61,118,153,.025),inset 0 0 0 164px rgba(43,166,73,.02); }
.product-detail-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:.84fr 1.16fr; align-items:center; gap:70px; }
.product-detail-copy .service-breadcrumbs { margin-bottom:55px; }.product-detail-badge { display:inline-flex; align-items:center; gap:8px; margin:7px 0 18px; padding:8px 11px; border:1px solid #cbdce3; border-radius:999px; color:#46647a; background:rgba(255,255,255,.8); font-size:9px; font-weight:780; }.product-detail-badge i { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(47,178,75,.11); }
.product-detail-copy h1 { margin:0; font-size:clamp(54px,5.5vw,76px); line-height:.98; letter-spacing:-.068em; }.product-detail-copy h2 { max-width:680px; margin:18px 0 0; color:#4c6d85; font-size:clamp(26px,2.8vw,39px); line-height:1.08; letter-spacing:-.047em; }.product-detail-copy > p:not(.eyebrow) { max-width:680px; margin:25px 0 0; color:#526159; font-size:17px; line-height:1.76; }.product-detail-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.product-detail-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-top:40px; padding-top:24px; border-top:1px solid #d5e2da; }.product-detail-metrics div { min-width:0; padding-right:13px; }.product-detail-metrics div + div { padding-left:13px; border-left:1px solid #d5e2da; }.product-detail-metrics strong,.product-detail-metrics span { display:block; }.product-detail-metrics strong { font-size:24px; line-height:1; letter-spacing:-.05em; }.product-detail-metrics span { margin-top:7px; color:#6c7971; font-size:8.5px; line-height:1.35; }
.product-hero-media { position:relative; padding:32px 12px 34px; }.product-browser-frame { position:relative; z-index:2; overflow:hidden; border:7px solid #fff; border-radius:24px; background:#fff; box-shadow:0 35px 85px rgba(20,57,78,.24); transform:rotate(1.2deg); }.product-browser-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; height:45px; padding:0 15px; border-bottom:1px solid #d8e1e5; color:#6d7c85; background:#f7fafb; }.product-browser-bar > span { display:flex; gap:5px; }.product-browser-bar > span i { width:7px; height:7px; border-radius:50%; background:#d3dde2; }.product-browser-bar small { overflow:hidden; font-size:8px; white-space:nowrap; text-overflow:ellipsis; }.product-browser-bar b { display:grid; place-items:center; width:27px; height:27px; border-radius:8px; color:#fff; background:#516e85; font-size:7px; }.product-browser-screen { height:520px; overflow:hidden; background:#edf2f4; }.product-browser-screen img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top; }.product-screen-fallback { display:grid; place-items:center; align-content:center; height:100%; color:#fff; background:linear-gradient(145deg,#516f86,#17364d); }.product-screen-fallback span { font-size:64px; font-weight:900; }.product-screen-fallback p { margin:8px 0 0; }
.product-hero-float { position:absolute; z-index:3; display:flex; align-items:center; gap:10px; min-width:190px; padding:12px 14px; border:1px solid rgba(199,216,206,.9); border-radius:13px; background:rgba(255,255,255,.92); box-shadow:0 16px 38px rgba(18,64,38,.14); backdrop-filter:blur(8px); }.product-hero-float > span { display:grid; place-items:center; min-width:40px; height:40px; padding:0 7px; border-radius:11px; color:#fff; background:linear-gradient(145deg,#4fc868,#198e3b); font-size:10px; font-weight:850; }.product-hero-float p { margin:0; }.product-hero-float small,.product-hero-float strong { display:block; }.product-hero-float small { color:#7a8980; font-size:7px; letter-spacing:.09em; }.product-hero-float strong { margin-top:3px; font-size:10px; }.product-float-one { left:-18px; bottom:0; }.product-float-two { right:-20px; top:10px; }
.product-trust-strip { border-bottom:1px solid #d8e5dc; background:#fff; }.product-trust-strip .container { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:18px; min-height:76px; color:#587066; font-size:10px; font-weight:730; }.product-trust-strip i { width:5px; height:5px; border-radius:50%; background:var(--green); }

.product-story-section { padding:108px 0; }.product-story-grid { display:grid; grid-template-columns:.94fr 1.06fr; align-items:start; gap:95px; }.product-story-grid h2 { margin:0; font-size:clamp(45px,5vw,63px); line-height:1.02; letter-spacing:-.062em; }.product-story-grid h2 em { color:#4f7088; font-style:normal; }.product-story-prose { margin-top:29px; color:#4d5c53; font-size:17px; line-height:1.82; }.product-story-prose p { margin:0 0 21px; }.product-story-prose p:first-child { color:#24342a; font-size:20px; }.product-benefit-stack { display:grid; gap:11px; }.product-benefit-stack article { display:grid; grid-template-columns:54px 1fr; gap:18px; min-height:124px; padding:24px 25px; border:1px solid #d9e5dd; border-radius:17px; background:linear-gradient(135deg,#f7faf8,#fff); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }.product-benefit-stack article:hover { transform:translateY(-3px); border-color:#aacdb3; box-shadow:0 16px 38px rgba(20,72,36,.08); }.product-benefit-stack article > span { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; color:#fff; background:#506f87; font-size:9px; font-weight:850; }.product-benefit-stack h3 { margin:0; font-size:20px; letter-spacing:-.04em; }.product-benefit-stack p { margin:8px 0 0; color:#647168; font-size:13px; line-height:1.65; }
.product-feature-section { padding:103px 0 110px; background:radial-gradient(circle at 92% 8%,rgba(76,112,139,.11),transparent 27%),#f4f8f5; }.product-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }.product-feature-grid article { display:grid; grid-template-columns:50px 1fr; gap:17px; min-height:235px; padding:27px 24px; border:1px solid #d5e4da; border-radius:18px; background:rgba(255,255,255,.9); transition:transform .22s ease,box-shadow .22s ease; }.product-feature-grid article:hover { transform:translateY(-5px); box-shadow:0 20px 45px rgba(20,67,35,.09); }.product-feature-grid article > span { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; color:#466780; background:#e8f0f4; }.product-feature-grid article > span svg { width:23px; height:23px; }.product-feature-grid small { color:var(--green-dark); font-size:8px; font-weight:850; letter-spacing:.09em; }.product-feature-grid h3 { margin:34px 0 11px; font-size:21px; line-height:1.18; letter-spacing:-.04em; }.product-feature-grid p { margin:0; color:#627068; font-size:12.5px; line-height:1.68; }

.product-mobile-section { padding:108px 0; color:#fff; background:radial-gradient(circle at 10% 8%,rgba(70,186,97,.17),transparent 28%),linear-gradient(145deg,#102d3f,#47677f); }.product-mobile-grid { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:85px; }.product-mobile-screen { position:relative; height:650px; overflow:hidden; border:8px solid rgba(255,255,255,.94); border-radius:26px; background:#e7edf0; box-shadow:0 35px 80px rgba(4,20,30,.34); transform:rotate(-1.2deg); }.product-mobile-screen::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(180deg,transparent,rgba(10,38,55,.6)); }.product-mobile-screen > img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top; }.product-mobile-screen > div { position:absolute; z-index:2; left:24px; bottom:22px; display:flex; align-items:center; gap:11px; }.product-mobile-screen > div span { display:grid; place-items:center; width:43px; height:43px; border-radius:12px; background:var(--green); font-size:9px; font-weight:850; }.product-mobile-screen > div p { margin:0; font-size:12px; font-weight:750; }.product-mobile-section .eyebrow { color:#78df90; }.product-mobile-grid h2 { margin:0; font-size:clamp(44px,4.8vw,62px); line-height:1.02; letter-spacing:-.062em; }.product-mobile-grid h2 em { color:#85e39a; font-style:normal; }.product-mobile-intro { margin:24px 0 0; color:#d1dfe5; font-size:16px; line-height:1.75; }.product-mobile-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:31px; }.product-mobile-list article { display:grid; grid-template-columns:31px 1fr; gap:11px; padding:16px; border:1px solid rgba(255,255,255,.15); border-radius:13px; background:rgba(255,255,255,.065); }.product-mobile-list article > span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:#fff; background:rgba(71,193,97,.85); }.product-mobile-list h3 { margin:0; font-size:13px; }.product-mobile-list p { margin:6px 0 0; color:#c3d3da; font-size:9.5px; line-height:1.55; }

.product-video-section { padding:105px 0 112px; background:#f6faf7; }.product-video-heading { max-width:790px; margin:0 auto 38px; text-align:center; }.product-video-heading h2 { margin:0; font-size:clamp(48px,5vw,65px); letter-spacing:-.064em; }.product-video-heading > p:not(.eyebrow) { margin:20px auto 0; color:#5d6a62; font-size:16px; line-height:1.72; }.product-video-shell { overflow:hidden; border:1px solid #cadbd0; border-radius:24px; background:#fff; box-shadow:0 30px 75px rgba(20,65,35,.14); }.product-video-top { display:flex; align-items:center; gap:18px; min-height:53px; padding:0 18px; border-bottom:1px solid #d8e3dc; color:#64736a; background:#f8faf9; }.product-video-top > span { display:flex; gap:5px; }.product-video-top > span i { width:7px; height:7px; border-radius:50%; background:#cbd6cf; }.product-video-top p { flex:1; margin:0; font-size:9px; font-weight:700; }.product-video-top a { color:#375b72; font-size:9px; font-weight:780; }.product-video-frame { position:relative; padding-top:56.25%; background:linear-gradient(145deg,#17374d,#0c2638); }.product-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.product-gallery-section { padding:105px 0 112px; }.product-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.product-gallery-grid figure { overflow:hidden; margin:0; border:1px solid #d2e0d7; border-radius:20px; background:#fff; box-shadow:0 22px 55px rgba(20,65,35,.09); }.product-gallery-toolbar { display:flex; align-items:center; gap:12px; min-height:48px; padding:0 14px; border-bottom:1px solid #dbe5df; color:#718078; background:#f7faf8; }.product-gallery-toolbar > span { display:flex; gap:4px; }.product-gallery-toolbar > span i { width:6px; height:6px; border-radius:50%; background:#ccd6d0; }.product-gallery-toolbar small { flex:1; font-size:8px; }.product-gallery-toolbar a { color:#315e45; font-size:8px; font-weight:780; }.product-gallery-grid figure > div:last-child { height:470px; overflow:hidden; background:#e9eff0; }.product-gallery-grid figure img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top; transition:transform .5s ease; }.product-gallery-grid figure:hover img { transform:scale(1.012); }
.product-faq-section { padding:105px 0 112px; background:#f4f8f5; }.product-faq-grid { display:grid; grid-template-columns:.66fr 1.34fr; align-items:start; gap:85px; }.product-faq-grid h2 { margin:0; font-size:clamp(43px,4.8vw,60px); line-height:1.03; letter-spacing:-.061em; }.product-faq-grid h2 em { color:#4f7088; font-style:normal; }.product-faq-grid > div:first-child > p:not(.eyebrow) { margin:22px 0 0; color:#606d65; font-size:15px; line-height:1.7; }.product-faq-grid > div:first-child > a { display:inline-block; margin-top:24px; color:var(--green-dark); font-size:11px; font-weight:800; }.product-faq-list { display:grid; gap:9px; }.product-faq-list details { overflow:hidden; border:1px solid #d4e2d8; border-radius:14px; background:#fff; }.product-faq-list summary { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:14px; min-height:76px; padding:16px 19px; cursor:pointer; list-style:none; }.product-faq-list summary::-webkit-details-marker { display:none; }.product-faq-list summary > span { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; color:#4a6a80; background:#eaf1f4; font-size:8px; font-weight:850; }.product-faq-list summary strong { font-size:14px; line-height:1.45; }.product-faq-list summary i { color:var(--green-dark); font-size:19px; font-style:normal; transition:transform .2s ease; }.product-faq-list details[open] summary i { transform:rotate(45deg); }.product-faq-list details > p { margin:0; padding:0 67px 22px; color:#5d6b62; font-size:13px; line-height:1.7; }
.product-final-cta { padding:0 0 105px; background:#fff; }.product-final-cta-shell { position:relative; display:flex; align-items:center; justify-content:space-between; gap:60px; min-height:315px; overflow:hidden; padding:55px 58px; border-radius:27px; color:#fff; background:radial-gradient(circle at 86% 10%,rgba(78,193,101,.24),transparent 29%),linear-gradient(135deg,#153b51,#496a82); box-shadow:0 28px 70px rgba(20,54,75,.20); }.product-final-cta-shell > div { position:relative; z-index:2; max-width:760px; }.product-final-cta .eyebrow { color:#80e096; }.product-final-cta h2 { margin:0; font-size:clamp(43px,4.8vw,61px); line-height:1.03; letter-spacing:-.062em; }.product-final-cta p:not(.eyebrow) { max-width:660px; margin:20px 0 0; color:#d2e0e6; font-size:14px; line-height:1.7; }.product-final-cta .button { position:relative; z-index:2; flex:0 0 auto; }.product-final-mark { position:absolute; right:20%; top:50%; color:rgba(255,255,255,.055); font-size:190px; font-weight:950; letter-spacing:-.1em; transform:translateY(-50%) rotate(-7deg); }

@media (max-width:1180px) {
  .product-detail-hero-grid { grid-template-columns:.9fr 1.1fr; gap:42px; }.product-browser-screen { height:470px; }.product-hero-float { min-width:170px; }
  .product-story-grid,.product-mobile-grid { gap:55px; }.product-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.product-faq-grid { gap:50px; }
}
@media (max-width:960px) {
  .products-count-1 .product-home-card,.product-archive-grid.products-count-1 .product-archive-card { grid-template-columns:1fr; }.products-count-1 .product-home-card .product-visual-image { height:330px; min-height:330px; }.product-archive-grid.products-count-1 .product-archive-card .product-visual-image { min-height:390px; }.products-count-1 .product-home-card .product-body,.product-archive-grid.products-count-1 .product-archive-card .product-body { padding:38px; }
  .product-library-hero-grid,.product-detail-hero-grid { grid-template-columns:1fr; }.product-library-hero-grid { gap:45px; }.product-library-summary { width:min(100%,620px); min-height:310px; }.product-detail-copy { max-width:820px; }.product-hero-media { width:min(100%,800px); margin:auto; }.product-browser-screen { height:520px; }
  .product-library-heading,.product-section-heading { grid-template-columns:1fr; gap:22px; }.product-library-heading > p,.product-section-heading > p { max-width:720px; }
  .product-story-grid,.product-mobile-grid,.product-faq-grid { grid-template-columns:1fr; }.product-story-grid { gap:48px; }.product-mobile-screen { width:min(100%,760px); height:580px; }.product-faq-grid > div:first-child { max-width:720px; }.product-final-cta-shell,.product-library-cta-shell { align-items:flex-start; flex-direction:column; }
}
@media (max-width:700px) {
  .product-feature-grid,.product-gallery-grid { grid-template-columns:1fr; }.product-mobile-list { grid-template-columns:1fr; }.product-gallery-grid figure > div:last-child { height:420px; }
  .product-detail-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; }.product-detail-metrics div:nth-child(3) { padding-left:0; border-left:0; }.product-library-actions,.product-detail-actions { align-items:stretch; flex-direction:column; }.product-library-actions .button,.product-detail-actions .button { width:100%; }
}
@media (max-width:620px) {
  .products-count-1 .product-home-card,.product-archive-grid.products-count-1 .product-archive-card { min-height:0; border-radius:15px; }.products-count-1 .product-home-card .product-visual-image { height:230px; min-height:230px; }.product-archive-grid.products-count-1 .product-archive-card .product-visual-image { min-height:285px; }.products-count-1 .product-home-card .product-body,.product-archive-grid.products-count-1 .product-archive-card .product-body { padding:25px 21px; }.products-count-1 .product-home-card .product-title h3,.product-archive-grid.products-count-1 .product-archive-card .product-title h3 { font-size:27px; }.products-count-1 .product-home-card .product-body > p,.product-archive-grid.products-count-1 .product-archive-card .product-body > p { font-size:14.5px; }
  .product-library-hero-grid,.product-detail-hero-grid,.product-library-grid-section > .container,.product-story-grid,.product-feature-section > .container,.product-mobile-grid,.product-video-section > .container,.product-gallery-section > .container,.product-faq-grid,.product-final-cta-shell,.product-library-cta-shell { width:min(100% - 28px,520px); }
  .product-library-hero-grid { min-height:0; padding-top:44px; padding-bottom:56px; }.product-library-hero .service-breadcrumbs,.product-detail-copy .service-breadcrumbs { margin-bottom:40px; }.product-library-hero h1 { font-size:45px; }.product-library-hero-grid > div > p:not(.eyebrow) { font-size:16px; }.product-library-summary { min-height:270px; padding:24px; border-radius:19px; }.product-library-summary > div { left:24px; bottom:70px; }.product-library-summary > p { left:24px; right:24px; bottom:21px; }
  .product-library-grid-section { padding:70px 0 75px; }.product-library-heading h2,.product-section-heading h2 { font-size:38px; }.product-library-heading > p,.product-section-heading > p { font-size:14.5px; }.product-library-cta { padding-bottom:72px; }.product-library-cta-shell { min-height:0; padding:31px 24px; border-radius:18px; }.product-library-cta h2 { font-size:36px; }.product-library-cta .button { width:100%; }
  .product-detail-hero { padding:42px 0 59px; }.product-detail-copy h1 { font-size:48px; }.product-detail-copy h2 { font-size:27px; }.product-detail-copy > p:not(.eyebrow) { font-size:15.5px; }.product-detail-metrics strong { font-size:22px; }.product-hero-media { padding:27px 0 32px; }.product-browser-frame { border-width:5px; border-radius:17px; transform:none; }.product-browser-bar { height:39px; }.product-browser-screen { height:340px; }.product-hero-float { min-width:0; padding:9px; }.product-hero-float > span { min-width:34px; height:34px; }.product-float-one { left:-5px; }.product-float-two { right:-5px; top:7px; }.product-trust-strip .container { gap:11px; padding:16px 0; font-size:8px; }
  .product-story-section,.product-feature-section,.product-mobile-section,.product-video-section,.product-gallery-section,.product-faq-section { padding:72px 0; }.product-story-grid h2,.product-mobile-grid h2,.product-faq-grid h2 { font-size:39px; }.product-story-prose { font-size:15.5px; }.product-story-prose p:first-child { font-size:17px; }.product-benefit-stack article { grid-template-columns:43px 1fr; padding:19px 17px; }.product-benefit-stack article > span { width:41px; height:41px; }.product-feature-grid article { min-height:0; padding:22px 19px; }.product-mobile-screen { height:390px; border-width:5px; border-radius:18px; transform:none; }.product-mobile-intro { font-size:14.5px; }
  .product-video-heading h2 { font-size:42px; }.product-video-heading > p:not(.eyebrow) { font-size:14px; }.product-video-shell { border-radius:16px; }.product-video-top p { display:none; }.product-video-top a { margin-left:auto; }.product-gallery-grid figure > div:last-child { height:350px; }.product-gallery-toolbar small { display:none; }.product-faq-list summary { grid-template-columns:31px 1fr auto; min-height:68px; padding:14px; }.product-faq-list summary strong { font-size:12.5px; }.product-faq-list details > p { padding:0 16px 18px 59px; font-size:12px; }
  .product-final-cta { padding-bottom:72px; }.product-final-cta-shell { min-height:0; padding:34px 25px; border-radius:19px; }.product-final-cta h2 { font-size:38px; }.product-final-cta .button { width:100%; }.product-final-mark { display:none; }
}

/* Version 2.4 - smaller product imagery and consistent interface previews. */
.product-browser-screen { height:400px; }
.product-browser-screen img { width:100%; height:100%; min-height:0; object-fit:cover; object-position:top; }
.product-gallery-grid figure > div:last-child { height:340px; }
.product-gallery-grid figure img { width:100%; height:100%; min-height:0; object-fit:cover; object-position:top; }

@media (max-width:1180px) {
  .product-browser-screen { height:370px; }
}
@media (max-width:960px) {
  .product-browser-screen { height:380px; }
}
@media (max-width:700px) {
  .product-gallery-grid figure > div:last-child { height:320px; }
}
@media (max-width:620px) {
  .product-browser-screen { height:270px; }
  .product-gallery-grid figure > div:last-child { height:250px; }
  .product-archive-grid.products-count-1 .product-archive-card .product-visual-image { height:230px; min-height:230px; }
}
