/* Homepage visual refresh. Shared service pages retain their styles. */
.home .hero{padding-top:65px;background:radial-gradient(ellipse at 80% 25%,#008f4a10,transparent 55%)}
.home .hero-grid{gap:54px;grid-template-columns:1.05fr 1fr}
.home .hero-visual{height:590px;min-height:0;background:none;box-shadow:none;border-radius:0;position:relative}
.home .hero-visual:after{display:none}
.hero-photo-main{position:absolute;inset:0 0 110px 34px;border-radius:100px 20px 20px 20px;overflow:hidden;background:#2a2f38}
.hero-photo-main:after,.hero-photo-digital:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#172b24b5)}
.hero-photo-main img,.hero-photo-digital img{width:100%;height:100%;object-fit:cover;display:block}
.hero-photo-main img{object-position:42% center}
.hero-photo-digital{position:absolute;width:66%;height:235px;bottom:0;left:0;overflow:hidden;border:7px solid #f4f4f4;border-radius:22px;box-shadow:0 18px 35px #2a2f381a;transform:rotate(-3deg)}
.photo-label{position:absolute;bottom:24px;left:25px;z-index:1;color:white;font-size:10px;font-weight:700;letter-spacing:1.4px}
.hero-stamp{position:absolute;right:-10px;top:34px;display:flex;align-items:center;gap:14px;background:#f4f4f4;border:1px solid #008f4a20;padding:19px 22px;border-radius:14px;box-shadow:0 12px 35px #2a2f3812;font-size:13px;line-height:1.6}
.hero-stamp img{width:40px;height:40px}.hero-stamp strong{font-weight:750}
.home .hero-bottom{margin-top:52px;justify-content:space-between;padding:27px 45px;background:#fff8;border-radius:16px;border:1px solid #008f4a20}
.home .category-card{overflow:hidden;padding:0 32px 32px;border-radius:23px}
.category-image{height:230px;position:relative;margin:0 -32px 28px;overflow:hidden;background:#2a2f38}
.category-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#172b24b5)}
.category-image img{display:block;object-fit:cover;width:100%;height:100%;transition:transform .6s}
.category-card:hover .category-image img{transform:scale(1.04)}
.category-image span{position:absolute;z-index:1;bottom:22px;left:32px;color:#fff;font-size:11px;font-weight:700;letter-spacing:1.5px}
.home .category-card-top{margin-bottom:20px}.home .category-symbol{width:50px;height:50px;border-radius:14px}.home .category-symbol svg{width:27px;height:27px}
.home .category-action:after{content:' ↗';margin-left:9px}.home .services{padding-bottom:88px}
.brand-story{background:#e9eeeb;padding-top:78px;padding-bottom:60px}.story-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:35px}.story-heading>p{max-width:340px;color:#62676e;margin:0}.story-heading .eyebrow{margin-bottom:18px}.story-heading h2{font-size:44px}.story-player{border-radius:20px;overflow:hidden;background:#2a2f38;box-shadow:0 16px 40px #2a2f3815}.story-player video{display:block;width:100%;height:auto;aspect-ratio:16/9}.story-caption{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:16px;color:#62676e}.story-caption p{font-size:13px;margin:0}.story-caption span{font-size:10px;letter-spacing:1px;white-space:nowrap}.home .contact-layout{box-shadow:0 18px 40px #008f4a20}
@media(max-width:1050px){.home .hero-grid{gap:30px}.home .hero-visual{height:550px}.hero-stamp{right:0;padding:14px}.hero-photo-digital{height:210px;width:75%}.story-heading h2{font-size:38px}}
@media(max-width:760px){.home .hero{padding-top:30px}.home .hero-grid{grid-template-columns:1fr;gap:16px}.home .hero-visual{height:440px;margin:0}.hero-photo-main{inset:0 0 75px 25px;border-radius:65px 18px 18px 18px}.hero-photo-digital{height:190px;width:65%}.hero-stamp{top:22px;font-size:12px;padding:13px}.hero-stamp img{width:30px;height:30px}.photo-label{font-size:9px;left:18px;bottom:20px}.home .hero-bottom{padding:20px 14px;gap:15px;justify-content:center;margin-top:35px}.home .category-card{padding:0 25px 27px}.category-image{margin:0 -25px 25px;height:210px}.category-image span{left:25px}.home .services{padding-bottom:60px}.story-heading{display:block}.story-heading h2{font-size:34px;letter-spacing:-1.6px}.story-heading>p{max-width:none;margin-top:22px}.brand-story{padding:55px 0 40px}.story-caption{display:block}.story-caption span{display:block;margin-top:10px}.story-player{border-radius:12px}}

.hero-photo-main,.hero-photo-digital{isolation:isolate}.hero-photo-main .photo-label{display:none}
/* Image, goal explorer and accessible scroll interactions. */
.story-explorer{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 18px 45px #2a2f3810}
.story-photo{position:relative;margin:0;min-height:590px;overflow:hidden;background:#2a2f38;isolation:isolate}.story-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block;transition:transform .8s ease}.story-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#15251de6);z-index:0}.story-photo figcaption{position:absolute;bottom:36px;left:36px;right:36px;z-index:1;color:white;font-size:32px;font-weight:700;line-height:1.2;letter-spacing:-1px}
.goal-picker{padding:42px}.goal-picker>.eyebrow{margin-bottom:16px}.goal-picker h3{font-size:32px}.goal-picker>p:not(.eyebrow){color:var(--muted);font-size:15px}.goal-options{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.goal-options[hidden]{display:none}.goal-options button{font:600 13px/1.4 inherit;font-family:inherit;font-size:13px;line-height:1.4;font-weight:600;padding:12px 16px;border-radius:30px;border:1px solid #cedbd3;color:var(--ink);background:#f4f4f4;cursor:pointer;transition:background .2s,color .2s,transform .2s}.goal-options button:hover{border-color:var(--green);transform:translateY(-2px)}.goal-options button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.goal-options button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.goal-result{border-top:1px solid #dce5df;padding-top:24px}.goal-result span{font-size:10px;letter-spacing:1.5px;font-weight:750;color:#007d41}.goal-result h4{font-size:23px;line-height:1.25;margin:12px 0}.goal-result p{font-size:15px;color:var(--muted);margin:0 0 18px;min-height:78px}.goal-result .text-link{display:table;margin-bottom:24px}.goal-result .button{font-size:14px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.category-card.reveal:nth-child(2),.steps li.reveal:nth-child(2){transition-delay:.1s}.steps li.reveal:nth-child(3){transition-delay:.18s}.category-card.is-visible:hover{transform:translateY(-6px);transition-delay:0s}.home header nav a[aria-current=location]{color:#007d41}.home header nav a[aria-current=location]:after{width:100%}.back-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;display:grid;place-items:center;background:#2a2f38;color:white;border:1px solid #ffffff50;border-radius:50%;box-shadow:0 5px 18px #0002;z-index:21;font-size:24px;transition:transform .2s,background .2s}.back-top[hidden]{display:none}.back-top:hover{background:#007d41;transform:translateY(-3px)}
@media(hover:hover){.story-photo:hover img{transform:scale(1.035)}}
@media(max-width:1000px){.goal-picker{padding:28px}.story-photo figcaption{font-size:28px;left:28px;right:28px}}
@media(max-width:760px){.story-explorer{grid-template-columns:1fr}.story-photo{min-height:350px}.story-photo img{object-position:center 57%}.story-photo figcaption{font-size:27px;bottom:26px}.goal-picker{padding:28px 23px}.goal-picker h3{font-size:28px}.goal-result p{min-height:0}.back-top{right:15px;bottom:85px;width:42px;height:42px}.goal-result .button{width:100%}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.home *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.reveal:focus-within{opacity:1;transform:none}
/* Numbered photographic cards, inspired by the reference process sequence. */
.home .service-stage{background:#2a2f38;color:#f4f4f4;margin-top:60px;padding:75px 0 85px;position:relative;isolation:isolate;overflow:clip}
.home .service-stage .section-heading{margin-bottom:32px;gap:40px}.home .service-stage .section-heading>p{color:#d5deda;max-width:400px}.home .service-stage .eyebrow{color:#70dfa8;margin-bottom:15px}.home .service-stage h2{font-size:42px;letter-spacing:-1.6px}
.home .service-stage .category-grid{gap:26px;position:relative;align-items:start}
.home .service-stage .process-card{position:relative;isolation:isolate;min-height:470px;border:1px solid #ffffff40;border-radius:22px;padding:28px 32px 30px;background:#006938;color:#fff;box-shadow:0 18px 40px #0002;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.home .service-stage .category-image{position:absolute;inset:0;height:auto;margin:0;z-index:-2}.home .service-stage .category-image img{height:100%;filter:saturate(.6);opacity:.65;transition:transform .7s ease}.home .service-stage .category-image:after{background:linear-gradient(180deg,#004c2a35 0%,#003e25c9 45%,#003520f5 100%)}.home .service-stage .category-image span{display:none}
.home .service-stage .category-card:last-child{background:#2a2f38}.home .service-stage .category-card:last-child .category-image:after{background:linear-gradient(180deg,#16332920 0%,#172c26d9 45%,#152820fa 100%)}
.process-number{align-self:flex-end;font-size:98px;letter-spacing:-6px;line-height:1;font-weight:750;margin:0 0 32px;color:white}
.home .service-stage .category-card-top{position:absolute;top:35px;left:32px;margin:0}.home .service-stage .category-symbol{display:none}.home .service-stage .category-count{font-size:12px;letter-spacing:1px;color:#fff;background:#ffffff18;border:1px solid #ffffff40;border-radius:25px;padding:7px 12px}
.home .service-stage .category-card h3{font-size:33px;letter-spacing:-1px}.home .service-stage .category-card p{font-size:15px;color:#f1f6f3;margin:14px 0}.home .service-stage .category-card ul{margin-bottom:23px}.home .service-stage .category-card li{font-size:14px;padding-top:3px;padding-bottom:3px}.home .service-stage .category-card li:before{color:#81edb5}.home .service-stage .category-action{background:#f4f4f4;color:#006638;border:1px solid transparent;padding:13px 16px;text-align:left;font-size:14px;transition:background .2s,color .2s}.home .service-stage .category-action:after{float:right;font-size:20px;line-height:1}
.home .service-stage .process-card:hover{transform:none;border-color:#7febb4;box-shadow:0 18px 45px #0004}.home .service-stage .process-card:hover .category-action{background:#008f4a;color:white}.home .service-stage .process-card:focus-visible{outline:3px solid #81edb5;outline-offset:5px}.home .service-stage .process-card:focus-visible .category-image img{transform:scale(1.04)}
@media(min-width:1000px) and (min-height:820px) and (prefers-reduced-motion:no-preference){.home .service-stage.scroll-cards{height:1170px;padding-bottom:70px;overflow:visible}.scroll-cards .service-pin{position:sticky;top:120px}.home .scroll-cards .process-card:nth-child(2){transform:translateY(var(--card-rise,250px));will-change:transform}.home .scroll-cards.keyboard-cards .process-card:nth-child(2){transform:none}}
@media(max-width:999px){.home .service-stage h2{font-size:37px}.home .service-stage .section-heading{display:block}.home .service-stage .section-heading>p{max-width:580px;margin-top:20px}.home .service-stage .process-card{padding:26px;min-height:500px}.home .service-stage .category-card-top{left:26px}.home .service-stage .category-card h3{font-size:29px}.process-number{font-size:82px}}
@media(max-width:760px){.home .service-stage{padding:55px 0 60px;margin-top:35px}.home .service-stage .process-card{min-height:470px}.home .service-stage h2{font-size:35px}.home .service-stage .category-card h3{font-size:30px}.process-number{margin-bottom:35px}}
