/* Page-only styles. The shared Cogran menu and footer remain untouched. */
  #cogran-demo h1 {font-size: clamp(55px, 6.7vw, 96px); line-height: .96; letter-spacing: -.068em;}
  #cogran-demo h2 {font-size: clamp(40px, 4.7vw, 70px); line-height: 1.02; letter-spacing: -.055em;}
  #cogran-demo h3 {font-size: clamp(22px, 2vw, 30px); line-height: 1.2; letter-spacing: -.035em;}
  #cogran-demo a:focus-visible, #cogran-demo summary:focus-visible {outline: 3px solid var(--cg-green); outline-offset: 5px;}
  #cogran-demo .cd-wrap {width: min(1320px, calc(100% - 96px)); margin-inline: auto;}
  #cogran-demo .cd-section {padding-block: clamp(90px, 9vw, 145px);}
  #cogran-demo .cd-kicker {margin: 0 0 22px; color: var(--cg-green); font-size: 12px; font-weight: 750; letter-spacing: .16em; line-height: 1.5;}
  #cogran-demo .cd-lede {max-width: 650px; margin-top: 28px; color: #344F42; font-size: clamp(18px, 1.6vw, 23px); line-height: 1.58; letter-spacing: -.015em;}
  #cogran-demo .cd-btn {display: inline-flex; min-height: 56px; align-items: center; justify-content: center; gap: 24px; padding: 15px 25px; border: 1px solid var(--cg-green); border-radius: 999px; color: #fff; background: var(--cg-green); box-shadow: 0 13px 30px rgba(25,120,62,.18); font-size: 16px; font-weight: 680; line-height: 1.4; transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;}
  #cogran-demo .cd-btn:hover {color: #fff; background: var(--cg-green-dark); box-shadow: 0 18px 40px rgba(11,48,34,.22); transform: translateY(-2px);}
  #cogran-demo .cd-btn--light {color: var(--cg-deep); background: #fff; border-color: #fff; box-shadow: none;}
  #cogran-demo .cd-btn--light:hover {color: var(--cg-deep); background: var(--cg-lime); border-color: var(--cg-lime);}
  #cogran-demo .cd-link {display: inline-flex; align-items: center; gap: 12px; color: var(--cg-deep); font-size: 16px; font-weight: 650; text-decoration: underline; text-decoration-color: rgba(25,120,62,.45); text-underline-offset: 7px;}
  #cogran-demo .cd-link:hover {color: var(--cg-green); text-decoration-color: var(--cg-green);}
  #cogran-demo .cd-actions {display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 35px;}

  /* Hero */
  #cogran-demo .cd-hero-shell {position: relative; overflow: hidden; background: linear-gradient(112deg, #fff 0%, #fff 52%, #f7faf7 52%, #edf5ef 100%);}
  #cogran-demo .cd-hero {display: grid; min-height: 720px; grid-template-columns: minmax(400px,.88fr) minmax(550px,1.12fr); align-items: center; gap: clamp(48px,6vw,96px); padding-block: 82px 108px;}
  #cogran-demo .cd-hero-copy {position: relative; z-index: 4;}
  #cogran-demo .cd-hero h1 span {color: var(--cg-green);}
  #cogran-demo .cd-signals {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 35px;}
  #cogran-demo .cd-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,.86); font-size: 12px; font-weight: 580;}
  #cogran-demo .cd-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-demo .cd-hero-visual {position: relative; min-height: 585px; margin-right: min(-5vw,-28px);}
  #cogran-demo .cd-photo-frame {position: absolute; inset: 0 0 42px 6%; overflow: hidden; border-radius: 4px; background: var(--cg-soft); clip-path: polygon(14% 0,100% 0,100% 100%,0 100%,0 18%);}
  #cogran-demo .cd-photo-frame::after {position: absolute; inset: 0; background: linear-gradient(180deg,rgba(11,48,34,.02),rgba(11,48,34,.18)); content: '';}
  #cogran-demo .cd-photo-frame img {width: 100%; height: 100%; object-fit: cover; object-position: 52% center; transition: transform 900ms cubic-bezier(.2,.7,.2,1);}
  #cogran-demo .cd-hero-visual:hover .cd-photo-frame img {transform: scale(1.018);}
  #cogran-demo .cd-demo-card {position: absolute; z-index: 3; right: 2%; bottom: 0; width: min(74%,520px); overflow: hidden; border: 1px solid rgba(11,48,34,.14); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 32px 80px rgba(11,48,34,.23); backdrop-filter: blur(12px);}
  #cogran-demo .cd-demo-card-top {display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border-bottom: 1px solid var(--cg-line); color: var(--cg-muted); font-size: 11px; font-weight: 650;}
  #cogran-demo .cd-live {display: inline-flex; align-items: center; gap: 8px; color: var(--cg-green);}
  #cogran-demo .cd-live i {width: 7px; height: 7px; border-radius: 50%; background: var(--cg-green); box-shadow: 0 0 0 5px rgba(25,120,62,.1);}
  #cogran-demo .cd-demo-card-body {padding: 22px 22px 24px;}
  #cogran-demo .cd-demo-card-body > strong {display: block; margin-bottom: 14px; color: var(--cg-deep); font-size: 19px; font-weight: 700; letter-spacing: -.025em;}
  #cogran-demo .cd-demo-step {display: grid; grid-template-columns: 30px 1fr; gap: 13px; padding: 13px 0; border-top: 1px solid var(--cg-line);}
  #cogran-demo .cd-demo-step b {color: var(--cg-green); font-size: 10px; letter-spacing: .08em;}
  #cogran-demo .cd-demo-step span {color: var(--cg-muted); font-size: 13px; font-weight: 560;}
  #cogran-demo .cd-orbits {position: absolute; z-index: 2; left: -14%; bottom: -58px; width: 390px; height: 250px; pointer-events: none;}
  #cogran-demo .cd-orbits i {position: absolute; inset: 0; border: 1px solid rgba(150,185,43,.62); border-radius: 50%; transform: rotate(-12deg);}
  #cogran-demo .cd-orbits i:nth-child(2) {inset: -24px;}
  #cogran-demo .cd-orbits i:nth-child(3) {inset: -48px;}

  /* Proof band */
  #cogran-demo .cd-proof-band {color: #fff; background: var(--cg-deep);}
  #cogran-demo .cd-proof-grid {display: grid; grid-template-columns: repeat(4,1fr);}
  #cogran-demo .cd-proof-grid > span {display: flex; min-height: 88px; align-items: center; gap: 15px; padding: 20px 27px; border-left: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.9); font-size: 13px; font-weight: 570;}
  #cogran-demo .cd-proof-grid > span:last-child {border-right: 1px solid rgba(255,255,255,.15);}
  #cogran-demo .cd-proof-grid b {color: var(--cg-lime); font-size: 10px; letter-spacing: .1em;}

  /* Scheduler */
  #cogran-demo .cd-booking {background: var(--cg-soft);}
  #cogran-demo .cd-booking-grid {display: grid; grid-template-columns: minmax(300px,.65fr) minmax(560px,1.35fr); align-items: start; gap: clamp(55px,7vw,105px);}
  #cogran-demo .cd-booking-copy {position: sticky; top: 130px;}
  #cogran-demo .cd-booking-copy h2 {font-size: clamp(40px,4.3vw,65px);}
  #cogran-demo .cd-booking-copy > p:not(.cd-kicker) {max-width: 500px; margin-top: 28px; font-size: 17px;}
  #cogran-demo .cd-booking-list {margin: 38px 0 30px; padding: 0; border-top: 1px solid rgba(11,48,34,.15); list-style: none;}
  #cogran-demo .cd-booking-list li {display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 19px 0; border-bottom: 1px solid rgba(11,48,34,.15); color: var(--cg-deep); font-size: 14px; font-weight: 620;}
  #cogran-demo .cd-booking-list span {color: var(--cg-green); font-size: 10px; letter-spacing: .1em;}
  #cogran-demo .cd-contact-note {font-size: 13px; line-height: 1.65;}
  #cogran-demo .cd-contact-note a {color: var(--cg-green-dark); font-weight: 650; text-decoration: underline; text-underline-offset: 4px;}
  #cogran-demo .cd-calendar-card {position: relative; overflow: hidden; min-width: 0; border: 1px solid var(--cg-line); border-radius: 20px; background: #fff; box-shadow: 0 35px 85px rgba(11,48,34,.13);}
  #cogran-demo .cd-calendar-top {display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 17px 21px; border-bottom: 1px solid var(--cg-line); color: var(--cg-muted); font-size: 11px; font-weight: 650;}
  #cogran-demo .cd-calendar-top strong {color: var(--cg-deep); font-size: 13px;}
  #cogran-demo .cd-calendar-top span {display: inline-flex; align-items: center; gap: 8px;}
  #cogran-demo .cd-calendar-top i {width: 7px; height: 7px; border-radius: 50%; background: var(--cg-green);}
  #cogran-demo .cd-calendar-stage {position: relative; min-height: 760px; background: linear-gradient(110deg,#fbfdfb,#f4f8f5);}
  #cogran-demo .cd-calendar-placeholder {position: absolute; inset: 28px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 22px; opacity: .7;}
  #cogran-demo .cd-calendar-placeholder div {border-radius: 12px; background: linear-gradient(100deg,#edf3ee 20%,#f7faf7 45%,#edf3ee 70%); background-size: 240% 100%; animation: cd-shimmer 1.8s linear infinite;}
  #cogran-demo .calendly-inline-widget {position: relative; z-index: 2; min-width: 320px; height: 760px; background: transparent;}
  #cogran-demo .cd-calendar-fallback {padding: 14px 22px 19px; border-top: 1px solid var(--cg-line); color: var(--cg-muted); background: #fff; font-size: 12px; text-align: center;}
  #cogran-demo .cd-calendar-fallback a {color: var(--cg-green-dark); font-weight: 650; text-decoration: underline; text-underline-offset: 4px;}
  @keyframes cd-shimmer {0% {background-position: 100% 0;} 100% {background-position: -100% 0;}}

  /* Demo path */
  #cogran-demo .cd-path {background: #fff;}
  #cogran-demo .cd-section-head {display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); align-items: end; gap: 75px; margin-bottom: 64px;}
  #cogran-demo .cd-section-head > p {max-width: 480px; margin: 0 0 5px; font-size: 17px;}
  #cogran-demo .cd-path-grid {display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--cg-line); border-bottom: 1px solid var(--cg-line);}
  #cogran-demo .cd-path-card {position: relative; min-height: 310px; padding: 38px 36px 42px; border-right: 1px solid var(--cg-line); transition: color 180ms ease, background 180ms ease, transform 180ms ease;}
  #cogran-demo .cd-path-card:last-child {border-right: 0;}
  #cogran-demo .cd-path-card:hover {background: var(--cg-soft); transform: translateY(-4px);}
  #cogran-demo .cd-path-number {display: block; margin-bottom: 54px; color: var(--cg-green); font-size: 10px; font-weight: 750; letter-spacing: .12em;}
  #cogran-demo .cd-path-card h3 {margin-bottom: 16px;}
  #cogran-demo .cd-path-card p {margin: 0; font-size: 14px;}

  /* Detail band */
  #cogran-demo .cd-details {color: #fff; background: var(--cg-deep);}
  #cogran-demo .cd-details .cd-kicker {color: var(--cg-lime);}
  #cogran-demo .cd-details h2 {max-width: 870px; color: #fff;}
  #cogran-demo .cd-detail-grid {display: grid; grid-template-columns: repeat(4,1fr); margin-top: 64px; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16);}
  #cogran-demo .cd-detail {min-height: 200px; padding: 28px 25px 31px; border-right: 1px solid rgba(255,255,255,.16);}
  #cogran-demo .cd-detail:last-child {border-right: 0;}
  #cogran-demo .cd-detail b {display: block; margin-bottom: 30px; color: var(--cg-lime); font-size: 10px; letter-spacing: .11em;}
  #cogran-demo .cd-detail strong {display: block; margin-bottom: 10px; color: #fff; font-size: 17px;}
  #cogran-demo .cd-detail p {margin: 0; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.62;}

  /* FAQ */
  #cogran-demo .cd-faq-section {background: #fff;}
  #cogran-demo .cd-faq-grid {display: grid; grid-template-columns: minmax(280px,.72fr) minmax(460px,1.28fr); gap: clamp(60px,8vw,120px); align-items: start;}
  #cogran-demo .cd-faq-intro > p:not(.cd-kicker) {max-width: 470px; margin-top: 28px; font-size: 17px;}
  #cogran-demo .cd-faq {padding: 36px 43px; border-radius: 18px; background: var(--cg-soft);}
  #cogran-demo .cd-faq details {padding: 21px 0; border-bottom: 1px solid rgba(11,48,34,.14);}
  #cogran-demo .cd-faq details:first-child {border-top: 1px solid rgba(11,48,34,.14);}
  #cogran-demo .cd-faq summary {position: relative; padding-right: 40px; color: var(--cg-deep); cursor: pointer; font-size: 15px; font-weight: 650; line-height: 1.5; list-style: none;}
  #cogran-demo .cd-faq summary::-webkit-details-marker {display: none;}
  #cogran-demo .cd-faq summary::after {position: absolute; top: -4px; right: 2px; color: var(--cg-green); content: '+'; font-size: 25px; font-weight: 400;}
  #cogran-demo .cd-faq details[open] summary::after {content: '−';}
  #cogran-demo .cd-faq details p {margin: 14px 34px 0 0; font-size: 14px; line-height: 1.65;}

  /* Final CTA */
  #cogran-demo .cd-final {position: relative; overflow: hidden; padding-block: clamp(85px,9vw,130px); color: #fff; background: var(--cg-green);}
  #cogran-demo .cd-final-grid {position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.18fr) minmax(300px,.82fr); align-items: end; gap: 75px;}
  #cogran-demo .cd-final .cd-kicker {color: var(--cg-lime);}
  #cogran-demo .cd-final h2 {color: #fff; font-size: clamp(48px,6vw,88px);}
  #cogran-demo .cd-final-copy p {max-width: 470px; color: rgba(255,255,255,.84); font-size: 17px;}
  #cogran-demo .cd-final-lines {position: absolute; right: -100px; bottom: -300px; width: 640px; height: 640px; pointer-events: none;}
  #cogran-demo .cd-final-lines i {position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.18); border-radius: 50%;}
  #cogran-demo .cd-final-lines i:nth-child(2) {inset: 60px;}
  #cogran-demo .cd-final-lines i:nth-child(3) {inset: 120px;}

  /* Progressive motion */
  #cogran-demo.cd-motion .cd-reveal {opacity: 0; transform: translateY(28px); transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.7,.2,1);}
  #cogran-demo.cd-motion .cd-reveal.is-visible {opacity: 1; transform: none;}

  @media (max-width: 1050px) {
    #cogran-demo .cd-wrap {width: calc(100% - 64px);}
    #cogran-demo .cd-hero {grid-template-columns: 1fr; min-height: 0; gap: 58px; padding-top: 72px;}
    #cogran-demo .cd-hero-copy {max-width: 780px;}
    #cogran-demo .cd-hero-visual {min-height: 610px; margin-right: 0;}
    #cogran-demo .cd-booking-grid {grid-template-columns: 1fr;}
    #cogran-demo .cd-booking-copy {position: static; max-width: 760px;}
    #cogran-demo .cd-section-head {grid-template-columns: 1fr; gap: 28px;}
    #cogran-demo .cd-detail-grid {grid-template-columns: 1fr 1fr;}
    #cogran-demo .cd-detail:nth-child(2) {border-right: 0;}
    #cogran-demo .cd-detail:nth-child(-n+2) {border-bottom: 1px solid rgba(255,255,255,.16);}
    #cogran-demo .cd-faq-grid {grid-template-columns: 1fr;}
    #cogran-demo .cd-faq-intro {max-width: 760px;}
    #cogran-demo .cd-final-grid {grid-template-columns: 1fr; gap: 35px;}
  }

  @media (max-width: 720px) {
    #cogran-demo {--cg-header-height: 80px;}
    #cogran-demo .cd-wrap {width: calc(100% - 36px);}
    #cogran-demo .cd-section {padding-block: 80px;}
    #cogran-demo h1 {font-size: clamp(48px,14vw,70px);}
    #cogran-demo h2 {font-size: clamp(38px,10.5vw,53px);}
    #cogran-demo .cd-hero {padding-top: 52px; padding-bottom: 78px;}
    #cogran-demo .cd-hero-shell {background: #fff;}
    #cogran-demo .cd-hero-visual {min-height: 470px;}
    #cogran-demo .cd-photo-frame {inset: 0 0 58px 0; clip-path: polygon(12% 0,100% 0,100% 100%,0 100%,0 15%);}
    #cogran-demo .cd-demo-card {right: 0; width: 91%;}
    #cogran-demo .cd-orbits {display: none;}
    #cogran-demo .cd-proof-grid {grid-template-columns: 1fr;}
    #cogran-demo .cd-proof-grid > span {min-height: 68px; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15);}
    #cogran-demo .cd-calendar-top {align-items: flex-start; flex-direction: column; gap: 5px;}
    #cogran-demo .cd-calendar-stage, #cogran-demo .calendly-inline-widget {min-height: 740px; height: 740px;}
    #cogran-demo .cd-calendar-placeholder {grid-template-columns: 1fr;}
    #cogran-demo .cd-path-grid {grid-template-columns: 1fr;}
    #cogran-demo .cd-path-card {min-height: 0; border-right: 0; border-bottom: 1px solid var(--cg-line);}
    #cogran-demo .cd-path-card:last-child {border-bottom: 0;}
    #cogran-demo .cd-path-number {margin-bottom: 32px;}
    #cogran-demo .cd-detail-grid {grid-template-columns: 1fr;}
    #cogran-demo .cd-detail, #cogran-demo .cd-detail:nth-child(2) {border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16);}
    #cogran-demo .cd-detail:last-child {border-bottom: 0;}
    #cogran-demo .cd-faq {padding: 28px 24px;}
    #cogran-demo .cd-final-lines {right: -330px;}
  }

  @media (prefers-reduced-motion: reduce) {
    #cogran-demo *, #cogran-demo *::before, #cogran-demo *::after {scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important;}
    #cogran-demo.cd-motion .cd-reveal {opacity: 1; transform: none;}
  }
