/* Shared presentation for the GMP, SmartStation and EDF project pages. */
.project {
    --project-ink: #162e42;
    --project-muted: #526575;
    --project-coral: #d9503e;
    color: var(--project-ink);
    background: #fff;
    font-size: 1rem;
    line-height: 1.7;
}

.project *, .project *::before, .project *::after { box-sizing: border-box; }
.project-container { width: min(1200px, calc(100% - 4rem)); margin-inline: auto; }
.project h1, .project h2:where(:not(.gs-feature-panel__title)), .project h3 { color: inherit; padding: 0; margin: 0; letter-spacing: -.035em; }
.project h2:where(:not(.gs-feature-panel__title)) { font-size: clamp(1.9rem, 3.2vw, 2.7rem); line-height: 1.16; font-weight: 700; }
.project h3 { font-size: 1.2rem; line-height: 1.3; font-weight: 700; letter-spacing: -.015em; }
.project p { margin: 0 0 1rem; }
.project a { text-underline-offset: .25em; }
.project :is(a, button, summary):focus-visible { outline: 3px solid #e66c28; outline-offset: 5px; }
.project-section { padding-block: clamp(3.5rem, 7vw, 6rem); scroll-margin-top: 5rem; }
.project .gs-content-header { margin: 0 0 2.5rem; padding: 0; color: inherit; }
.project :is(.gs-content-header__eyebrow, .gs-content-block__eyebrow) { color: var(--project-coral); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1.1rem; }
.project :is(.gs-content-header__text, .gs-content-block__text) { color: var(--project-muted); font-size: 1.06rem; line-height: 1.75; margin-top: 1.2rem; }
.project .gs-content-block { padding: 0; background: transparent; color: inherit; }
.project .gs-content-block__actions { gap: 0; margin-top: 1.5rem; }
.project .gs-content-block__actions > p { color: var(--project-muted); flex-basis: 100%; }
.project .gs-action-group { gap: .8rem 1.35rem; }
.project .gs-action { font-size: .95rem; }
.project :is(.gs-action, .gs-video-player) { --gs-primary: var(--project-coral); }
.project .gs-layout-grid { align-items: center; }
.project .gs-layout-grid > * { min-width: 0; }

.project-hero { background: radial-gradient(ellipse at 92% 30%, #f7d6c9 0, transparent 53%), #fbf7f4; padding: 1.6rem 0 0; }
.project-breadcrumb { display: flex; gap: .8rem; color: var(--project-muted); font-size: .8rem; margin-bottom: 3rem; }
.project-breadcrumb a { color: inherit; }
.project-hero .gs-content-block__title { font-size: clamp(2.65rem, 4.2vw, 4rem); font-weight: 750; line-height: 1.05; letter-spacing: -.055em; text-wrap: balance; }
.project-hero .gs-content-block__text { max-width: 32rem; font-size: 1.1rem; }
.project-hero__visual { position: relative; margin: 0; padding: 1rem; background: #fff9; border: 1px solid #fff; border-radius: 1.6rem; box-shadow: 0 22px 55px #482c2314; transform: rotate(-1.5deg); }
.project-hero__visual img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: .8rem; background: #d9e4e9; }
.project-hero__visual figcaption { display: flex; align-items: center; gap: .6rem; padding: .9rem .25rem .1rem; font-size: .76rem; font-weight: 650; }
.project-live-dot { flex: 0 0 .45rem; height: .45rem; border-radius: 50%; background: #337d65; }
.project-facts { display: grid; grid-template-columns: .6fr 1.4fr .8fr 1.5fr; gap: 2rem; margin: 3.5rem 0 0; border-top: 1px solid #162e421f; padding-block: 1.6rem; }
.project-facts dt { color: var(--project-muted); font-size: .72rem; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; }
.project-facts dd { font-size: .88rem; font-weight: 700; margin: .25rem 0 0; }
.project .gs-video-player { width: 100%; background: #162e42; box-shadow: 0 12px 35px #162e4212; }
.project-caption { color: var(--project-muted); font-size: .82rem; margin-top: 1rem !important; text-align: center; }
.project-benefits { background: #f1f5f7; }
.project .gs-benefit-list { padding: 0; counter-reset: benefit; }
.project .gs-benefit { counter-increment: benefit; }
.project .gs-benefit::before { content: "0" counter(benefit); color: var(--project-coral); font-size: .75rem; font-weight: 800; letter-spacing: .06em; display: block; margin-bottom: 1.15rem; }
.project .gs-benefit__description { color: var(--project-muted); font-size: .95rem; line-height: 1.65; }
.project-details { border-top: 1px solid #ccd7df; border-bottom: 1px solid #ccd7df; margin-top: 2rem; }
.project-details summary { padding: 1.25rem .25rem; cursor: pointer; font-weight: 650; }
.project-details > div { max-width: 58rem; padding: .5rem .25rem 1.25rem; color: var(--project-muted); }
.project-feature + .project-feature { margin-top: 5rem; padding-top: 5rem; border-top: 1px solid #e1e8ed; }
.project-feature .gs-content-block__actions { margin-top: .5rem; }
.project-transformation { padding-top: 0; color: var(--gs-text); }
.project-transformation .gs-feature-panel__content { display: flex; flex-direction: column; justify-content: center; }
.project-transformation .gs-feature-panel__actions { align-self: stretch; flex-direction: column; align-items: flex-start; gap: 1rem; }
.project-transformation .gs-feature-panel__content p { margin: 0; }
.project-testimonials { background: #162e42; color: #fff; }
.project-testimonials .gs-content-header__eyebrow { color: #ffb09c; }
.project-quote { margin: 0 0 3.5rem; max-width: 62rem; }
.project-quote__mark { display: block; color: #ffb09c; font-family: Georgia, serif; font-size: 6rem; line-height: .9; margin-top: 2.5rem; }
.project-quote blockquote { font-size: clamp(1.5rem, 2.65vw, 2.3rem); line-height: 1.4; letter-spacing: -.025em; }
.project :is(.project-quote, .project-voices) figcaption strong { display: block; font-size: .95rem; }
.project :is(.project-quote, .project-voices) figcaption span { display: block; color: #b6cbd8; font-size: .83rem; }
.project-voices { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.project-voices figure { margin: 0; border-top: 1px solid #ffffff30; padding-top: 1.75rem; display: flex; flex-direction: column; }
.project-voices blockquote { color: #e1eaf0; font-size: 1rem; line-height: 1.8; flex: 1; }
.project-voices figcaption { display: flex; gap: .85rem; align-items: center; margin-top: 1rem; }
.project-voices img { border-radius: 50%; object-fit: cover; }
.project-testimonials .project-details { border-color: #ffffff30; }
.project-testimonials .project-details > div { color: #e1eaf0; }
.project-partners .gs-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.project-partners .gs-promo-card { border: 1px solid #e1e8ed; border-radius: 1rem; box-shadow: none; }
.project-partners .gs-promo-card__content { padding: 1.5rem; }
.project-partners .gs-promo-card__eyebrow { font-size: .7rem; color: var(--project-muted); text-transform: uppercase; letter-spacing: .08em; }
.project-partners .gs-promo-card__text { color: var(--project-muted); font-size: .95rem; }
.project-press { padding-top: 0; }
.project-press__list { list-style: none; margin: 0; padding: 0; }
.project-press__list li { border-top: 1px solid #dce5eb; }
.project-press__list li:last-child { border-bottom: 1px solid #dce5eb; }
.project-press__list a { display: grid; grid-template-columns: 9rem 1fr auto; gap: 2rem; padding: 1.5rem .5rem; color: var(--project-ink); text-decoration: none; font-size: .95rem; }
.project-press__list a:hover { background: #f1f5f7; }
.project-press__list strong { font-size: .83rem; }
.project-press__list a > span:last-child { color: var(--project-coral); font-size: 1.25rem; }
.project-contact { background: #fbede7; margin-bottom: clamp(2rem, 4vw, 4rem); }
.project-media { display: block; width: 100%; height: auto; border-radius: 1rem; }
.project-media--logo { max-width: 26rem; max-height: 16rem; object-fit: contain; margin-inline: auto; padding: 2rem; }
.project-stats { margin-top: 2rem; }
.project .gs-stat__content p { margin: 0; }
.project-quote__author { display: flex; align-items: center; gap: 1rem; }
.project-quote__author img { border-radius: 50%; object-fit: cover; flex: 0 0 64px; }
.project--smartstation { --project-coral: #076e8a; }
.project--smartstation .project-hero { background: radial-gradient(ellipse at 92% 30%, #bcdce9 0, transparent 53%), #f4f8fa; }
.project--smartstation .project-contact { background: #e8f3fa; }
.project--edf .project-hero__visual img { object-fit: contain; background: #fff; }

@media (max-width: 991px) {
    .project-hero .gs-content-block { max-width: 44rem; }
    .project-hero__visual { transform: none; max-width: 46rem; }
    .project-hero__visual img { aspect-ratio: 16 / 9; }
    .project-facts { grid-template-columns: 1fr 1fr; gap: 1.25rem; }
    .project-partners .gs-card-grid { grid-template-columns: 1fr; }
    .project-partners .gs-promo-card { max-width: 34rem; margin-inline: auto; width: 100%; }
}

@media (max-width: 600px) {
    .project-container { width: calc(100% - 2rem); }
    .project-breadcrumb { margin-bottom: 2rem; }
    .project-hero .gs-content-block__title { font-size: clamp(2.3rem, 10vw, 3rem); }
    .project-hero__visual { padding: .5rem; border-radius: 1rem; }
    .project-hero__visual figcaption { font-size: .7rem; }
    .project-facts { margin-top: 2rem; }
    .project-facts dd { font-size: .8rem; }
    .project .gs-action-group { align-items: stretch; }
    .project .gs-action-group .gs-action { justify-content: center; flex: 1 1 100%; }
    .project-voices { grid-template-columns: 1fr; gap: 2rem; }
    .project-feature + .project-feature { margin-top: 3rem; padding-top: 3rem; }
    .project-press__list a { grid-template-columns: 1fr auto; gap: .5rem 1rem; }
    .project-press__list strong { grid-column: 1 / -1; }
    .project .gs-benefit-list__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .project *, .project *::before, .project *::after { scroll-behavior: auto !important; transition: none !important; }
}

