/*
Theme Name: Galileo Block
Description: Galileo Production block theme built on Twenty Twenty-Five. Review candidate for isolated staging.
Template: twentytwentyfive
Version: 0.2.0-rc22
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: galileo-block
Tags: full-site-editing, block-patterns, style-variations, portfolio, translation-ready, wide-blocks
*/
html{scroll-behavior:smooth}body{overflow-wrap:break-word}
.gb-header{background:#fff!important;color:#29231d;border-bottom:1px solid #ddd;padding-block:1.3rem}
.gb-header-row{gap:2rem;min-height:60px}.gb-brand .wp-block-site-logo{background:#fff;padding:.55rem .7rem;border-radius:2px}
.gb-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;color:var(--wp--preset--color--accent-5)}
.gb-hero{padding-block:clamp(3rem,8vw,7rem)}.gb-hero-title{max-width:12ch;font-size:clamp(2.8rem,7vw,6.2rem);line-height:.98;letter-spacing:-.055em;font-weight:500}
.gb-lead{max-width:48ch;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.6}
.gb-section{padding-block:clamp(2.5rem,6vw,5.8rem)}.gb-section-head{margin-bottom:2.5rem}
.gb-card-grid .wp-block-post-title{font-size:1.25rem;line-height:1.3;letter-spacing:-.02em;margin-block:.8rem .4rem}
.gb-card-grid .wp-block-post-featured-image{margin:0;overflow:hidden}
.gb-card-grid .wp-block-post-featured-image img{aspect-ratio:16/10;object-fit:cover;transition:transform .25s ease}
.gb-card-grid .wp-block-post-featured-image a:hover img{transform:scale(1.025)}
.gb-card-grid .wp-block-post-excerpt{font-size:.95rem;color:var(--wp--preset--color--accent-5)}
.gb-contact{border-block:1px solid var(--wp--preset--color--accent-4);padding-block:clamp(3rem,6vw,6rem)}
.gb-footer{border-top:1px solid var(--wp--preset--color--accent-4);padding-block:2rem}
.gb-reading{padding-block:clamp(2.5rem,6vw,5rem)}.gb-reading .wp-block-post-title{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.08;letter-spacing:-.04em}
.wp-block-post-content iframe{max-width:100%;aspect-ratio:16/9;height:auto}.wp-block-post-content img{height:auto}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--wp--preset--color--accent-1);outline-offset:4px}
.wp-block-navigation .wp-block-navigation-item__content{padding-block:.65rem}.wp-block-button__link{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:700px){.gb-header-row{gap:1rem}.gb-hero-title{font-size:clamp(2.8rem,11vw,4.2rem)}.gb-footer .wp-block-group{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Galileo Site Core components: structure is independent from stored content. */
body{--gbc-wide:1380px;--gbc-sans:"Inter Variable",Arial,sans-serif;--gbc-display:var(--gbc-sans);--gbc-reading:70ch;--gbc-gutter-desktop:56px;--gbc-gutter-mobile:20px;--gbc-body-size:16px;--gbc-leading:1.7;--gbc-article-leading:1.8;--gbc-heading-tracking:-.03em;--gbc-hero-desktop:82px;--gbc-hero-mobile:46px;--gbc-h2-desktop:48px;--gbc-h2-mobile:34px;--gbc-logo-desktop:194px;--gbc-logo-mobile:158px;--gbc-logo-footer-width:210px;--gbc-section-gap:92px;--gbc-section-gap-mobile:48px;--gbc-card-gap:30px;--gbc-columns:3;--gbc-credit-font-size:16px;--gbc-image-radius:0px;--gbc-button-radius:2px}
.gbc-wide{width:100%;max-width:var(--gbc-wide);margin-inline:auto}.gbc-header{border-bottom:1px solid var(--wp--preset--color--accent-4);padding-block:22px}.gbc-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.gbc-logo{display:block;flex:none;width:var(--gbc-logo-desktop);max-width:50vw;background:#fff;padding:8px 12px;box-sizing:border-box}.gbc-logo img{width:100%;height:auto;object-fit:contain}.gbc-logo-footer{width:var(--gbc-logo-footer-width)}
.gbc-header nav ul,.gbc-social{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}.gbc-header nav a{font-size:13px;text-decoration:none;padding-block:12px;display:inline-block}.gbc-header a[aria-current]{text-decoration:underline;text-underline-offset:5px}.gbc-language a{font-size:12px!important}.gbc-mobile-menu{display:none}.gbc-mobile-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--wp--preset--color--contrast);padding:0 14px;list-style:none}.gbc-mobile-menu summary::-webkit-details-marker{display:none}
.gbc-home{max-width:none!important}.gbc-hero{padding-block:var(--gbc-section-gap)}.gbc-hero-title{font-family:var(--gbc-display);font-size:clamp(var(--gbc-hero-mobile),7vw,var(--gbc-hero-desktop));line-height:1.05;letter-spacing:-.045em;max-width:15ch;font-weight:500;text-wrap:balance;margin-block:22px 30px}.gbc-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--accent-5)}.gbc-hero-sub{display:flex;justify-content:space-between;align-items:end;gap:28px}.gbc-lead{font-size:clamp(18px,1.5vw,23px);max-width:48ch;line-height:1.5;text-wrap:pretty}.gbc-hero-image{margin:40px 0 0}.gbc-hero-image img{width:100%;height:auto;max-height:78vh;object-fit:contain;border-radius:var(--gbc-image-radius)}
.gbc-section{padding-block:var(--gbc-section-gap)}.gbc-section h2,.gbc-callout h2,.gbc-contact h2{font-size:clamp(var(--gbc-h2-mobile),4vw,var(--gbc-h2-desktop));font-family:var(--gbc-display);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}.gbc-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:30px}.gbc-section-head h2{margin:0}.gbc-project-grid{display:grid;grid-template-columns:repeat(var(--gbc-columns),minmax(0,1fr));gap:var(--gbc-card-gap)}.gbc-project-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--gbc-image-radius)}.gbc-project-card h3{font-size:20px;font-weight:500;line-height:1.35;letter-spacing:-.015em;text-wrap:balance;margin-top:16px}.gbc-project-card a{text-decoration:none}.gbc-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gbc-card-gap);margin-block:30px}.gbc-services h3{font-size:24px;line-height:1.3}.gbc-partners{display:flex;flex-wrap:wrap;align-items:center;gap:32px;margin-top:30px}.gbc-partners img{max-width:180px;max-height:90px;width:auto;height:auto;object-fit:contain;background:#fff;padding:10px}
.gbc-reading{padding-block:var(--gbc-section-gap);max-width:var(--gbc-wide)!important}.gbc-reading>.wp-block-post-content,.gbc-reading>.gbc-project-details,.gbc-reading>.gbc-gallery-section,.gbc-reading>.gbc-intro{max-width:var(--gbc-reading)!important;margin-inline:auto}.gbc-wide-page>.wp-block-post-content{max-width:var(--gbc-wide)!important}.gbc-intro h1{font-family:var(--gbc-display);font-size:clamp(36px,5vw,66px);line-height:1.1;letter-spacing:-.035em;text-wrap:balance;margin-block:14px 24px}.wp-block-post-content{font-size:var(--gbc-body-size);line-height:var(--gbc-leading);text-wrap:pretty}.wp-block-post-content :where(p,li,dd){overflow-wrap:break-word;word-break:normal;hyphens:manual}.wp-block-post-content p{margin-block:0 1.25em}.wp-block-post-content h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin-top:2em;text-wrap:balance}.wp-block-post-content h3{font-size:clamp(23px,2.5vw,30px);line-height:1.25;margin-top:1.6em;text-wrap:balance}.wp-block-post-content :where(ul,ol){padding-inline-start:1.4em;margin-block:1.25em}.wp-block-post-content li+li{margin-top:.5em}.wp-block-post-content figure{max-width:100%}.wp-block-post-content img{max-width:100%;height:auto}.wp-block-post-content :where(.gallery,.wp-block-gallery){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:32px}.wp-block-post-content .gallery-item{width:auto!important;float:none!important;margin:0!important}.wp-block-post-content .gallery-item img{width:100%;height:auto;border:0}.wp-block-post-content .gallery br{display:none}.wp-block-post-content iframe,.gbc-video iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}.gbc-video{margin-block:32px}
.gbc-structured{margin-block:40px}.gbc-credits{margin:24px 0;font-size:var(--gbc-credit-font-size)}.gbc-credits>div{display:grid;grid-template-columns:minmax(130px,.65fr) minmax(0,1.35fr);gap:20px;border-bottom:1px solid var(--wp--preset--color--accent-4);padding-block:13px}.gbc-credits dt{font-weight:500;color:var(--wp--preset--color--accent-5);line-height:1.45}.gbc-credits dd{margin:0;line-height:1.6;overflow-wrap:break-word}.gbc-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gbc-gallery figure{margin:0}.gbc-gallery img{width:100%;height:auto;border-radius:var(--gbc-image-radius)}
.gbc-primary-media{max-width:1100px!important;margin:30px auto 45px}.gbc-primary-media .gbc-video{margin:0}.gbc-primary-image{margin:0}.gbc-primary-image img{width:100%;height:auto;max-height:80vh;object-fit:contain}.wp-block-post-content figure:empty{display:none}
.gbc-contact{padding-block:var(--gbc-section-gap)}.gbc-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px}.gbc-email{font-size:clamp(20px,2.4vw,32px);line-height:1.3;overflow-wrap:anywhere}.gbc-contact-form{display:grid;gap:10px;max-width:100%}.gbc-contact-form :where(input:not([type=checkbox]),textarea){box-sizing:border-box;max-width:100%;width:100%;background:transparent;color:inherit;border:1px solid var(--wp--preset--color--accent-4);border-radius:2px;padding:12px;min-height:44px}.gbc-contact-form label{font-size:15px}.gbc-contact-form button{justify-self:start;margin-top:15px;cursor:pointer;border-radius:var(--gbc-button-radius);min-height:44px}.gbc-consent{display:flex;align-items:flex-start;gap:12px;margin-top:15px}.gbc-consent input{margin-top:5px;flex:none}.gbc-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.gbc-form-status{padding:15px;border:1px solid currentColor}.gbc-callout{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:var(--gbc-section-gap);border-top:1px solid var(--wp--preset--color--accent-4)}.gbc-callout a{min-height:44px;border-radius:var(--gbc-button-radius)}
.gbc-footer{padding-block:40px;border-top:1px solid var(--wp--preset--color--accent-4)}.gbc-footer-top,.gbc-footer-bottom{display:flex;justify-content:space-between;gap:35px;align-items:flex-start}.gbc-footer-top>div{max-width:48ch}.gbc-footer-bottom{border-top:1px solid var(--wp--preset--color--accent-4);margin-top:35px;padding-top:20px;font-size:13px}.gbc-social{flex-wrap:wrap;gap:18px;margin-top:20px}.gbc-social a{font-size:14px}
@media(max-width:1080px){.gbc-desktop-nav{display:none}.gbc-mobile-menu{display:block;position:relative}.gbc-mobile-menu[open] nav{position:absolute;z-index:30;right:0;top:55px;background:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);border:1px solid var(--wp--preset--color--accent-4);padding:20px;min-width:210px;max-width:calc(100vw - 40px)}.gbc-mobile-menu nav ul{display:block}.gbc-mobile-menu nav li{display:block}.gbc-mobile-menu nav a{display:block;min-height:44px;box-sizing:border-box}.gbc-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.wp-site-blocks{padding-inline:0}.gbc-header,.gbc-footer{padding-inline:var(--gbc-gutter-mobile)}.gbc-logo{width:var(--gbc-logo-mobile)}.gbc-hero,.gbc-section,.gbc-contact,.gbc-callout{padding-block:var(--gbc-section-gap-mobile)}.gbc-hero-title{font-size:var(--gbc-hero-mobile);letter-spacing:-.035em}.gbc-hero-sub,.gbc-section-head,.gbc-callout,.gbc-footer-top,.gbc-footer-bottom{flex-direction:column;align-items:flex-start}.gbc-project-grid,.gbc-services,.gbc-contact-layout,.gbc-gallery,.wp-block-post-content :where(.gallery,.wp-block-gallery){grid-template-columns:1fr}.gbc-contact-layout{gap:35px}.gbc-credits>div{grid-template-columns:1fr;gap:5px}.gbc-reading{padding-block:var(--gbc-section-gap-mobile)}.gbc-social{gap:14px}.gbc-intro h1{font-size:36px}.gbc-header-inner{gap:12px}}

/* Shared settings apply to both native and Galileo block layouts. */
body .wp-site-blocks{padding-inline:var(--gbc-gutter-desktop)}
body{--wp--style--global--wide-size:var(--gbc-wide)}
@media(max-width:700px){body .wp-site-blocks{padding-inline:var(--gbc-gutter-mobile)}.gbc-header,.gbc-footer{padding-inline:0}}

.gbc-project-card img{height:auto!important;aspect-ratio:16/10;object-fit:cover;display:block}

.gbc-card-image{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:var(--gbc-image-radius)}.gbc-card-image img{width:100%;height:100%!important;object-fit:cover}

.gbc-card-image{background:var(--wp--preset--color--accent-4)}.gbc-card-image img{object-fit:var(--gbc-image-fit,contain)}
/* Legacy content must shrink inside the reading column, including fixed-width forms and columns. */
.wp-block-post-content :where(.wp-block-columns,.wp-block-column,.wp-block-group,.wide,.vc_row,.vc_column_container){min-width:0;max-width:100%;box-sizing:border-box}
.wp-block-post-content :where(input,textarea,select,form,.wpcf7,.wpcf7-form-control-wrap){max-width:100%;box-sizing:border-box}
.wp-block-post-content :where(pre,code){white-space:pre-wrap;overflow-wrap:anywhere}
.wp-block-post-content table{max-width:100%;width:100%;table-layout:fixed;overflow-wrap:anywhere}
@media(max-width:781px){.wp-block-post-content .wp-block-columns{flex-wrap:wrap!important}.wp-block-post-content .wp-block-column{flex-basis:100%!important}}
.wp-block-post-content .wp-block-column{min-width:0!important;max-width:100%!important}
.wp-block-post-content .wpcf7-form-control{width:100%;max-width:100%}
.wp-block-post-content :where(label,strong,a){overflow-wrap:break-word;word-break:normal}
@media(max-width:700px){.wp-block-post-template.is-layout-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(min-width:701px) and (max-width:1080px){.wp-block-post-template.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* Avoid double gutters from nested root-padding-aware groups. */
.gbc-home.has-global-padding,.gbc-reading.has-global-padding,.gbc-reading>.wp-block-post-content.has-global-padding{padding-inline:0}
.gbc-reading>.wp-block-query{max-width:var(--gbc-wide)!important}
.wp-block-post-template .wp-block-post-title{font-size:22px;line-height:1.35;text-wrap:balance}
.wp-block-post-template .wp-block-post-featured-image img{object-fit:contain!important;background:var(--wp--preset--color--accent-4)}
.gbc-legacy-row{display:flex;flex-wrap:wrap;gap:24px}.gbc-legacy-column{flex:1 1 calc(var(--gbc-column-basis,100%) - 24px);min-width:0;max-width:100%}
@media(max-width:781px){.gbc-legacy-column{flex-basis:100%}}
.gbc-card-type,.wp-block-post-terms{font-size:13px;color:var(--wp--preset--color--accent-5);line-height:1.5;margin-top:8px}
.wp-block-post-date{color:var(--wp--preset--color--accent-5)!important}
.wp-block-post-content [style*="color:"]{color:inherit!important}
.wp-block-post-content h2{font-size:clamp(var(--gbc-h2-mobile),3vw,var(--gbc-h2-desktop))}
@media(max-width:700px){.gbc-hero-title{font-size:clamp(32px,calc(var(--gbc-hero-mobile)*.75 + (100vw - 320px)*.15),var(--gbc-hero-mobile))}}
.wp-block-post-content [style*="text-align:justify"],.wp-block-post-content [style*="text-align: justify"]{text-align:start!important}
/* Form boundaries carry information and need stronger contrast than decorative separators. */
.gbc-contact-form :where(input:not([type=checkbox]),textarea){border-color:var(--wp--preset--color--accent-5)}

/* RC2: preserve complete gallery frames, including portrait posters. */
.wp-block-post-content .wp-block-gallery.has-nested-images{align-items:start}
.wp-block-post-content .wp-block-gallery.has-nested-images figure.wp-block-image{width:100%!important;align-self:start}
.wp-block-post-content .wp-block-gallery.has-nested-images figure.wp-block-image img{height:auto!important;object-fit:contain!important;aspect-ratio:auto!important}
.gbc-gallery img,.wp-block-post-content .gallery-item img{object-fit:contain;max-height:75vh;max-width:100%;width:auto;margin-inline:auto;display:block}

/* Brand requirement: a white header in every palette, matching the original logo. */
.gbc-header{background:#fff!important;color:#29231d;border-bottom-color:#ddd;margin-inline:calc(-1 * var(--gbc-gutter-desktop));padding-inline:var(--gbc-gutter-desktop)}
.gbc-header a,.gb-header a,.gbc-mobile-menu summary{color:#29231d!important}
.gbc-mobile-menu summary{background:#fff;border-color:#29231d}
.gbc-header a:focus-visible,.gb-header a:focus-visible,.gbc-mobile-menu summary:focus-visible{outline-color:#785426}
.gbc-mobile-menu[open] nav{background:#fff;color:#29231d;border-color:#ddd}
@media(max-width:700px){.gbc-header{margin-inline:calc(-1 * var(--gbc-gutter-mobile));padding-inline:var(--gbc-gutter-mobile)}}

.gbc-gallery-heading{grid-column:1/-1;flex-basis:100%;width:100%;font-size:clamp(20px,3vw,28px);margin:32px 0 8px;line-height:1.25}
.gbc-image-caption{margin:14px 0 0;text-align:left}.gbc-image-text{max-width:var(--gbc-reading);margin:16px 0;line-height:1.6;font-size:var(--gbc-body-size);text-align:left;border:1px solid var(--wp--preset--color--accent-4);padding:14px 16px;border-radius:var(--gbc-image-radius);box-sizing:border-box}
.gbc-image-text summary{cursor:pointer;font-weight:600;min-height:24px;line-height:1.4}.gbc-image-text p{margin:12px 0;max-width:none}.gbc-media-fields{margin-top:14px;border-top:1px solid #ddd;padding-top:12px}

.gbc-nav-search{position:relative}.gbc-nav-search>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;list-style:none;font-size:13px;color:#29231d}.gbc-nav-search>summary::-webkit-details-marker{display:none}.gbc-nav-search .gbc-search-form{position:absolute;right:0;top:100%;width:320px;max-width:calc(100vw - 40px);padding:20px;border:1px solid #ddd;background:#fff;color:#29231d;box-sizing:border-box;z-index:40}.gbc-search-form label{display:block;margin-bottom:10px;font-size:14px;line-height:1.4}.gbc-search-form>div{display:flex;gap:8px}.gbc-search-form input[type=search]{min-width:0;width:100%;flex:1;border:1px solid #777;min-height:44px;padding:8px;font:inherit;font-size:16px;background:#fff;color:#29231d}.gbc-search-form button{min-height:44px;padding:8px 12px;border:1px solid #29231d;background:#fff;color:#29231d;font:inherit;font-size:14px}.gbc-nav-search>summary:focus-visible{outline:2px solid #785426;outline-offset:3px}.gbc-mobile-menu .gbc-nav-search .gbc-search-form{position:static;width:100%;padding:12px 0;border:0}
.gbc-nav-search:not([open]) .gbc-search-form{display:none}
.gbc-search-form :where(input,button){box-sizing:border-box}.gbc-search-form>div{min-width:0}.gbc-search-form button{flex:none}
.gbc-mobile-menu[open] nav{box-sizing:border-box}
/* Icon-only native disclosure. The accessible name lives on summary. */
.gbc-mobile-menu>summary{width:44px;height:44px;padding:0;box-sizing:border-box}
.gbc-mobile-menu>summary:focus-visible{outline:3px solid #785426;outline-offset:4px}
.gbc-menu-icon{display:block;flex:none}
.gbc-menu-close{display:none}
.gbc-mobile-menu[open]>summary .gbc-menu-bars{display:none}
.gbc-mobile-menu[open]>summary .gbc-menu-close{display:block}
/* Long contact addresses must fit even with the largest permitted type size. */
.gbc-footer-top>div{min-width:0;max-width:min(48ch,100%)}
.gbc-footer-contact a{overflow-wrap:anywhere}
.wp-block-post-content :where(.paragraph,.gallery,.gallery-item,.gallery-icon){min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:700px){.wp-block-post-content :where(.gallery,.wp-block-gallery){grid-template-columns:minmax(0,1fr)}}
.gbc-project-card,.gbc-project-card>a,.gbc-card-image{min-width:0;max-width:100%}.gbc-project-card img{max-width:100%}
@media(max-width:700px){.gbc-project-grid,.gbc-services,.gbc-contact-layout,.gbc-gallery{grid-template-columns:minmax(0,1fr)}}
.gbc-reading>.wp-block-post-featured-image img{object-fit:contain!important;aspect-ratio:auto!important;height:auto!important;max-width:100%}

/* RC10: carry forward the observed Galileo Studio visual language. */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wp-site-blocks>main{margin-block-start:0}.gbc-home>*{margin-block-start:0!important}
.gbc-header{padding-block:0}.gbc-header-inner{min-height:104px;gap:28px}.gbc-logo{padding:0;line-height:1}
.gbc-header nav a{font-size:12px;font-weight:500;letter-spacing:.01em}
.gbc-header a[href$="/kontakt/"],.gbc-header a[href$="/contact/"]{background:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base)!important;border-radius:var(--gbc-button-radius);padding:12px 18px;min-height:46px;box-sizing:border-box}
.gbc-hero{padding-block:clamp(42px,5vw,78px) 0}.gbc-hero>.gbc-eyebrow{margin:0 0 22px;color:var(--wp--preset--color--accent-1)}
.gbc-eyebrow{font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.16em;text-transform:uppercase}
.gbc-hero-copy{display:grid;grid-template-columns:1.45fr .65fr;gap:clamp(24px,4.5vw,72px);align-items:end;margin-bottom:42px}
.gbc-hero-title{font-size:clamp(52px,6vw,var(--gbc-hero-desktop));font-weight:400;line-height:1.045;letter-spacing:var(--gbc-heading-tracking);max-width:13.5ch;margin:0}
.gbc-title-accent{color:var(--wp--preset--color--accent-1)}
.gbc-hero-summary{max-width:40ch;font-size:16px;line-height:1.65;color:var(--wp--preset--color--accent-5);margin:0 0 8px}
.gbc-hero-image{position:relative;margin:0;aspect-ratio:2.35/1;min-height:320px;overflow:hidden;background:var(--wp--preset--color--accent-3)}
.gbc-hero-image img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.gbc-hero-image:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.68));pointer-events:none}
.gbc-hero-bottom{position:absolute;bottom:32px;left:34px;right:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:1;color:#fff;text-align:left}
.gbc-hero-bottom>div{min-width:0}.gbc-hero-bottom small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-bottom:7px}.gbc-hero-bottom strong{display:block;font:400 25px/1.3 var(--gbc-display);overflow-wrap:break-word}
.gbc-text-link,.gbc-section-head>a{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:12px;font-weight:500;line-height:1.5}
.gbc-section{padding-block:var(--gbc-section-gap) 12px}.gbc-section-head{align-items:end;margin-bottom:35px}.gbc-section-head .gbc-eyebrow{margin:0 0 12px}.gbc-section-head>a{flex:none}
.gbc-section h2,.gbc-studio h2,.gbc-contact h2{font-family:var(--gbc-display);font-size:clamp(32px,4vw,var(--gbc-h2-desktop));font-weight:400;line-height:1.13;letter-spacing:var(--gbc-heading-tracking);margin:0;text-wrap:balance}
.gbc-project-card h3{font-family:var(--gbc-display);font-size:24px;font-weight:400;line-height:1.16;letter-spacing:-.02em;margin:16px 0 7px;text-wrap:pretty}
.gbc-studio{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,82px);margin-top:var(--gbc-section-gap)!important;padding:clamp(35px,5vw,72px);box-sizing:border-box;background:var(--wp--preset--color--accent-3);color:var(--wp--preset--color--base)}
.gbc-studio h2{max-width:510px}.gbc-studio .gbc-eyebrow{color:var(--wp--preset--color--accent-2);margin:0 0 24px}.gbc-studio p:not(.gbc-eyebrow){margin:0 0 24px;line-height:1.7;max-width:60ch}.gbc-studio .gbc-text-link{color:var(--wp--preset--color--accent-2)}
.gbc-services{margin-block:30px 0}.gbc-services>div{border-top:1px solid var(--wp--preset--color--accent-4);padding-top:24px}.gbc-service-number{font-size:12px;color:var(--wp--preset--color--accent-1)}.gbc-services h3{font:400 28px/1.2 var(--gbc-display);letter-spacing:var(--gbc-heading-tracking);margin:16px 0 14px}.gbc-services p{font-size:14px;line-height:1.7;color:var(--wp--preset--color--accent-5);margin:0;max-width:60ch}
.gbc-callout{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:clamp(28px,5vw,80px);padding:clamp(35px,5vw,66px);margin-top:var(--gbc-section-gap)!important;background:var(--wp--preset--color--accent-2);color:#27221b;border:0;box-sizing:border-box}
.gbc-callout .gbc-eyebrow{color:#403121;margin:0 0 22px}.gbc-callout h2{font:400 clamp(43px,5vw,76px)/1.04 var(--gbc-display);letter-spacing:var(--gbc-heading-tracking);margin:0}
.gbc-callout-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;border-top:1px solid #725831;padding-top:24px;color:inherit;font-size:18px;text-decoration:none;overflow-wrap:anywhere}.gbc-callout-contact small{grid-column:1/-1;font-size:12px}.gbc-callout-contact>span:last-child{font-size:36px;line-height:1}
.gbc-reading>.gbc-intro{max-width:var(--gbc-wide)!important;padding:64px 0 40px;margin-bottom:32px;border-bottom:1px solid var(--wp--preset--color--accent-4)}
.gbc-reading{padding-top:0}.gbc-intro h1{font-size:clamp(45px,5vw,76px);font-weight:400;line-height:1.085;letter-spacing:var(--gbc-heading-tracking);max-width:18ch;margin:0;text-wrap:balance}.gbc-intro .gbc-eyebrow{margin:28px 0 22px;color:var(--wp--preset--color--accent-1)}.gbc-back-link{font-size:12px;text-decoration:none;color:var(--wp--preset--color--accent-5);display:inline-block;min-height:24px}
.gbc-primary-media{max-width:var(--gbc-wide)!important}.wp-block-post-content{line-height:var(--gbc-article-leading,1.8)}.wp-block-post-content p{margin-bottom:1.35em}
.wp-block-post-content h2{font-family:var(--gbc-display);font-weight:400;font-size:clamp(29px,3.2vw,var(--gbc-h2-desktop));line-height:1.17;letter-spacing:var(--gbc-heading-tracking);margin-top:1.6em}.wp-block-post-content h3{font-family:var(--gbc-display);font-weight:400;font-size:clamp(25px,2.4vw,32px);line-height:1.2;letter-spacing:var(--gbc-heading-tracking)}
.gbc-footer{background:var(--wp--preset--color--accent-6);margin-top:80px;padding-block:52px 27px;margin-inline:calc(-1 * var(--gbc-gutter-desktop));padding-inline:var(--gbc-gutter-desktop)}
@media(max-width:1080px){.gbc-header-inner{min-height:96px}.gbc-hero-copy{gap:32px}.gbc-hero-title{font-size:clamp(48px,6.5vw,var(--gbc-hero-desktop))}}
@media(max-width:760px){.gbc-header-inner{min-height:78px}.gbc-hero{padding-top:34px}.gbc-hero-copy{grid-template-columns:1fr;gap:25px;margin-bottom:32px}.gbc-hero-title{font-size:var(--gbc-hero-mobile);line-height:1.07;max-width:14ch;letter-spacing:var(--gbc-heading-tracking)}.gbc-hero-summary{font-size:15px;max-width:43ch}.gbc-hero-image{aspect-ratio:1.18/1;min-height:300px}.gbc-hero-bottom{left:20px;right:20px;bottom:24px;align-items:start;flex-direction:column}.gbc-hero-bottom strong{font-size:21px}.gbc-section{padding-block:var(--gbc-section-gap-mobile) 12px}.gbc-section h2,.gbc-studio h2,.gbc-contact h2{font-size:var(--gbc-h2-mobile)}.gbc-section-head{align-items:start}.gbc-project-card h3{font-size:23px}.gbc-studio{grid-template-columns:1fr;padding:34px 25px;gap:25px;margin-top:56px!important}.gbc-services{grid-template-columns:1fr}.gbc-callout{grid-template-columns:1fr;margin-top:60px!important;padding:35px 25px;gap:38px}.gbc-callout h2{font-size:clamp(42px,11vw,62px)}.gbc-reading>.gbc-intro{padding:46px 0 32px;margin-bottom:34px}.gbc-intro h1{font-size:clamp(35px,9vw,56px);max-width:100%;overflow-wrap:break-word}.gbc-footer{margin-top:64px;padding-block:38px 25px}}
@media(max-width:700px){.gbc-footer{margin-inline:calc(-1 * var(--gbc-gutter-mobile));padding-inline:var(--gbc-gutter-mobile)}}
@media(max-width:420px){.gbc-hero-title{font-size:min(var(--gbc-hero-mobile),12vw)}.gbc-section-head{flex-direction:column;gap:12px}.gbc-hero-bottom small{font-size:9px}}

/* Final visual review: readable reel link, bounded hero frame, original project measure. */
.gbc-hero-bottom .gbc-text-link{color:#fff}.gbc-hero-image{width:100%;min-width:0;box-sizing:border-box}.single-portfolio .gbc-intro h1{font-size:clamp(40px,4.7vw,68px);max-width:24ch;line-height:1.1}
@media(max-width:760px){.single-portfolio .gbc-intro h1{font-size:clamp(35px,8vw,48px);max-width:100%}}

/* Fixed light surfaces remain readable in all four built-in palettes. */
.gbc-studio{color:#F3EFE7}.gbc-footer{color:#29231d}.gbc-footer a{color:inherit}

/* RC11: editorial reading and crew credits. Non-destructive and responsive. */
.gbc-credits{display:grid;gap:0;margin-block:clamp(24px,3vw,44px)}
.gbc-credits>div{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);column-gap:clamp(16px,2.5vw,38px);row-gap:4px;align-items:start;padding-block:clamp(12px,1.4vw,18px)}
.gbc-credits dt{min-width:0;font-size:clamp(12px,.85vw,14px);font-weight:600;line-height:1.5;letter-spacing:.01em;overflow-wrap:break-word}
.gbc-credits dd{min-width:0;margin:0;font-size:clamp(15px,1.05vw,17px);line-height:1.55;overflow-wrap:break-word;word-break:normal;hyphens:manual}
.gbc-reading .wp-block-post-content :where(p,li){line-height:1.6}
.gbc-reading .wp-block-post-content p{max-width:75ch}
.gbc-reading .wp-block-post-content :where(h1,h2,h3){text-wrap:balance;overflow-wrap:break-word}
.gbc-reading .wp-block-post-content :where(blockquote,figure,table){max-width:100%}
@media(max-width:600px){.gbc-credits>div{grid-template-columns:minmax(0,1fr);gap:3px}.gbc-credits dt{font-size:12px}.gbc-credits dd{font-size:16px}.gbc-reading .wp-block-post-content p{max-width:100%}}


/* RC12: minimal editorial finish. Decorative separators are removed; form boundaries and focus indicators remain. */
.gbc-header,.gb-header{border-bottom:0}
.gbc-footer,.gbc-footer-bottom,.gb-footer{border-top:0}
.gbc-callout,.gbc-contact{border-top:0;border-bottom:0}
.gbc-credits>div{border-bottom:0;padding-block:clamp(10px,1.5vw,16px)}
.gbc-credits>div+div{margin-top:2px}
.gbc-image-text{border:0;padding:0;background:transparent}
.gbc-media-fields{border-top:0;padding-top:0}
/* Preserve text rhythm across editorial templates. */
.gbc-reading :where(p,li,dd),.wp-block-post-content :where(p,li,dd){line-height:1.65;overflow-wrap:break-word;word-break:normal}
.gbc-reading :where(h1,h2,h3),.wp-block-post-content :where(h1,h2,h3){text-wrap:balance;overflow-wrap:normal;hyphens:none}
.gbc-reading :where(h2,h3){margin-block-end:.6em}
.gbc-credits dd{overflow-wrap:break-word;word-break:normal;text-wrap:pretty}
.gbc-credits dt{letter-spacing:.01em}
.gbc-project-card h3,.wp-block-post-template .wp-block-post-title{text-wrap:balance}
@media(max-width:700px){.gbc-credits>div{gap:4px}.gbc-reading :where(h1,h2,h3){max-width:100%}.gbc-section-head{gap:12px}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important}}

/* RC13: responsive editorial safeguards; intentionally no decorative rules. */
:where(.gbc-wide,.gbc-reading,.gbc-project-grid,.gbc-contact-layout,.gbc-header-inner){min-width:0}
:where(.gbc-reading,.gbc-intro,.gbc-project-card,.gbc-credits,.wp-block-post-content) :where(h1,h2,h3,h4,p,dt,dd){min-width:0}
.gbc-reading :where(h1,h2,h3),.gbc-intro h1,.gbc-project-card h3{overflow-wrap:break-word;word-break:normal;hyphens:manual;text-wrap:balance}
.gbc-reading :where(p,li),.gbc-credits dd{overflow-wrap:break-word;word-break:normal;hyphens:manual}
.gbc-credits dd :where(a){overflow-wrap:anywhere}
.gbc-credits dt{font-weight:500}
.gbc-project-grid>*{min-width:0}
.gbc-project-card :where(img,video),.gbc-gallery :where(img,video){max-width:100%;height:auto}
.gbc-reading :where(pre,table){max-width:100%;overflow-x:auto}
.gbc-reading :where(blockquote){margin-inline:0}
/* Keep editorial <hr> visible until each occurrence is reviewed; do not hide semantic separators globally. */
.gbc-contact-form :where(input,textarea,select):focus-visible,.gbc-mobile-menu summary:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media(max-width:760px){.gbc-hero-title,.gbc-intro h1{max-width:100%}.gbc-credits>div{grid-template-columns:minmax(0,1fr)}.gbc-reading :where(h1,h2,h3){letter-spacing:-.025em}}
@media(max-width:420px){.gbc-hero-title{font-size:clamp(36px,10vw,46px)}.gbc-intro h1{font-size:clamp(32px,9vw,44px)}}

/* RC15: lightweight accessible lightbox, no external dependencies. */
.gbc-gallery img{cursor:zoom-in}.gbc-gallery img:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.gbc-lightbox[hidden]{display:none!important}.gbc-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;background:rgba(15,14,13,.96);color:#fff;padding:clamp(16px,4vw,50px)}
.gbc-lightbox figure{margin:0;max-width:min(92vw,1400px);max-height:90dvh;display:flex;flex-direction:column;align-items:center;gap:12px}
.gbc-lightbox figure img{display:block;max-width:100%;max-height:80dvh;width:auto;height:auto;object-fit:contain}
.gbc-lightbox figcaption{font-size:14px;line-height:1.5;text-align:center;color:#e0e0e0}
.gbc-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.09);color:#fff;cursor:pointer;min-width:44px;min-height:44px;font:inherit;font-size:32px;display:grid;place-items:center;border-radius:50%}
.gbc-lightbox button:focus-visible{outline:2px solid #fff;outline-offset:3px}.gbc-lightbox-close{right:20px;top:20px}.gbc-lightbox-prev{left:12px;top:50%;transform:translateY(-50%)}.gbc-lightbox-next{right:12px;top:50%;transform:translateY(-50%)}
.gbc-lightbox-open{overflow:hidden}@media(max-width:700px){.gbc-lightbox{padding:16px 52px}.gbc-lightbox-prev{left:4px}.gbc-lightbox-next{right:4px}}

/* RC18: touch-friendly gallery controls, premium restraint, no forced redesign. */
.gbc-lightbox{box-sizing:border-box;overscroll-behavior:contain}
.gbc-lightbox figure{min-width:0;max-width:min(100%,1400px)}
.gbc-lightbox figure img{max-height:min(78dvh,calc(100dvh - 100px));max-width:100%;object-fit:contain}
.gbc-lightbox :where(.gbc-lightbox-prev,.gbc-lightbox-next):hover{background:rgba(255,255,255,.18)}
.gbc-gallery :where(img[role="button"],a):focus-visible,.wp-block-gallery :where(img[role="button"],a):focus-visible,.gallery :where(img[role="button"],a):focus-visible{outline:3px solid #785426;outline-offset:4px}
.gbc-gallery :where(img[role="button"],a),.wp-block-gallery :where(img[role="button"],a),.gallery :where(img[role="button"],a){cursor:zoom-in}
.gbc-email,.gbc-contact :where(a,p,h1,h2){min-width:0;overflow-wrap:anywhere}
@media(max-width:420px){.gbc-lightbox{padding:14px 48px}.gbc-lightbox button{min-width:44px;min-height:44px}.gbc-email{font-size:clamp(19px,5vw,28px)}}
@media(prefers-reduced-motion:no-preference){
  .gbc-motion-subtle .gbc-reveal-pending{opacity:0;transform:translateY(9px);transition:opacity .38s ease-out,transform .38s ease-out}
  .gbc-motion-subtle .gbc-reveal-pending.gbc-reveal-visible{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){.gbc-reveal-pending{opacity:1!important;transform:none!important;transition:none!important}}

/* RC19 / About: correct the regression caused by a 70ch page container
   holding a legacy 3 + 7 column team layout. Scope only to both About pages.
   Never change stored names, credits, content or portfolio templates. */
body:is(.page-id-4355,.page-id-120) .gbc-reading > .wp-block-post-content{
  width:100%;max-width:min(100%,1080px)!important;margin-inline:auto;
}
body:is(.page-id-4355,.page-id-120) .gbc-reading .wp-block-post-content > :is(.editorial-intro,.team-section,.studio-film,.studio-clients){
  width:100%;max-width:100%!important;box-sizing:border-box;
}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content .editorial-intro{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  column-gap:clamp(28px,6vw,84px);row-gap:18px;align-items:start;
}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-grid,
body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-collaborators{
  display:grid!important;align-items:start;gap:clamp(18px,2.8vw,38px);
  width:100%;max-width:100%!important;margin-block:22px 35px;
}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-collaborators{grid-template-columns:repeat(var(--gbc-about-cols,4),minmax(0,1fr))}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content :is(.team-grid,.team-collaborators) > .wp-block-column{
  flex:none!important;width:auto!important;min-width:0!important;max-width:none!important;
}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content :is(.team-grid,.team-collaborators) h3{
  margin:0 0 12px;font-size:clamp(20px,1.6vw,25px);line-height:1.22;
  overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:pretty;
}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-collaborators h3{font-size:clamp(17px,1.3vw,21px)}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content :is(.team-grid,.team-collaborators) p{
  font-size:clamp(14px,1.05vw,16px);line-height:1.65;max-width:65ch;
}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-section{margin-top:clamp(52px,6vw,90px)}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content :is(.studio-film,.studio-clients){margin-top:clamp(50px,6vw,90px)}
body:is(.page-id-4355,.page-id-120) .wp-block-post-content .studio-film .wp-block-embed{max-width:min(100%,900px);margin-inline:0}
@media(max-width:1040px){
 body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-collaborators{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 body:is(.page-id-4355,.page-id-120) .wp-block-post-content .editorial-intro,
 body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-grid,
 body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-collaborators{grid-template-columns:minmax(0,1fr)}
 body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-section{margin-top:45px}
 body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-grid{gap:30px}
 body:is(.page-id-4355,.page-id-120) .wp-block-post-content .team-collaborators{gap:22px}
}


/* RC19: Mobile navigation and contact refinements.
   Keep original logo, palette, desktop layout and navigation links unchanged. */
@media (max-width:1080px){
 .gbc-header{position:relative;z-index:100;isolation:isolate}
 .gbc-header-inner{position:relative}
 .gbc-mobile-menu{position:static}
 .gbc-mobile-menu>summary{position:relative;z-index:103;width:46px;height:46px;padding:0;border:1px solid #29231d;background:#fff;color:#29231d;box-sizing:border-box}
 .gbc-mobile-menu[open]::before{content:"";position:fixed;inset:var(--gbc-menu-backdrop-top,96px) 0 0;z-index:101;background:rgba(29,25,21,.35)}
 .gbc-mobile-menu[open]>nav{
  position:absolute;top:100%;left:calc(-1 * var(--gbc-gutter-desktop));right:auto;
  width:calc(100% + 2 * var(--gbc-gutter-desktop));min-width:0;max-width:none;
  z-index:102;padding:12px var(--gbc-gutter-desktop) 28px;
  max-height:calc(100dvh - var(--gbc-menu-backdrop-top,96px));overflow-y:auto;
  overscroll-behavior:contain;background:#fff;color:#29231d;
  border:0;border-top:1px solid #e7e1d7;box-shadow:0 18px 32px rgba(29,25,21,.12);
 }
 .gbc-mobile-menu[open]>nav>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}
 .gbc-mobile-menu[open]>nav>ul>li{min-width:0;display:block}
 .gbc-mobile-menu[open]>nav>ul>li:not(.gbc-language){grid-column:1/-1;border-bottom:1px solid #eee9e1}
 .gbc-mobile-menu[open]>nav>ul>li>a,
 .gbc-mobile-menu[open] .gbc-nav-search>summary{
  box-sizing:border-box;display:flex;align-items:center;width:100%;min-height:53px;
  padding:10px 0!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:#29231d!important;
  font-size:18px!important;letter-spacing:-.015em;line-height:1.35;font-weight:450;
  text-decoration:none!important;
 }
 .gbc-mobile-menu[open]>nav>ul>li>a[aria-current="page"]{color:#81663c!important}
 .gbc-mobile-menu[open] .gbc-nav-search>summary{font-size:17px!important;font-weight:400;justify-content:flex-start}
 .gbc-mobile-menu[open]>nav>ul>.gbc-language{display:flex;align-items:center;padding-top:18px}
 .gbc-mobile-menu[open]>nav>ul>.gbc-language>a{display:inline-flex;width:auto;min-height:40px;padding:6px 0!important;font-size:14px!important;font-weight:500;letter-spacing:.02em;color:#5a4f43!important}
 .gbc-mobile-menu[open]>nav>ul>.gbc-language>a[aria-current="true"]{border-bottom:2px solid #a88e5a!important;color:#29231d!important}
 .gbc-mobile-menu .gbc-nav-search .gbc-search-form{position:static;max-width:100%;width:100%;border:0;padding:5px 0 16px;background:#fff}
 .gbc-mobile-menu .gbc-nav-search .gbc-search-form label{font-size:13px}
 .gbc-mobile-menu[open]>nav a:focus-visible,
 .gbc-mobile-menu[open]>nav summary:focus-visible{outline:2px solid #917448;outline-offset:2px}
 body.gbc-menu-expanded{overflow:hidden}
}
@media (max-width:700px){
 .gbc-mobile-menu[open]>nav{left:calc(-1 * var(--gbc-gutter-mobile));width:calc(100% + 2 * var(--gbc-gutter-mobile));padding:12px clamp(24px,6vw,36px) 26px}
 /* Reduce blank vertical space on the standalone Contact page. */
 .gbc-reading:has(> .gbc-contact){padding-bottom:20px}
 .gbc-reading:has(> .gbc-contact)>.gbc-intro{padding-top:32px;padding-bottom:24px;margin-bottom:16px}
 .gbc-reading>.gbc-contact{padding-block:20px 28px}
 .gbc-reading>.gbc-contact .gbc-contact-layout{gap:24px}
 .wp-site-blocks:has(.gbc-reading>.gbc-contact) .gbc-footer{margin-top:24px}
}
@media (prefers-reduced-motion:reduce){.gbc-mobile-menu[open]>nav{scroll-behavior:auto}}


/* RC20: scoped editorial spacing. This targets project templates only.
   Do not alter portfolio archives, landing pages, generic posts, site identities,
   existing WordPress content, or media URLs. */
body.single-portfolio .gbc-reading,
body.single-portfolio .wp-site-blocks > main.gbc-reading{
  padding-bottom:clamp(28px,4vw,60px);
}
body.single-portfolio .gbc-reading > :is(.gbc-primary-media,.wp-block-post-content,.gbc-project-details,.gbc-gallery-section){
  margin-block-start:0!important;
  margin-block-end:0;
}
body.single-portfolio .gbc-reading > .gbc-intro{
  padding-block:clamp(30px,4vw,48px) 24px;
  margin-block-end:clamp(20px,3vw,32px);
}
body.single-portfolio .gbc-reading > .gbc-primary-media{
  margin-inline:auto;
  margin-bottom:clamp(16px,2.7vw,30px);
}
body.single-portfolio .gbc-reading > .wp-block-post-content{
  max-width:var(--gbc-reading)!important;
  margin-inline:auto;
  line-height:1.55;
}
body.single-portfolio .gbc-reading > .wp-block-post-content > :where(p){
  margin-block:0 1em;
}
body.single-portfolio .gbc-reading > .wp-block-post-content > :where(h2,h3){
  margin-block:clamp(27px,4vw,48px) 16px;
  line-height:1.2;
}
body.single-portfolio .gbc-reading > .wp-block-post-content > :where(.gallery,.wp-block-gallery){
  margin-block:16px 0;
  gap:clamp(12px,2vw,20px);
}
body.single-portfolio .gbc-reading > .gbc-project-details{
  max-width:var(--gbc-reading)!important;
  margin:clamp(28px,4vw,45px) auto 0;
}
body.single-portfolio .gbc-reading .gbc-project-details > :where(h2,h3){
  margin-block:0 16px;
}
body.single-portfolio .gbc-credits{
  display:grid;
  gap:clamp(13px,1.6vw,20px);
  margin-block:0;
}
body.single-portfolio .gbc-credits > div{
  border:0;
  padding:0;
  margin:0;
  min-width:0;
  align-items:start;
}
body.single-portfolio .gbc-credits > div + div{margin-top:0}
body.single-portfolio .gbc-credits dt{
  font-size:clamp(12px,.88vw,14px);
  line-height:1.35;
  letter-spacing:0;
  font-weight:500;
}
body.single-portfolio .gbc-credits dd{
  font-size:clamp(15px,1.05vw,17px);
  line-height:1.45;
}
body.single-portfolio .gbc-reading > .gbc-gallery-section{
  max-width:var(--gbc-reading)!important;
  margin:clamp(30px,4vw,55px) auto 0;
}
body.single-portfolio .gbc-gallery-section > h2{
  font-size:clamp(27px,3vw,39px);
  line-height:1.15;
  margin:0 0 clamp(17px,2.5vw,26px);
}
body.single-portfolio .gbc-gallery,
body.single-portfolio .wp-block-post-content :is(.gallery,.wp-block-gallery){
  gap:clamp(12px,2vw,20px);
}
body.single-portfolio .gbc-gallery figure,
body.single-portfolio .wp-block-post-content .gallery-item{margin:0}
body.single-portfolio .gbc-gallery img,
body.single-portfolio .wp-block-post-content .gallery-item img{
  display:block;width:100%;height:auto;max-height:none;object-fit:contain;
}
body.single-portfolio .gbc-footer{
  margin-top:clamp(28px,4vw,56px);
}
@media(max-width:760px){
 body.single-portfolio .gbc-reading > .gbc-intro{
   padding-block:30px 22px;
   margin-bottom:20px;
 }
 body.single-portfolio .gbc-reading > .gbc-primary-media{
   margin-bottom:18px;
 }
 body.single-portfolio .gbc-reading > .wp-block-post-content > :where(h2,h3){
   margin-block:30px 12px;
 }
 body.single-portfolio .gbc-credits{gap:15px}
 body.single-portfolio .gbc-credits > div{
   display:grid;grid-template-columns:minmax(0,1fr);gap:3px;
 }
 body.single-portfolio .gbc-reading > .gbc-gallery-section{margin-top:32px}
 body.single-portfolio .gbc-gallery-section > h2{margin-bottom:17px}
 body.single-portfolio .gbc-footer{margin-top:32px}
}


/* RC21 / Typographic controls. Existing values remain the default. */
body{font-weight:var(--gbc-body-weight,400)}
.gbc-header nav a{font-size:var(--gbc-nav-size,12px);font-weight:var(--gbc-nav-weight,500);letter-spacing:var(--gbc-nav-tracking,.01em)}
body.gbc-type-custom-heading-weight :where(.gbc-hero-title,.gbc-intro h1,.gbc-section h2,.gbc-studio h2,.gbc-contact h2,.gbc-callout h2,.wp-block-post-content h2,.wp-block-post-content h3){font-weight:var(--gbc-heading-weight,400)}
body.gbc-type-custom-hero-line .gbc-hero-title{line-height:var(--gbc-hero-leading,1.05)}
body.gbc-type-custom-section-line :where(.gbc-section h2,.gbc-studio h2,.gbc-contact h2){line-height:var(--gbc-h2-leading,1.13)}
.gbc-gallery figcaption,.gbc-gallery-section figcaption,.wp-block-post-content figcaption{font-size:var(--gbc-caption-size,13px)}
/* A global opt-in uses three bounded fluid scales; no dependency or layout jump. */
body.gbc-type-fluid{font-size:var(--gbc-fluid-body,var(--gbc-body-size))}
body.gbc-type-fluid .wp-block-post-content{font-size:var(--gbc-fluid-body,var(--gbc-body-size))}
body.gbc-type-fluid .gbc-hero-title{font-size:var(--gbc-fluid-hero,clamp(var(--gbc-hero-mobile),7vw,var(--gbc-hero-desktop)))}
body.gbc-type-fluid :where(.gbc-section h2,.gbc-callout h2,.gbc-contact h2,.wp-block-post-content h2){font-size:var(--gbc-fluid-h2,clamp(var(--gbc-h2-mobile),4vw,var(--gbc-h2-desktop)))}
/* Preserve site typography controls at small breakpoints (override earlier fixed mobile rules). */
@media(max-width:700px){body.gbc-type-fluid .gbc-hero-title{font-size:var(--gbc-fluid-hero,var(--gbc-hero-mobile))}}


/* RC22: controlled header, portfolio and footer options. Defaults match RC21. */
.gbc-header-inner{min-height:var(--gbc-header-height-desktop,104px)}
.gbc-header nav ul{gap:var(--gbc-header-nav-gap,22px)}
.gbc-card-image{aspect-ratio:var(--gbc-project-card-ratio,16 / 10)}
body.single-portfolio .gbc-gallery{grid-template-columns:repeat(var(--gbc-project-gallery-cols,2),minmax(0,1fr))}
@media(max-width:1080px) and (min-width:761px){.gbc-header-inner{min-height:calc(var(--gbc-header-height-desktop,104px) - 8px)}}
@media(max-width:760px){.gbc-header-inner{min-height:var(--gbc-header-height-mobile,78px)}}
@media(min-width:701px) and (max-width:1000px){body.single-portfolio .gbc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body.single-portfolio .gbc-gallery{grid-template-columns:minmax(0,1fr)}}
