/* The project template owns the introduction; Gutenberg owns the content below it. */
.gp-project-heading {
    --gp-project-orange: #ff7a18;
    box-sizing: border-box;
    container-type: inline-size;
    color: var(--wp--preset--color--contrast, #131331);
}
.gp-project-heading *, .gp-project-links * { box-sizing: border-box; }
.gp-project-heading .gp-project-breadcrumbs { margin: 0 0 18px; }
.gp-project-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .5em; list-style: none; margin: 0; padding: 0; font-size: .9rem; font-weight: 650; }
.gp-project-breadcrumbs li { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.gp-project-breadcrumbs li + li::before { content: '›'; display: inline-block; margin-right: .5em; color: #8b8b9a; }
.gp-project-breadcrumbs a { color: #236ac4; text-decoration: none; }
.gp-project-heading .gp-project-title { display: flex; align-items: flex-start; gap: 12px; margin: 0; font-size: clamp(2rem, 6.1cqi, 4.3rem); font-weight: 900; letter-spacing: -.055em; line-height: 1.04; text-wrap: initial; }
.gp-project-title > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.gp-project-title-accent {
    display: inline-block;
    flex: 0 0 auto;
    align-self: flex-start;
    width: clamp(28px, .7em, 44px);
    height: clamp(30px, .75em, 47px);
    margin-top: -.22em;
    background: var(--gp-project-orange, #ff7a18);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 47'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round'%3E%3Cpath d='M6 25L16 6M18 31L33 18M27 40L41 36'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 47'%3E%3Cg fill='none' stroke='black' stroke-width='5' stroke-linecap='round'%3E%3Cpath d='M6 25L16 6M18 31L33 18M27 40L41 36'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
.gp-project-heading .gp-project-tagline { margin: 6px 0 0; font-size: clamp(1.1rem,2.6cqi,1.7rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.25; }
.gp-project-heading .gp-project-categories { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 8px 0 0; }
.gp-project-heading .gp-project-categories li { margin: 0; padding: 4px 10px; border-radius: 12px; background: #e9e2ff; color: #17132d; font-size: .95rem; font-weight: 750; }
.gp-project-categories li:nth-child(4n+2) { background: #d0f9c9; }
.gp-project-categories li:nth-child(4n+3) { background: #d2edff; }
.gp-project-categories li:nth-child(4n) { background: #ffe5b6; }
.gp-project-categories a { color: inherit; text-decoration: none; }
.gp-project-heading .gp-project-hero { position: relative; isolation: isolate; margin: 12px 0 0; }
.gp-project-heading .gp-project-hero--with-logo { margin-top: 24px; }
.gp-project-heading .gp-project-hero-art { margin: 0; border-radius: 20px; overflow: hidden; }
.gp-project-hero-art .gp-project-hero-image { display: block; width: 100%; height: auto; margin: 0; }
.gp-project-heading .gp-project-logo { position: absolute; z-index: 1; top: 0; right: 3%; width: 46%; margin: 0; transform: translateY(-42%); }
.gp-project-logo .gp-project-logo-image { display: block; width: 100%; height: auto; margin: 0; }
.gp-project-heading .gp-project-hero--logo-only { margin-top: 12px; }
.gp-project-hero--logo-only .gp-project-logo { position: static; width: 46%; transform: none; margin-inline: auto; }
.gp-single-project .gp-project-heading + .wp-block-post-content,
.gp-single-project .gp-project-heading + .gp-project-content { margin-top: 24px; }
.gp-project-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 16px; margin-block: 32px 0; }
.gp-project-links a { display: inline-flex; align-items: center; gap: .25em; padding: 12px 20px; border-radius: 16px; font-weight: 750; text-decoration: none; color: #19152a; background: #fffaf3; border: 1px solid #eee5d9; box-shadow: 0 4px 12px #482b1a12; }
.gp-project-links .gp-project-link { background: linear-gradient(#ffbc60,#ff8a20); border-color: #ff9b3c; }
.gp-project-heading a:focus-visible, .gp-project-links a:focus-visible { outline: 3px solid #ff7a18; outline-offset: 4px; }
@container (max-width: 560px) {
    .gp-project-heading .gp-project-hero--with-logo { margin-top: 24px; }
    .gp-project-heading .gp-project-logo { width: 65%; right: 2%; }
    .gp-project-heading .gp-project-hero--logo-only { margin-top: 12px; }
    .gp-project-hero--logo-only .gp-project-logo { width: 100%; }
}

/* Classic-theme fallback uses only the active theme's layout and padding values. */
.gp-single-project:not(.wp-block-group) {
    padding-left: var(--wp--style--root--padding-left, 0px);
    padding-right: var(--wp--style--root--padding-right, 0px);
}
.gp-single-project:not(.wp-block-group) > article > .gp-project-heading,
.gp-single-project:not(.wp-block-group) > article > .gp-project-links,
.gp-single-project:not(.wp-block-group) > article > .gp-project-technologies,
.gp-project-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--wp--style--global--content-size, 100%);
    margin-inline: auto;
}
.gp-project-content > .alignwide { max-width: var(--wp--style--global--wide-size, var(--wp--style--global--content-size, 100%)); }
.gp-project-content > .alignfull { max-width: none; }

.gp-project-technologies { --gp-project-orange: #ff7a18; container-type: inline-size; }
.gp-project-technologies .gp-project-technologies-heading { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: var(--wp--preset--font-size--heading, 2rem); font-weight: 900; letter-spacing: -.04em; line-height: 1.1; }
.gp-project-technologies-heading .gp-project-title-accent { width: .85em; height: .9em; margin-top: -.18em; }
.gp-project-technologies .gp-project-technologies-list { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.gp-project-technologies .gp-project-technology { display: inline-flex; align-items: center; justify-content: center; gap: 9px; margin: 0; padding: 9px 14px; border-radius: 14px; background: #e9ddff; color: #17132d; font-size: .95rem; font-weight: 750; line-height: 1.25; }
.gp-project-technologies .gp-project-technology--blue { background: #d6f0ff; }
.gp-project-technologies .gp-project-technology--green { background: #e6f7d3; }
.gp-project-technologies .gp-project-technology--peach { background: #ffe5d5; }
.gp-project-technologies .gp-project-technology--yellow { background: #fff0cd; }
.gp-project-technologies .gp-project-technology--pink { background: #ffdce6; }
.gp-project-technology > span { overflow-wrap: anywhere; min-width: 0; }
