
::selection { background: #ff581d; color: #fff2e5; }
:focus-visible { outline: 3px solid #1c1c1c; outline-offset: 5px; }
.page { scrollbar-color: #ff581d #f6f0e4; scrollbar-width: thin; }
.navbar-link-btn, .cta-btn, .close-btn { min-height: 44px; }
.body .contact-page { overflow-y: auto !important; overscroll-behavior: contain; }
.section-projects, .section-about { scroll-margin-top: 96px; }
.footer-wrapper { padding-top: 100px; }
.contact-page:focus-visible, .ham-navbar:focus-visible { outline-offset: -6px; }
.contact-para, .footer-para { font-size: max(18px, 1.125em); line-height: 1.4; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 999999; padding: 14px 20px; font: 18px Arial, sans-serif; background: #fff2e5; color: #151515; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.local-reduced-motion .loader { display: none !important; }
.local-reduced-motion .page { scroll-behavior: auto !important; }
.local-reduced-motion *, .local-reduced-motion *::before, .local-reduced-motion *::after { animation: none !important; transition: none !important; }
.local-reduced-motion .section-hero h1, .local-reduced-motion .section-hero .hero-pill { opacity: 1 !important; }
.local-reduced-motion .section-about { min-height: 70vh; }
.local-reduced-motion .section-about-wrapper { height: auto; padding-block: 96px; }
.local-reduced-motion .about-pill { position: relative; inset: auto; transform: none; }
.local-reduced-motion .about-content { opacity: 1; }
.local-reduced-motion .project-card { opacity: 1; visibility: visible; }
.local-reduced-motion .project-img-svg, .local-reduced-motion .project-img-hover { display: none; }
.local-reduced-motion .contact-page { background: var(--brand-primary); }
.local-reduced-motion .contact-page.is-active { display: flex; visibility: visible; pointer-events: auto; }
.local-reduced-motion .ham-navbar.is-open { display: flex; opacity: 1; pointer-events: auto; }
.local-reduced-motion .testimonial-item { grid-area: 1 / 1; transform: none; }
.local-reduced-motion .testimonial-item[hidden] { display: none !important; }
.local-reduced-motion .cross-path { display: none; }
.local-reduced-motion:has(.ham-navbar.is-open) .cross-path { display: block; }
.local-reduced-motion:has(.ham-navbar.is-open) .orange-path { display: none; }
.local-reduced-motion .faq-block:not(.is-open) .question-block { width: 100%; border-width: 0; }
@media (min-width: 992px) {
  .service-block.one .service-block-para-wrapper, .service-block.four .service-block-para-wrapper { right: 0; }
}
@media (max-width: 991px) {
  .body .ham-navbar.is-open { display: block !important; visibility: visible !important; pointer-events: auto !important; }
}
@media (max-width: 479px) {
  .navbar-link-btn, .cta-btn, .close-btn { min-height: 44px; }
  .hero-pill { padding-inline: 1em; }
  .service-block-para { line-height: 1.25; }
}



:root {
  --gr-forest: #123523;
  --gr-leaf: #224d33;
  --gr-lime: #c6f36b;
  --gr-ivory: #f4f2e8;
  --gr-sage: #dce7ce;
  --brand-primary: var(--gr-leaf);
  --brand-black: var(--gr-forest);
  --brand-white: var(--gr-ivory);
  --brand-secondary: var(--gr-ivory);
  --brand-accent: var(--gr-sage);
}
body, .page { background: var(--gr-ivory); color: var(--gr-forest); }
::selection { background: var(--gr-lime); color: var(--gr-forest); }
:focus-visible { outline-color: var(--gr-leaf); }
.page { scrollbar-color: var(--gr-leaf) var(--gr-ivory); }
.navbar { z-index: 1000; }
.navbar-logo, .navbar-logo-contact { width: auto; height: auto; min-width: 170px; }
.gr-wordmark { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-primary-dark); font-size: 32px; line-height: 1; color: var(--gr-forest); white-space: nowrap; }
.gr-wordmark-dot { display: inline-block; width: 9px; height: 9px; background: currentColor; border-radius: 50%; }
.navbar-logo { padding: 8px 12px; border-radius: 6px; background: var(--gr-lime); }
.navbar-link-btn { background: var(--gr-ivory); }
.navbar-link-btn .stroke-fill path { stroke: var(--gr-lime); }
.local-reduced-motion .navbar-link-btn .stroke-fill { display: none; }
.navbar-timing { padding: 10px 14px; border-radius: 6px; background: var(--gr-ivory); color: var(--gr-forest); font-size: 16px; max-width: 180px; line-height: 1.2; }
.greenroom-nav-toggle-btn { border: 1px solid var(--gr-forest) !important; background: var(--gr-lime) !important; min-width: 44px; min-height: 44px; border-radius: 8px; }
.greenroom-nav-toggle-btn svg path { stroke: var(--gr-forest) !important; }
.cta-btn-arrow, .cta-btn-fill-hover, .navbar-btn-fill-hover { background-color: var(--gr-lime); }
.cta-btn-arrow svg [stroke] { stroke: var(--gr-forest); }
.cta-btn-arrow svg [fill="white"], .cta-btn-arrow svg [fill="#FFFFFF"] { fill: var(--gr-forest); }
.cta-btn:hover .cta-text, .cta-btn:focus-visible .cta-text { color: var(--gr-forest); }
.navlink-text, .cta-text { font-size: max(16px, 1em); }
.section-hero-wrapper { background: var(--gr-forest); padding-top: 118px; overflow: hidden; }
.hero-text { width: min(1060px, 88vw); max-width: none; margin: 0; z-index: 3; }
.hero-text .heading { color: var(--gr-ivory); font-family: var(--font-primary-dark); font-size: clamp(92px, 11.8vw, 176px); font-weight: 400; line-height: .86; letter-spacing: -.025em; text-align: center; }
.hero-pill { background: var(--gr-lime); z-index: 5; }
.hero-pill-text { color: var(--gr-forest); font-size: 18px; }
.hero-pill.one { left: -4%; top: 66%; }
.hero-pill.two { right: -3%; top: 2%; }
.hero-pill.three { right: 5%; bottom: -17%; }
.hero-path-svg-left, .hero-path-svg-right { z-index: 1; pointer-events: none; }
.hero-path-svg-left { top: 31%; }
.hero-path-svg-right { top: 22%; }
.gr-collage { position: relative; width: min(1140px, 92vw); height: 580px; margin: 12px auto 0; display: block; mix-blend-mode: normal; z-index: 2; }
.gr-photo { position: absolute; margin: 0; transform-origin: center; }
.gr-photo-media { width: 100%; height: 100%; background: var(--gr-ivory); padding: 10px 10px 0; box-shadow: 0 18px 36px #061b1c3d; }
.gr-photo img { width: 100%; height: calc(100% - 42px); display: block; object-fit: cover; }
.gr-photo figcaption { display: flex; align-items: center; height: 42px; padding: 0 6px; font-size: 18px; line-height: 1.2; color: var(--gr-forest); }
.gr-photo--left { width: 31%; height: 305px; top: 150px; left: 0; z-index: 3; rotate: -9deg; }
.gr-photo--main { width: 46%; height: 425px; top: 30px; left: 27%; z-index: 2; rotate: 5deg; }
.gr-photo--main figcaption { justify-content: center; }
.gr-photo--right { width: 29%; height: 295px; top: 175px; right: -1%; z-index: 4; rotate: 12deg; }
.gr-photo--right img { object-fit: cover; object-position: 50% 55%; }
.hero-marquee { z-index: 4; margin-top: -40px; color: var(--gr-forest); }
.hero-marquee svg text { fill: var(--gr-forest); }
.section-about { background: var(--gr-ivory); }
.about-pill { background: var(--gr-lime); color: var(--gr-forest); }
.about-pill-text { color: var(--gr-forest); font-size: max(16px, 1em); }
.gr-showcase-media { width: 100%; height: 100%; overflow: hidden; }
.gr-showcase-media img { width: 100%; height: 100%; object-fit: cover; }
.section-projects-header { position: relative; gap: 28px; }
.gr-studies-intro { margin: 0; width: min(380px, 90vw); color: var(--gr-leaf); font-size: 18px; line-height: 1.5; text-align: center; }
.project-card-img-wrapper { aspect-ratio: 5/6; }
.project-img, .project-img-hover { object-fit: cover; }
.project-name-text { color: var(--gr-forest); }
.project-detail-text { color: var(--gr-leaf); font-size: 16px; line-height: 1.35; }
.project-detail { min-height: 88px; }
.projects-end { background: var(--gr-ivory); }
.projects-end .cta-text { color: var(--gr-forest); }
.section-heading.orange { color: #57923d; }
.section-services .service-block-para { font-size: max(18px, 1.125em); line-height: 1.4; }
.section-services .service-block-para-wrapper { top: calc(100% + 18px); bottom: auto; right: 0; width: 275px; max-width: 82vw; padding: 14px 18px; border-radius: 16px; }
.section-testimonials-body { height: max(780px, 95svh); }
.testimonials-body-bg { background: var(--gr-lime); }
.testimonial-card { background: var(--gr-forest); border-color: transparent; color: var(--gr-ivory); padding: 44px; gap: 54px; }
.testimonial-heading { color: var(--gr-lime); font-size: clamp(42px, 4.2vw, 66px); line-height: .95; letter-spacing: -.025em; }
.testimonial-card-para { color: var(--gr-ivory); font-size: clamp(18px, 1.65vw, 24px); line-height: 1.4; max-width: 25em; }
.testimonial-pfp-name { color: var(--gr-lime); font-size: 22px; }
.testimonial-pfp-designation { color: var(--gr-ivory); font-size: 18px; line-height: 1.35; max-width: 15em; }
.testimonial-card-pfp { align-items: flex-start; }
.testimonial-card-btm { gap: 32px; }
.question-block { background: var(--gr-sage); }
.faq-answer-block { background: var(--gr-ivory); }
.faq-answer, .faq-ques { font-size: max(18px, 1.125em); line-height: 1.4; }
.footer-wrapper { background: var(--gr-lime); color: var(--gr-forest); }
.footer-heading { color: var(--gr-forest); }
.gr-footer-wordmark { display: block; padding: 30px 0 10px; text-align: center; font-family: var(--font-primary-dark); font-size: 20vw; line-height: .8; letter-spacing: -.035em; white-space: nowrap; color: var(--gr-forest); }
.footer-wrapper .footer-link, .footer-wrapper .footer-link *, .footer-wrapper .footer-link-header, .footer-wrapper .footer-address, .footer-wrapper .footer-rights-text { color: var(--gr-forest) !important; }
.footer-wrapper .social-link svg path { stroke: var(--gr-forest); }
.footer-top-right-btm { gap: 24px; flex-wrap: wrap; align-items: flex-start; }
.footer-address, .footer-rights-text { font-size: 16px; line-height: 1.4; }
.footer-address { max-width: 240px; white-space: normal; }
.footer-rights-text { padding-bottom: 14px; }
.footer-wrapper .footer-link-header { opacity: 1; }
.contact-page, .local-reduced-motion .contact-page { background: var(--gr-lime); color: var(--gr-forest); }
.contact-page .contact-heading, .contact-page .contact-para { color: var(--gr-forest); }
.contact-page .contact-para { opacity: 1; }
.faq-logo img { display: block; width: 40px; height: 40px; }
.contact-content { padding: 0 clamp(20px, 4vw, 64px) 70px; gap: clamp(32px, 5vw, 80px); }
.contact-right { width: 46%; min-width: 0; padding: 18px 0; }
.contact-left { width: 46%; }
.contact-page .contact-heading { font-size: clamp(60px, 6.3vw, 100px); line-height: .9; text-align: left; margin: 0; max-width: 100%; }
.contact-page .contact-para { font-family: var(--font-secondary); font-size: 18px; line-height: 1.4; width: auto; max-width: 100%; margin: 24px 0 0; text-align: left; }
.contact-img-wrap { opacity: .18; mix-blend-mode: multiply; pointer-events: none; }
.contact-img { object-fit: cover; border-radius: 50%; }
.gr-brief { width: 100%; display: flex; flex-direction: column; gap: 14px; position: relative; z-index: 20; }
.gr-brief label { margin: 0; font-size: 18px; font-weight: 500; }
.gr-brief select, .gr-brief textarea { appearance: auto; width: 100%; border: 1px solid #224d3380; border-radius: 8px; padding: 14px 16px; margin: 0 0 12px; background: var(--gr-ivory); color: var(--gr-forest); font-family: var(--font-secondary); font-size: 18px; line-height: 1.45; }
.gr-brief textarea { min-height: 160px; resize: vertical; }
.gr-brief textarea::placeholder { color: #4c654e; }
.gr-brief-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.gr-brief button { border: 1px solid var(--gr-forest); border-radius: 100px; padding: 14px 20px; background: var(--gr-forest); color: var(--gr-ivory); font-size: 18px; line-height: 1.25; cursor: pointer; min-height: 48px; }
.gr-brief .gr-download { color: var(--gr-forest); background: transparent; }
.gr-brief button:hover { background: var(--gr-ivory); color: var(--gr-forest); }
.gr-brief-status { margin: 0; min-height: 2.8em; color: var(--gr-leaf); font-size: 16px; line-height: 1.4; }
.local-reduced-motion .gr-photo { transform: none !important; }
.local-reduced-motion .gr-collage { margin-bottom: 30px; }
@media (max-width: 991px) {
  .section-hero-wrapper { padding-top: 112px; }
  .hero-text .heading { font-size: 12.2vw; }
  .hero-pill-text { font-size: 16px; }
  .gr-collage { height: 470px; }
  .gr-photo--main { height: 330px; }
  .gr-photo--left, .gr-photo--right { height: 240px; }
  .gr-photo figcaption { font-size: 16px; padding: 0; }
  .hero-pill.one { left: 0; top: auto; bottom: -38px; }
  .hero-pill.two { right: -2%; top: -28px; }
  .hero-pill.three { right: 0; bottom: -80px; }
  .ham-navbar { background: var(--gr-forest); }
  .ham-navbar .navbar-link-btn { background: var(--gr-ivory); }
  .contact-left { width: 48%; }
}
@media (max-width: 600px) {
  .navbar-logo, .navbar-logo-contact { min-width: 0; }
  .navbar-logo { padding: 8px 10px; }
  .gr-wordmark { font-size: 27px; gap: 4px; }
  .gr-wordmark-dot { width: 7px; height: 7px; }
  .section-hero-wrapper { padding-top: 130px; }
  .hero-text { width: calc(100% - 32px); }
  .hero-text .heading { font-size: clamp(56px, 14.7vw, 84px); line-height: .91; }
  .hero-pill { padding: 8px 12px !important; }
  .hero-pill.two { top: -48px; right: 4px; }
  .hero-pill.one { bottom: -45px; left: 2px; }
  .hero-pill.three { bottom: -86px; right: 0; }
  .gr-collage { width: calc(100% - 38px); height: 490px; margin-top: 90px; }
  .gr-photo--main { width: 86%; height: 280px; top: 12px; left: 8%; rotate: 4deg; }
  .gr-photo--main figcaption { display: none; }
  .gr-photo--main img { height: calc(100% - 7px); }
  .gr-photo--left { width: 57%; height: 210px; top: 240px; left: -1%; rotate: -9deg; }
  .gr-photo--right { width: 55%; height: 200px; top: 225px; right: -3%; rotate: 9deg; }
  .gr-photo-media { padding: 7px 7px 0; }
  .gr-photo img { height: calc(100% - 48px); }
  .gr-photo figcaption { height: 48px; font-size: 16px; line-height: 1.1; }
  .hero-marquee { margin-top: 0; }
  .hero-path-svg-left { top: 28%; }
  .hero-path-svg-right { top: 38%; }
  .section-projects-header { gap: 22px; flex-direction: column; align-items: flex-start; padding-inline: 8px; }
  .section-projects-header .section-heading { max-width: none; text-align: left; }
  .gr-studies-intro { padding: 0; max-width: 360px; text-align: left; }
  .section-services .services-layers { position: relative; inset: auto; transform: none; height: auto; padding: 80px 0 160px; row-gap: 170px; }
  .section-services .services-path { position: absolute; inset: 0; height: 100%; pointer-events: none; }
  .section-services .service-path-mobile, .section-services .service-path-mobile-dark { position: absolute; inset: 0; height: 100%; }
  .section-services .service-path-mobile svg, .section-services .service-path-mobile-dark svg { height: 100%; }
  .section-services .service-block-para-wrapper { display: block; top: calc(100% + 12px); bottom: auto; right: auto; left: var(--gr-caption-left, 0px); width: 250px; max-width: calc(100vw - 48px); padding: 10px 14px; }
  .section-services .service-block-para { font-size: 18px; line-height: 1.3; }
  .section-testimonials-body { height: 740px; }
  .testimonial-card { padding: 28px 24px; gap: 28px; }
  .testimonial-heading { font-size: 44px; }
  .testimonial-card-btm { gap: 26px; }
  .testimonial-card-para { font-size: 18px; }
  .testimonial-pfp-designation { font-size: 16px; }
  .contact-content { gap: 30px; }
  .contact-left, .contact-right { width: 100%; }
  .contact-left { align-self: flex-start; }
  .contact-page .contact-heading { font-size: 52px; }
  .contact-page .contact-para { font-size: 18px; }
  .contact-right { padding-top: 0; }
  .gr-brief { gap: 10px; }
  .gr-brief button { font-size: 16px; padding: 13px 16px; }
  .gr-footer-wordmark { font-size: 20.6vw; padding-top: 32px; }
  .footer-top-right-btm { flex-direction: column; gap: 24px; }
  .footer-top-right-btm .footer-links-block, .footer-top-right-btm .footer-address { width: 100%; max-width: 100%; }
}
