@font-face{font-family:'Liberation Serif';src:url('../fonts/LiberationSerif-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Liberation Sans';src:url('../fonts/LiberationSans-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}img{max-width:100%;height:auto}a{ text-underline-offset:.3em}a,button{touch-action:manipulation}:focus-visible{outline:2px solid #58694c;outline-offset:5px}.wp-site-blocks{padding:0}.wp-site-blocks> *{margin-block-start:0}.gg-header{max-width:none!important;padding:28px 5vw;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #e8dfd3}.gg-header>*{margin:0!important}.wp-block-site-title{font-family:'Liberation Serif',serif;font-size:34px;letter-spacing:-1px}.wp-block-site-title a{text-decoration:none}.gg-header .wp-block-navigation{font-size:12px;letter-spacing:.09em;text-transform:uppercase}.gg-hero{position:relative;min-height:720px;height:calc(100svh - 100px);max-height:1080px;isolation:isolate;display:flex;align-items:center;padding:6vw;overflow:hidden;background:#91988a}.hero-copy{position:relative;z-index:2;margin:0!important;width:100%;color:#faf8f4;text-shadow:0 2px 24px #292b2966}.hero-copy h1{font-size:clamp(64px,8vw,124px);max-width:760px;margin:24px 0;letter-spacing:-.045em}.hero-copy p{max-width:430px}.hero-copy .wp-block-button__link{color:#faf8f4;background:transparent;border:1px solid #faf8f4;padding:15px 24px}.hero-slides{position:absolute!important;inset:0;max-width:none!important;margin:0!important;z-index:-2}.hero-slides:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#292b296b,transparent)}.hero-slides>.wp-block-image{position:absolute;inset:0;max-width:none!important;margin:0!important;opacity:0;transition:opacity 1.5s ease}.hero-slides>.wp-block-image:first-child{opacity:1}.has-slideshow .hero-slides>.wp-block-image{opacity:0}.has-slideshow .hero-slides>.wp-block-image.is-active{opacity:1}.hero-slides img{width:100%;height:100%;object-fit:cover}.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase}.slideshow-toggle{position:absolute;bottom:26px;right:5vw;background:#292b2966;color:#fff;border:1px solid #fff9;border-radius:0;padding:10px 18px;cursor:pointer}.gg-intro,.gg-gallery,.gg-quote,.gg-about,.gg-cta,.gg-contact{padding:110px 6vw;margin:0!important;max-width:none!important}.gg-intro{text-align:center;scroll-margin-top:24px}.gg-intro h2,.gg-cta h2{font-size:clamp(46px,5.4vw,80px);letter-spacing:-.035em}.gg-intro>p:not(.eyebrow){max-width:620px}.gg-gallery{padding-top:30px}.gg-gallery>h2,.gg-gallery>.eyebrow{max-width:none!important}.gg-gallery h2{font-size:clamp(36px,4vw,58px);margin-bottom:55px}.gg-masonry{max-width:1320px!important;column-count:3;column-gap:34px}.gg-masonry>.wp-block-image{break-inside:avoid;margin:0 0 34px!important;max-width:none!important}.gg-masonry img{width:100%;display:block}.gg-masonry>.wp-block-image:nth-child(3n+2){padding-top:40px}.asset-note{font-size:12px;opacity:.8}.gg-gallery>.asset-note{max-width:none!important}.gg-quote{background:#e8dfd3;text-align:center}.gg-quote blockquote{border:0;padding:0;max-width:900px}.gg-quote blockquote p{font-family:'Liberation Serif',serif;font-size:clamp(30px,3.8vw,54px);line-height:1.3}.gg-quote cite{font-family:'Liberation Sans',sans-serif;font-size:10px;letter-spacing:.14em;font-style:normal}.gg-about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;max-width:1440px!important;margin-inline:auto!important}.gg-about>*{min-width:0;margin:0!important}.gg-about>figure img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}.about-copy h2{font-size:clamp(36px,4vw,58px)}.about-copy .wp-block-button__link{background:transparent;color:#292b29;border-bottom:1px solid;padding:12px 0}.gg-cta{text-align:center;background:#e8dfd3}.gg-cta .wp-block-buttons{justify-content:center}.gg-cta h2{max-width:920px}.gg-footer{max-width:none!important;text-align:center;padding:65px 6vw 35px}.gg-footer .wp-block-navigation{justify-content:center}.gg-footer p{font-size:13px}.gg-page{max-width:none!important;margin:0!important;padding-top:65px}.gg-page>h1{text-align:center;font-size:clamp(48px,6vw,82px);padding:0 20px}.gg-page>.wp-block-post-content{max-width:none!important}.gg-form-placeholder{border:1px dashed #91988a;padding:35px;margin-top:55px}.gg-contact h1{font-size:clamp(48px,6vw,80px)}.editor-styles-wrapper .hero-copy{color:#292b29;text-shadow:none}.editor-styles-wrapper .gg-hero{height:auto;min-height:0;display:block}.editor-styles-wrapper .hero-slides{position:relative!important;z-index:0;display:flex;gap:12px}.editor-styles-wrapper .hero-slides>.wp-block-image{position:relative;opacity:1;flex:1}.editor-styles-wrapper .hero-slides:after{display:none}
@media(max-width:781px){.gg-header{padding:20px 6vw}.wp-block-site-title{font-size:29px}.gg-hero{height:78svh;min-height:580px}.hero-copy h1{font-size:clamp(60px,12vw,88px)}.gg-intro,.gg-gallery,.gg-quote,.gg-about,.gg-cta,.gg-contact{padding:65px 6vw}.gg-masonry{column-count:2;column-gap:16px}.gg-masonry>.wp-block-image{margin-bottom:16px!important}.gg-masonry>.wp-block-image:nth-child(3n+2){padding-top:15px}.gg-about{grid-template-columns:1fr;gap:40px}.gg-about>figure{width:100%}.gg-about>figure img{max-height:600px}.gg-gallery{padding-top:15px}.gg-footer{padding:45px 6vw}.gg-header .wp-block-navigation__responsive-container.is-menu-open{padding:35px;background:#faf8f4;color:#292b29}.gg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.hero-copy>*{margin-inline-start:0!important}

/* Editorial introduction: readable measure with generous vertical spacing. */
.gg-intro h2{max-width:960px;font-size:clamp(36px,4.4vw,64px);line-height:1.12;margin-block:28px 42px}
.gg-intro>p:not(.eyebrow){max-width:610px;line-height:1.85;margin-block:0 24px}
.gg-intro>p:last-child{margin-bottom:0}
.gg-footer .wp-block-site-logo{width:190px;max-width:100%;margin-inline:auto}
.gg-footer .wp-block-site-logo img{display:block;width:100%;height:auto}

/* Homepage gallery: all direct children share one measured container edge. */
.home .gg-gallery>.eyebrow,.home .gg-gallery>h2,.home .gg-gallery>.gg-masonry,.home .gg-gallery>.asset-note{width:100%;max-width:1320px!important;margin-inline:auto!important}
.home .gg-gallery>.gg-masonry{padding-inline:0}
.gg-portfolio-gallery .gg-masonry>.wp-block-image:nth-child(3n+2){padding-top:0}
.gg-portfolio-gallery .gg-masonry img{height:auto;object-fit:contain}

/* 1.9: scoped editorial/hero controls; gallery rules and image geometry stay intact. */
.gg-hero .slideshow-toggle,.gg-film-hero .gg-video-toggle{position:absolute;z-index:4;bottom:22px;right:24px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #faf8f499;border-radius:50%;background:#292b298c;color:#faf8f4;font:18px 'Liberation Sans',sans-serif;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s ease}
.gg-hero:hover .slideshow-toggle,.gg-hero:focus-within .slideshow-toggle,.gg-film-hero:hover .gg-video-toggle,.gg-film-hero:focus-within .gg-video-toggle{opacity:1}
.gg-hero .slideshow-toggle[hidden],.gg-film-hero .gg-video-toggle[hidden]{display:none!important}
@media(hover:none),(pointer:coarse){.gg-hero .slideshow-toggle,.gg-film-hero .gg-video-toggle{opacity:1}}
.gg-film-hero{position:relative;isolation:isolate;width:100%;max-width:none!important;min-height:650px;margin:0!important;padding:80px 6vw}
.gg-film-hero .gg-film-copy{max-width:760px;margin-inline:0!important;color:#faf8f4;text-shadow:0 2px 24px #292b2966}
.gg-film-copy h2{font-size:clamp(46px,6vw,88px);line-height:1.08;letter-spacing:-.035em}
.gg-film-copy p{max-width:520px;line-height:1.7}
.gg-film-copy .wp-block-button__link{background:transparent;border:1px solid #faf8f4;color:#faf8f4}
.gg-film-hero .wp-block-cover__inner-container{z-index:2}
.gg-film-hero .gg-film-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.gg-film-hero video{visibility:hidden}
.gg-film-hero.has-video-frame video{visibility:visible}
.gg-film-hero.has-video-frame .gg-film-poster{visibility:hidden}
@media(min-width:782px){.home .gg-about{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
@media(max-width:781px){.gg-film-hero{min-height:600px;padding:65px 6vw}.gg-film-copy h2{font-size:clamp(42px,9vw,66px)}}
.editor-styles-wrapper .gg-film-hero video{visibility:visible}
