/* Page-only styles: intentionally do not restyle the shared header or footer. */
#cogran-home {
  --cg-overlay-height: var(--cg-header-height);
}

#cogran-home h1 {font-size: clamp(58px, 7.25vw, 108px); line-height: .95; letter-spacing: -.068em;}
#cogran-home h2 {font-size: clamp(42px, 5.1vw, 76px); line-height: 1.01; letter-spacing: -.055em;}
#cogran-home h3 {font-size: 25px; line-height: 1.18; letter-spacing: -.035em;}
#cogran-home a:focus-visible, #cogran-home button:focus-visible, #cogran-home summary:focus-visible {outline: 3px solid var(--cg-green); outline-offset: 5px;}
#cogran-home figure, #cogran-home blockquote {margin: 0; padding: 0; border: 0;}
#cogran-home .cg-wrap {width: min(1380px, calc(100% - 96px)); margin-inline: auto;}
#cogran-home .cg-section {padding-block: clamp(105px, 10vw, 160px);}
#cogran-home .cg-kicker {margin: 0 0 22px; color: var(--cg-green); font-size: 11px; font-weight: 700; letter-spacing: .16em; line-height: 1.5;}
#cogran-home .cg-btn {display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 30px; padding: 15px 24px; border: 1px solid var(--cg-green); border-radius: 999px; color: #fff; background: var(--cg-green); box-shadow: 0 12px 30px rgba(25,120,62,.17); font-size: 14px; font-weight: 650; line-height: 1.5; transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;}
#cogran-home .cg-btn:hover {color: #fff; background: var(--cg-green-dark); border-color: var(--cg-green-dark); box-shadow: 0 16px 35px rgba(11,48,34,.21); transform: translateY(-2px);}
#cogran-home .cg-link {display: inline-flex; align-items: center; gap: 14px; color: var(--cg-deep); font-size: 14px; font-weight: 650; line-height: 1.5; text-decoration: underline; text-decoration-color: rgba(25,120,62,.45); text-decoration-thickness: 1px; text-underline-offset: 7px; transition: color 180ms ease, text-decoration-color 180ms ease;}
#cogran-home .cg-link:hover {color: var(--cg-green); text-decoration-color: var(--cg-green);}
#cogran-home .cg-arrow {font-size: 19px; font-weight: 400; line-height: 1;}
#cogran-home .cg-actions {display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 34px;}

/* Shared navigation remains external. This supplies a reliable dark field for
   the existing translucent header without changing header.php itself. */
#cogran-home .cg-header-backdrop {display: none;}
body.header-semi-transparent #cogran-home .cg-header-backdrop {display: block; height: var(--cg-overlay-height); background: var(--cg-deep);}

/* Hero */
#cogran-home .cg-hero-shell {position: relative; overflow: hidden; background: linear-gradient(112deg, #fff 0%, #fff 54%, #f7faf7 54%, #edf5ef 100%);}
#cogran-home .cg-hero {display: grid; min-height: 760px; grid-template-columns: minmax(420px,.82fr) minmax(620px,1.28fr); align-items: center; gap: clamp(42px,5vw,82px); padding-block: 72px 112px;}
#cogran-home .cg-hero-copy {position: relative; z-index: 4; padding-bottom: 20px;}
#cogran-home .cg-hero h1 span {display: inline-block; color: var(--cg-green);}
#cogran-home .cg-hero .cg-lede {max-width: 560px; margin-top: 30px; color: #344f42; font-size: clamp(18px,1.55vw,23px); line-height: 1.58; letter-spacing: -.015em;}
#cogran-home .cg-hero-signals {display: flex; flex-wrap: wrap; gap: 11px; margin-top: 38px;}
#cogran-home .cg-hero-signals span {display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px; border: 1px solid var(--cg-line); border-radius: 999px; color: var(--cg-deep); background: rgba(255,255,255,.85); font-size: 12px; font-weight: 550;}
#cogran-home .cg-hero-signals i {width: 7px; height: 7px; border-radius: 50%; background: var(--cg-green); box-shadow: 0 0 0 4px rgba(25,120,62,.1);}
#cogran-home .cg-hero-visual {position: relative; min-width: 0; min-height: 650px; margin-right: min(-7vw,-36px);}
#cogran-home .cg-hero-photo-wrap {position: absolute; z-index: 1; top: 0; right: 0; width: 92%; height: 545px; overflow: hidden; background: var(--cg-soft); clip-path: polygon(14% 0,100% 0,100% 100%,0 100%,0 23%);}
#cogran-home .cg-hero-photo {width: 100%; height: 100%; object-fit: cover; object-position: 60% center;}
#cogran-home .cg-product-peek {position: absolute; z-index: 3; left: -2%; bottom: 0; width: min(79%,740px); overflow: hidden; border: 1px solid rgba(11,48,34,.14); border-radius: 14px; background: #fff; box-shadow: 0 32px 80px rgba(11,48,34,.24); transition: transform 220ms ease, box-shadow 220ms ease;}
#cogran-home .cg-product-peek:hover {color: inherit; box-shadow: 0 38px 90px rgba(11,48,34,.29); transform: translateY(-5px);}
#cogran-home .cg-product-peek-bar {display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 13px 17px; border-bottom: 1px solid var(--cg-line); color: var(--cg-muted); font-size: 11px; line-height: 1.4;}
#cogran-home .cg-product-peek-bar strong {color: var(--cg-deep); font-size: 13px; font-weight: 650;}
#cogran-home .cg-product-peek-bar b {margin-left: 8px; color: var(--cg-green); font-size: 15px;}
#cogran-home .cg-product-peek img {width: 100%; aspect-ratio: 1.62/1; object-fit: cover; object-position: top;}
#cogran-home .cg-live-chip {position: absolute; z-index: 4; right: 4%; bottom: 38px; display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px; border: 1px solid rgba(25,120,62,.18); border-radius: 999px; color: var(--cg-deep); background: rgba(255,255,255,.94); box-shadow: 0 12px 30px rgba(11,48,34,.12); font-size: 12px; font-weight: 650; backdrop-filter: blur(8px);}
#cogran-home .cg-live-chip b {width: 8px; height: 8px; border-radius: 50%; background: var(--cg-green); box-shadow: 0 0 0 5px rgba(25,120,62,.11);}
#cogran-home .cg-contours {position: absolute; z-index: 2; left: -14%; bottom: 5px; width: 450px; height: 230px; overflow: hidden; pointer-events: none;}
#cogran-home .cg-contours i {position: absolute; left: -85px; bottom: -150px; width: 390px; height: 280px; border: 1px solid rgba(150,185,43,.65); border-radius: 50%; transform: rotate(-9deg);}
#cogran-home .cg-contours i:nth-child(2) {width: 430px; height: 310px;}
#cogran-home .cg-contours i:nth-child(3) {width: 470px; height: 340px;}
#cogran-home .cg-contours i:nth-child(4) {width: 510px; height: 370px;}

/* Proof band */
#cogran-home .cg-proof-band {position: relative; z-index: 5; color: #fff; background: var(--cg-deep);}
#cogran-home .cg-proof-grid {display: grid; grid-template-columns: repeat(4,1fr);}
#cogran-home .cg-proof-grid > span {display: flex; min-height: 86px; align-items: center; gap: 16px; padding: 20px 28px; border-left: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.9); font-size: 13px; font-weight: 550;}
#cogran-home .cg-proof-grid > span:last-child {border-right: 1px solid rgba(255,255,255,.15);}
#cogran-home .cg-proof-grid b {color: var(--cg-lime); font-size: 10px; font-weight: 700; letter-spacing: .1em;}

/* Product theater */
#cogran-home .cg-product-section {background: #fff;}
#cogran-home .cg-section-head {display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); align-items: end; gap: 70px; margin-bottom: 64px;}
#cogran-home .cg-section-head > p {max-width: 430px; margin: 0 0 5px; font-size: 17px;}
#cogran-home .cg-theater {display: grid; grid-template-columns: 280px minmax(0,1fr); overflow: hidden; border: 1px solid var(--cg-line); border-radius: 18px; background: #fff; box-shadow: 0 30px 80px rgba(11,48,34,.09);}
#cogran-home .cg-product-index {border-right: 1px solid var(--cg-line); background: #fbfcfb;}
#cogran-home .cg-product-index button, #cogran-home .cg-product-index a {position: relative; display: grid; width: 100%; min-height: 78px; grid-template-columns: 30px 1fr auto; align-items: center; gap: 12px; padding: 15px 20px; border: 0; border-bottom: 1px solid var(--cg-line); color: var(--cg-muted); background: transparent; cursor: pointer; text-align: left; transition: color 160ms ease, background 160ms ease;}
#cogran-home .cg-product-index button::before {position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--cg-green); content: ''; opacity: 0; transform: scaleY(.35); transition: opacity 160ms ease, transform 160ms ease;}
#cogran-home .cg-product-index button:hover, #cogran-home .cg-product-index a:hover, #cogran-home .cg-product-index button.is-active {color: var(--cg-deep); background: #fff;}
#cogran-home .cg-product-index button.is-active::before {opacity: 1; transform: scaleY(1);}
#cogran-home .cg-product-index span {color: #86978f; font-size: 10px; font-weight: 700; letter-spacing: .08em;}
#cogran-home .cg-product-index b {font-size: 14px; font-weight: 620;}
#cogran-home .cg-product-index i {color: var(--cg-green); font-size: 17px; font-style: normal;}
#cogran-home .cg-stage {min-width: 0; padding: 22px;}
#cogran-home .cg-stage-topline {display: flex; justify-content: space-between; gap: 18px; margin-bottom: 16px; color: #778a80; font-size: 9px; font-weight: 700; letter-spacing: .13em;}
#cogran-home .cg-stage-window {overflow: hidden; border: 1px solid var(--cg-line); border-radius: 10px; background: var(--cg-soft);}
#cogran-home .cg-stage-window img {width: 100%; aspect-ratio: 1.75/1; object-fit: cover; object-position: top; opacity: 1; transition: opacity 140ms ease, transform 250ms ease;}
#cogran-home .cg-stage-window img.is-changing {opacity: .18; transform: translateY(7px);}
#cogran-home .cg-stage-copy {display: grid; grid-template-columns: minmax(250px,.85fr) minmax(280px,1.15fr); align-items: start; gap: 45px; padding: 26px 4px 5px;}
#cogran-home .cg-stage-copy h3 {font-size: clamp(25px,2.2vw,34px);}
#cogran-home .cg-stage-copy p {max-width: 560px; margin: 0; font-size: 14px;}
#cogran-home .cg-capabilities {display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--cg-line);}
#cogran-home .cg-capabilities p {margin: 0; color: var(--cg-deep); font-size: 13px; font-weight: 650;}
#cogran-home .cg-capabilities div {display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 26px;}
#cogran-home .cg-capabilities span {color: var(--cg-muted); font-size: 12px;}

/* Markets */
#cogran-home .cg-markets {background: var(--cg-soft);}
#cogran-home .cg-markets-head {max-width: 1110px; margin-bottom: 64px;}
#cogran-home .cg-markets-head h2 span {color: var(--cg-green);}
#cogran-home .cg-markets-head > p:last-child {max-width: 560px; margin: 30px 0 0 auto; font-size: 17px;}
#cogran-home .cg-market-mosaic {display: grid; grid-template-columns: repeat(12,1fr); grid-template-rows: 300px 240px 270px; gap: 18px;}
#cogran-home .cg-market-story {position: relative; display: block; min-width: 0; overflow: hidden; color: #fff; background: var(--cg-deep);}
#cogran-home .cg-market-story--parks {grid-column: 1/8; grid-row: 1/3;}
#cogran-home .cg-market-story--camps {grid-column: 8/13; grid-row: 1;}
#cogran-home .cg-market-story--community {grid-column: 8/13; grid-row: 2;}
#cogran-home .cg-market-story--sports {grid-column: 1/13; grid-row: 3;}
#cogran-home .cg-market-story img {width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.2,.7,.2,1);}
#cogran-home .cg-market-story--parks img {object-position: 60% center;}
#cogran-home .cg-market-story--camps img {object-position: 68% 47%;}
#cogran-home .cg-market-story--community img {object-position: center 45%;}
#cogran-home .cg-market-story--sports img {object-position: center 52%;}
#cogran-home .cg-market-overlay {position: absolute; inset: 0; background: linear-gradient(180deg,rgba(5,24,16,.06) 15%,rgba(5,24,16,.78) 100%); transition: background 250ms ease;}
#cogran-home .cg-market-number {position: absolute; top: 21px; left: 22px; color: rgba(255,255,255,.88); font-size: 10px; font-weight: 700; letter-spacing: .12em;}
#cogran-home .cg-market-copy {position: absolute; right: 75px; bottom: 26px; left: 25px;}
#cogran-home .cg-market-copy strong {display: block; margin-bottom: 7px; color: #fff; font-size: clamp(23px,2.25vw,35px); font-weight: 650; letter-spacing: -.04em; line-height: 1.08;}
#cogran-home .cg-market-copy small {display: block; max-width: 530px; color: rgba(255,255,255,.8); font-size: 13px; line-height: 1.45;}
#cogran-home .cg-market-story > i {position: absolute; top: 18px; right: 21px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; font-size: 18px; font-style: normal; transition: color 180ms ease, background 180ms ease, transform 180ms ease;}
#cogran-home .cg-market-story:hover {color: #fff;}
#cogran-home .cg-market-story:hover img {transform: scale(1.035);}
#cogran-home .cg-market-story:hover > i {color: var(--cg-deep); background: var(--cg-lime); border-color: var(--cg-lime); transform: rotate(7deg);}
#cogran-home .cg-market-more {display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 34px; padding-top: 26px; border-top: 1px solid rgba(11,48,34,.15);}
#cogran-home .cg-market-more p {margin: 0; color: var(--cg-deep); font-size: 14px; font-weight: 550;}
#cogran-home .cg-market-more div {display: flex; flex-wrap: wrap; gap: 26px;}

/* Customer proof */
#cogran-home .cg-proof-story {padding-block: clamp(100px,10vw,155px); color: #fff; background: var(--cg-deep);}
#cogran-home .cg-proof-story-grid {display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); grid-template-areas: 'title featured' 'supporting featured'; gap: 58px 90px;}
#cogran-home .cg-proof-story .cg-kicker {color: var(--cg-lime);}
#cogran-home .cg-proof-story h2 {color: #fff; font-size: clamp(38px,4.4vw,66px);}
#cogran-home .cg-proof-story-title {grid-area: title;}
#cogran-home .cg-featured-quote {grid-area: featured; padding-left: clamp(30px,4vw,62px); border-left: 1px solid rgba(207,232,92,.65);}
#cogran-home .cg-featured-quote blockquote p {margin: 0 0 42px; color: #fff; font-size: clamp(28px,3.15vw,48px); font-weight: 550; letter-spacing: -.04em; line-height: 1.22;}
#cogran-home .cg-proof-story figcaption {display: flex; flex-direction: column; gap: 2px; color: rgba(255,255,255,.66); font-size: 12px; line-height: 1.5;}
#cogran-home .cg-proof-story figcaption strong {color: #fff; font-size: 14px; font-weight: 650;}
#cogran-home .cg-quote-takeaway {display: grid; grid-template-columns: repeat(3,1fr); margin-top: 48px; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15);}
#cogran-home .cg-quote-takeaway > * {padding: 17px 12px; color: rgba(255,255,255,.68); font-size: 11px; font-weight: 550; text-align: center;}
#cogran-home .cg-quote-takeaway b {color: var(--cg-lime); border-right: 1px solid rgba(255,255,255,.15); border-left: 1px solid rgba(255,255,255,.15);}
#cogran-home .cg-supporting-quote {grid-area: supporting; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.15);}
#cogran-home .cg-supporting-quote blockquote p {margin: 0 0 24px; color: rgba(255,255,255,.83); font-size: 17px; line-height: 1.68;}

/* Transition and FAQ */
#cogran-home .cg-decision {background: #fff;}
#cogran-home .cg-decision-grid {display: grid; grid-template-columns: minmax(0,.95fr) minmax(420px,1.05fr); gap: clamp(60px,8vw,120px); align-items: start;}
#cogran-home .cg-decision-copy > p:not(.cg-kicker) {max-width: 570px; margin-top: 30px; font-size: 17px;}
#cogran-home .cg-path {margin: 42px 0 36px; padding: 0; border-top: 1px solid var(--cg-line); list-style: none;}
#cogran-home .cg-path li {display: grid; grid-template-columns: 38px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--cg-line);}
#cogran-home .cg-path li > span {padding-top: 2px; color: var(--cg-green); font-size: 10px; font-weight: 700; letter-spacing: .12em;}
#cogran-home .cg-path strong {display: block; margin-bottom: 5px; color: var(--cg-deep); font-size: 15px; font-weight: 650;}
#cogran-home .cg-path p {margin: 0; font-size: 13px; line-height: 1.55;}
#cogran-home .cg-faq {padding: 40px 46px; border-radius: 18px; background: var(--cg-soft);}
#cogran-home .cg-faq-label {margin-bottom: 20px; color: var(--cg-green); font-size: 10px; font-weight: 700; letter-spacing: .14em;}
#cogran-home .cg-faq details {padding: 20px 0; border-bottom: 1px solid rgba(11,48,34,.14);}
#cogran-home .cg-faq details:first-of-type {border-top: 1px solid rgba(11,48,34,.14);}
#cogran-home .cg-faq summary {position: relative; padding-right: 36px; color: var(--cg-deep); cursor: pointer; font-size: 15px; font-weight: 620; line-height: 1.5; list-style: none;}
#cogran-home .cg-faq summary::-webkit-details-marker {display: none;}
#cogran-home .cg-faq summary::after {position: absolute; top: -2px; right: 2px; color: var(--cg-green); content: '+'; font-size: 23px; font-weight: 400;}
#cogran-home .cg-faq details[open] summary::after {content: '−';}
#cogran-home .cg-faq details p {margin: 14px 30px 0 0; font-size: 14px; line-height: 1.65;}

/* Final CTA */
#cogran-home .cg-final-cta {position: relative; overflow: hidden; padding-block: clamp(85px,9vw,135px); color: #fff; background: var(--cg-green);}
#cogran-home .cg-final-grid {position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(310px,.8fr); align-items: end; gap: 80px;}
#cogran-home .cg-final-cta .cg-kicker {color: var(--cg-lime);}
#cogran-home .cg-final-cta h2 {color: #fff; font-size: clamp(50px,6.4vw,92px);}
#cogran-home .cg-final-copy {padding-bottom: 7px;}
#cogran-home .cg-final-copy p {max-width: 470px; color: rgba(255,255,255,.83); font-size: 17px;}
#cogran-home .cg-btn--light {color: var(--cg-deep); background: #fff; border-color: #fff; box-shadow: none;}
#cogran-home .cg-btn--light:hover {color: var(--cg-deep); background: var(--cg-lime); border-color: var(--cg-lime);}
#cogran-home .cg-final-lines {position: absolute; z-index: 1; right: -90px; bottom: -280px; width: 620px; height: 620px; pointer-events: none;}
#cogran-home .cg-final-lines i {position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.17); border-radius: 50%;}
#cogran-home .cg-final-lines i:nth-child(2) {inset: 55px;}
#cogran-home .cg-final-lines i:nth-child(3) {inset: 110px;}

/* Motion progressively enhances an otherwise fully visible page. */
#cogran-home.cg-motion .cg-reveal {opacity: 0; transform: translateY(28px); transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.7,.2,1);}
#cogran-home.cg-motion .cg-reveal.is-visible {opacity: 1; transform: none;}

@media (max-width: 1180px) {
  #cogran-home .cg-wrap {width: calc(100% - 64px);}
  #cogran-home .cg-hero {grid-template-columns: minmax(370px,.86fr) minmax(510px,1.14fr); gap: 36px; min-height: 700px;}
  #cogran-home .cg-hero-visual {min-height: 600px; margin-right: -32px;}
  #cogran-home .cg-hero-photo-wrap {height: 500px;}
  #cogran-home .cg-product-peek {width: 84%;}
  #cogran-home .cg-stage-copy {gap: 28px;}
  #cogran-home .cg-proof-story-grid {gap: 48px 58px;}
}

@media (max-width: 930px) {
  #cogran-home .cg-hero-shell {background: #fff;}
  #cogran-home .cg-hero {grid-template-columns: 1fr; min-height: 0; padding-top: 70px; gap: 55px;}
  #cogran-home .cg-hero-copy {max-width: 760px;}
  #cogran-home .cg-hero-visual {min-height: 610px; margin-right: 0;}
  #cogran-home .cg-hero-photo-wrap {width: 91%; height: 500px;}
  #cogran-home .cg-product-peek {left: 0; width: 78%;}
  #cogran-home .cg-proof-grid {grid-template-columns: repeat(2,1fr);}
  #cogran-home .cg-proof-grid > span:nth-child(2) {border-right: 1px solid rgba(255,255,255,.15);}
  #cogran-home .cg-proof-grid > span:nth-child(-n+2) {border-bottom: 1px solid rgba(255,255,255,.15);}
  #cogran-home .cg-section-head {grid-template-columns: 1fr; gap: 28px;}
  #cogran-home .cg-section-head > p {max-width: 620px;}
  #cogran-home .cg-theater {grid-template-columns: 1fr;}
  #cogran-home .cg-product-index {display: grid; grid-template-columns: repeat(3,1fr); border-right: 0; border-bottom: 1px solid var(--cg-line);}
  #cogran-home .cg-product-index button, #cogran-home .cg-product-index a {min-height: 72px; border-right: 1px solid var(--cg-line);}
  #cogran-home .cg-product-index button:nth-child(3n), #cogran-home .cg-product-index a:nth-child(3n) {border-right: 0;}
  #cogran-home .cg-market-mosaic {grid-template-rows: 330px 300px;}
  #cogran-home .cg-market-story--parks {grid-column: 1/8; grid-row: 1;}
  #cogran-home .cg-market-story--camps {grid-column: 8/13; grid-row: 1;}
  #cogran-home .cg-market-story--community {grid-column: 1/6; grid-row: 2;}
  #cogran-home .cg-market-story--sports {grid-column: 6/13; grid-row: 2;}
  #cogran-home .cg-proof-story-grid {grid-template-columns: 1fr; grid-template-areas: 'title' 'featured' 'supporting';}
  #cogran-home .cg-proof-story-title {max-width: 760px;}
  #cogran-home .cg-decision-grid {grid-template-columns: 1fr;}
  #cogran-home .cg-decision-copy {max-width: 760px;}
  #cogran-home .cg-final-grid {grid-template-columns: 1fr; gap: 35px;}
}

@media (max-width: 680px) {
  #cogran-home {--cg-overlay-height: 80px;}
  #cogran-home .cg-wrap {width: calc(100% - 36px);}
  #cogran-home .cg-section {padding-block: 82px;}
  #cogran-home h1 {font-size: clamp(49px,14vw,72px);}
  #cogran-home h2 {font-size: clamp(38px,10.5vw,54px);}
  #cogran-home .cg-hero {padding-top: 52px; padding-bottom: 78px;}
  #cogran-home .cg-hero .cg-lede {margin-top: 24px; font-size: 17px;}
  #cogran-home .cg-actions {align-items: flex-start; gap: 20px;}
  #cogran-home .cg-hero-signals {display: grid;}
  #cogran-home .cg-hero-visual {min-height: 455px;}
  #cogran-home .cg-hero-photo-wrap {width: 96%; height: 345px; clip-path: polygon(13% 0,100% 0,100% 100%,0 100%,0 20%);}
  #cogran-home .cg-product-peek {bottom: 0; width: 91%; border-radius: 10px;}
  #cogran-home .cg-product-peek-bar > span {display: none;}
  #cogran-home .cg-live-chip {right: 0; bottom: 21px; padding: 9px 11px; font-size: 10px;}
  #cogran-home .cg-contours {display: none;}
  #cogran-home .cg-proof-grid {grid-template-columns: 1fr;}
  #cogran-home .cg-proof-grid > span, #cogran-home .cg-proof-grid > span:nth-child(2) {min-height: 68px; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15);}
  #cogran-home .cg-section-head {margin-bottom: 42px;}
  #cogran-home .cg-product-index {grid-template-columns: 1fr 1fr;}
  #cogran-home .cg-product-index button, #cogran-home .cg-product-index a {min-height: 64px; padding: 12px 14px; grid-template-columns: 24px 1fr auto;}
  #cogran-home .cg-product-index button:nth-child(3n), #cogran-home .cg-product-index a:nth-child(3n) {border-right: 1px solid var(--cg-line);}
  #cogran-home .cg-product-index button:nth-child(2n), #cogran-home .cg-product-index a:nth-child(2n) {border-right: 0;}
  #cogran-home .cg-stage {padding: 11px;}
  #cogran-home .cg-stage-topline {padding: 3px 2px 0;}
  #cogran-home .cg-stage-topline span:last-child {display: none;}
  #cogran-home .cg-stage-window img {aspect-ratio: 1.38/1;}
  #cogran-home .cg-stage-copy {grid-template-columns: 1fr; gap: 12px; padding: 21px 5px 10px;}
  #cogran-home .cg-capabilities {display: block;}
  #cogran-home .cg-capabilities div {justify-content: flex-start; margin-top: 16px;}
  #cogran-home .cg-markets-head > p:last-child {margin-left: 0;}
  #cogran-home .cg-market-mosaic {display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(4,310px);}
  #cogran-home .cg-market-story--parks, #cogran-home .cg-market-story--camps,
  #cogran-home .cg-market-story--community, #cogran-home .cg-market-story--sports {grid-column: 1; grid-row: auto;}
  #cogran-home .cg-market-copy strong {font-size: 27px;}
  #cogran-home .cg-market-more {display: block;}
  #cogran-home .cg-market-more div {margin-top: 16px;}
  #cogran-home .cg-featured-quote {padding-left: 24px;}
  #cogran-home .cg-featured-quote blockquote p {font-size: 28px;}
  #cogran-home .cg-quote-takeaway > * {padding-inline: 7px; font-size: 10px;}
  #cogran-home .cg-faq {padding: 29px 23px; border-radius: 12px;}
  #cogran-home .cg-final-cta h2 {font-size: clamp(48px,13vw,68px);}
  #cogran-home .cg-final-lines {opacity: .7;}
}

@media (prefers-reduced-motion: reduce) {
  #cogran-home *, #cogran-home *::before, #cogran-home *::after {animation: none !important; transition: none !important; scroll-behavior: auto !important;}
  #cogran-home.cg-motion .cg-reveal {opacity: 1; transform: none;}
}
