/* Ginger Bodas — visual system v2 */
:root{
  --gb-ink:#27231f;
  --gb-text:#5b554f;
  --gb-soft:#837a72;
  --gb-ivory:#fbf8f3;
  --gb-paper:#fffdf9;
  --gb-sand:#eee4d8;
  --gb-copper:#b65f37;
  --gb-copper-dark:#914524;
  --gb-line:rgba(39,35,31,.12);
  --gb-shadow:0 22px 60px rgba(45,35,28,.10);
  --gb-radius:2px;
  --gb-serif:"Cormorant Garamond",Georgia,serif;
  --gb-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

html{scroll-behavior:smooth}
body{font-family:var(--gb-sans);color:var(--gb-text);background:var(--gb-paper);font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-family:var(--gb-sans)}
a{color:var(--gb-ink);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--gb-copper)}
h1,h2,h3,h4{font-family:var(--gb-serif);color:var(--gb-ink);font-weight:600;letter-spacing:-.018em;line-height:1.02}

/* Hide stock GeneratePress chrome where the custom Ginger header/footer is present */
.site-header,.main-navigation{display:none!important}
.site-content{padding:0!important}
.content-area{width:100%!important}
.site-main{margin:0!important}
.inside-article{padding:0!important}
.entry-header{display:none!important}
.entry-content{margin:0!important}
.grid-container{max-width:none!important}

/* Header */
.gb-header{position:sticky;top:0;z-index:999;background:rgba(255,253,249,.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--gb-line)}
.gb-header__inner{max-width:1320px;margin:auto;min-height:86px;padding:0 34px;display:flex;align-items:center;gap:28px}
.gb-brand{margin-right:auto;min-width:210px}
.gb-brand__link{text-decoration:none;display:inline-flex;align-items:center;color:var(--gb-ink)}
.gb-brand__fallback{display:flex;flex-direction:column;line-height:1}
.gb-brand__fallback strong{font-family:var(--gb-serif);font-size:27px;letter-spacing:.08em;font-weight:600}
.gb-brand__fallback small{margin-top:8px;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gb-soft);font-weight:600}
.gb-menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.gb-menu li{margin:0}
.gb-menu a{font-size:12px;letter-spacing:.105em;text-transform:uppercase;text-decoration:none;color:var(--gb-ink);font-weight:600;white-space:nowrap;position:relative;padding:34px 0}
.gb-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:25px;height:1px;background:var(--gb-copper);transition:.25s ease}
.gb-menu a:hover:after,.gb-menu .current-menu-item>a:after{right:0}
.gb-header-cta,.gb-mobile-cta{display:inline-flex;align-items:center;gap:14px;padding:13px 20px;border:1px solid var(--gb-ink);font-size:11px;letter-spacing:.10em;text-transform:uppercase;text-decoration:none;font-weight:700;transition:.25s ease}
.gb-header-cta:hover,.gb-mobile-cta:hover{background:var(--gb-ink);color:#fff}
.gb-mobile-toggle{display:none;background:none;border:0;padding:10px;margin-left:auto}
.gb-mobile-toggle span{display:block;width:25px;height:1px;background:var(--gb-ink);margin:6px 0}
.gb-mobile-panel{background:var(--gb-paper);border-top:1px solid var(--gb-line);padding:20px 26px 30px}
.gb-nav--mobile .gb-menu{display:block}
.gb-nav--mobile .gb-menu a{display:block;padding:13px 0;font-size:13px;border-bottom:1px solid var(--gb-line)}
.gb-nav--mobile .gb-menu a:after{display:none}
.gb-mobile-cta{margin-top:22px}

/* Utilities */
.gb-shell{max-width:1240px;margin:0 auto;padding:0 32px}
.gb-narrow{max-width:820px;margin-left:auto;margin-right:auto}
.gb-kicker{font-family:var(--gb-sans)!important;font-size:11px!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.24em!important;color:var(--gb-copper)!important;font-weight:700!important;margin:0 0 18px!important}
.gb-title-xl{font-size:clamp(52px,6.2vw,96px)!important;margin:0!important;max-width:900px}
.gb-title-lg{font-size:clamp(42px,4.5vw,70px)!important;margin:0 0 24px!important}
.gb-title-md{font-size:clamp(33px,3.2vw,52px)!important;margin:0 0 18px!important}
.gb-lead{font-size:clamp(17px,1.5vw,21px);line-height:1.65;max-width:760px;color:var(--gb-text)}
.gb-small{font-size:13px;color:var(--gb-soft)}
.gb-link{display:inline-flex;align-items:center;gap:12px;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px}
.gb-button .wp-block-button__link,.gb-btn-primary .wp-block-button__link{border-radius:0!important;background:var(--gb-copper)!important;color:white!important;border:1px solid var(--gb-copper)!important;padding:15px 23px!important;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:700}
.gb-button-outline .wp-block-button__link,.gb-btn-secondary .wp-block-button__link{border-radius:0!important;background:transparent!important;color:var(--gb-ink)!important;border:1px solid var(--gb-ink)!important;padding:15px 23px!important;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:700}
.gb-button .wp-block-button__link:hover,.gb-btn-primary .wp-block-button__link:hover{background:var(--gb-copper-dark)!important}
.gb-button-outline .wp-block-button__link:hover,.gb-btn-secondary .wp-block-button__link:hover{background:var(--gb-ink)!important;color:white!important}

/* Hero */
.gb-home-hero{min-height:calc(100vh - 86px)!important;padding:clamp(70px,8vw,130px) 32px!important;align-items:flex-end!important}
.gb-home-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(25,20,17,.60) 0%,rgba(25,20,17,.26) 52%,rgba(25,20,17,.08) 100%)!important;opacity:1!important}
.gb-home-hero .wp-block-cover__inner-container{width:min(1240px,100%);margin:0 auto!important}
.gb-home-hero .gb-kicker{color:#f0cbb9!important}
.gb-home-hero h1,.gb-home-hero p{color:#fff!important}
.gb-home-hero .gb-title-xl{max-width:750px}
.gb-home-hero .gb-lead{max-width:660px;color:rgba(255,255,255,.88)!important;margin:25px 0 32px}
.gb-hero-actions{gap:12px!important}
.gb-home-hero .gb-button-outline .wp-block-button__link{border-color:#fff!important;color:#fff!important}
.gb-home-hero .gb-button-outline .wp-block-button__link:hover{background:#fff!important;color:var(--gb-ink)!important}

/* Intro */
.gb-intro{padding:130px 0;background:var(--gb-paper)}
.gb-intro-grid{align-items:center!important;gap:clamp(45px,7vw,110px)!important}
.gb-intro-copy{padding-right:3vw}
.gb-intro-copy p:not(.gb-kicker){font-size:17px;line-height:1.75}
.gb-intro-images{position:relative;min-height:620px}
.gb-intro-images figure{margin:0!important;overflow:hidden;background:var(--gb-sand)}
.gb-intro-images img{width:100%;height:100%;object-fit:cover;display:block}
.gb-intro-images .gb-img-main{width:78%;height:540px;margin-left:auto!important}
.gb-intro-images .gb-img-float{position:absolute;left:0;bottom:-35px;width:46%;height:300px;border:10px solid var(--gb-paper);box-shadow:var(--gb-shadow)}

/* Strip */
.gb-manifesto{padding:45px 0;border-top:1px solid var(--gb-line);border-bottom:1px solid var(--gb-line);background:var(--gb-ivory)}
.gb-manifesto p{font-family:var(--gb-serif);font-size:clamp(28px,3.1vw,48px);line-height:1.18;text-align:center;color:var(--gb-ink);margin:0!important}
.gb-manifesto em{color:var(--gb-copper);font-style:italic}

/* Real story */
.gb-story{padding:130px 0}
.gb-story-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}
.gb-story-head>*{margin-bottom:0!important}
.gb-story-grid{display:grid!important;grid-template-columns:1.15fr .85fr;gap:18px!important;align-items:stretch}
.gb-story-grid>.wp-block-column{margin:0!important}
.gb-story-grid figure{margin:0!important;overflow:hidden;height:100%}
.gb-story-grid img{width:100%;height:100%;object-fit:cover;display:block}
.gb-story-large{min-height:650px}
.gb-story-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.gb-story-stack figure{min-height:316px}
.gb-story-caption{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--gb-line);padding-bottom:22px}
.gb-story-caption strong{font-family:var(--gb-serif);font-size:30px;color:var(--gb-ink)}

/* Philosophy */
.gb-process{padding:130px 0;background:var(--gb-ink);color:rgba(255,255,255,.74)}
.gb-process .gb-kicker{color:#dfa889!important}
.gb-process h2{color:#fff}
.gb-process-intro{max-width:690px;margin-bottom:60px}
.gb-process-grid{gap:0!important;border-top:1px solid rgba(255,255,255,.16)}
.gb-process-card{padding:42px 38px 34px 0;border-right:1px solid rgba(255,255,255,.16);min-height:300px}
.gb-process-card+.gb-process-card{padding-left:38px}
.gb-process-card:last-child{border-right:0}
.gb-process-num{font-family:var(--gb-serif);font-size:42px;color:#dfa889;display:block;margin-bottom:55px}
.gb-process-card h3{color:#fff;font-size:34px;margin:0 0 16px}
.gb-process-card p{font-size:15px;line-height:1.8;margin:0}

/* Photo + video */
.gb-film{padding:130px 0;background:var(--gb-ivory)}
.gb-film-grid{gap:clamp(50px,8vw,120px)!important;align-items:center!important}
.gb-film-image figure{margin:0!important;min-height:670px;overflow:hidden}
.gb-film-image img{width:100%;height:670px;object-fit:cover;display:block}
.gb-film-copy{padding-right:3vw}
.gb-film-copy .gb-lead{font-size:17px}

/* Pricing */
.gb-pricing{padding:130px 0}
.gb-pricing-head{text-align:center;max-width:760px;margin:0 auto 60px}
.gb-pricing-grid{gap:18px!important;align-items:stretch!important}
.gb-price-card{border:1px solid var(--gb-line);padding:42px 35px;display:flex;flex-direction:column;min-height:455px;background:#fff}
.gb-price-card--featured{background:var(--gb-ink);color:rgba(255,255,255,.76);border-color:var(--gb-ink);transform:translateY(-12px);box-shadow:var(--gb-shadow)}
.gb-price-card--featured h3,.gb-price-card--featured .gb-price{color:#fff}
.gb-price-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gb-copper);margin:0 0 25px!important}
.gb-price-card--featured .gb-price-label{color:#dfa889}
.gb-price-card h3{font-size:37px;margin:0 0 8px}
.gb-price{font-family:var(--gb-serif);font-size:52px;line-height:1;color:var(--gb-ink);margin:0 0 26px!important}
.gb-price-card ul{margin:22px 0 30px 18px;font-size:14px;line-height:1.9}
.gb-price-card .gb-link{margin-top:auto;align-self:flex-start}
.gb-price-card--featured .gb-link{color:#fff}

/* About */
.gb-about{padding:130px 0;background:var(--gb-paper)}
.gb-about-grid{gap:clamp(50px,8vw,120px)!important;align-items:center!important}
.gb-about-photo figure{margin:0!important;max-width:520px}
.gb-about-photo img{display:block;width:100%;height:auto}
.gb-about-copy{max-width:590px}
.gb-about-copy blockquote{border-left:0;margin:32px 0;padding:0;font-family:var(--gb-serif);font-size:30px;line-height:1.25;color:var(--gb-ink);font-style:italic}

/* CTA */
.gb-final-cta{padding:120px 32px;background:var(--gb-copper);color:#fff;text-align:center}
.gb-final-cta .gb-kicker{color:#f6d8c9!important}
.gb-final-cta h2{color:#fff;max-width:850px;margin:0 auto 24px!important}
.gb-final-cta p{max-width:650px;margin:0 auto 32px!important;color:rgba(255,255,255,.88)}
.gb-final-cta .wp-block-button__link{background:#fff!important;color:var(--gb-ink)!important;border-color:#fff!important}
.gb-final-cta .wp-block-button__link:hover{background:var(--gb-ink)!important;color:#fff!important;border-color:var(--gb-ink)!important}

/* Footer */
.site-footer,.gb-footer{background:#211e1b;color:rgba(255,255,255,.66)}
.site-footer a,.gb-footer a{color:#fff}

@media(max-width:1100px){
  .gb-nav--desktop,.gb-header-cta{display:none!important}
  .gb-mobile-toggle{display:block}
  .gb-header__inner{min-height:76px;padding:0 24px}
  .gb-home-hero{min-height:calc(100vh - 76px)!important}
}

@media(max-width:820px){
  .gb-shell{padding:0 22px}
  .gb-intro,.gb-story,.gb-process,.gb-film,.gb-pricing,.gb-about{padding:90px 0}
  .gb-intro-grid,.gb-film-grid,.gb-about-grid{display:block!important}
  .gb-intro-copy,.gb-film-copy,.gb-about-copy{padding:0;margin-bottom:46px}
  .gb-intro-images{min-height:500px}
  .gb-intro-images .gb-img-main{height:450px;width:82%}
  .gb-intro-images .gb-img-float{height:240px;width:52%}
  .gb-story-head{display:block}
  .gb-story-head .gb-link{margin-top:20px}
  .gb-story-grid{grid-template-columns:1fr!important}
  .gb-story-large{min-height:520px}
  .gb-story-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .gb-story-stack figure{min-height:260px}
  .gb-process-grid{display:block!important}
  .gb-process-card,.gb-process-card+.gb-process-card{padding:35px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.16);min-height:0}
  .gb-process-num{margin-bottom:25px}
  .gb-film-image figure,.gb-film-image img{height:520px;min-height:0}
  .gb-pricing-grid{display:block!important}
  .gb-price-card{margin-bottom:18px;min-height:0}
  .gb-price-card--featured{transform:none}
}

@media(max-width:520px){
  .gb-brand__fallback strong{font-size:23px}
  .gb-brand__fallback small{font-size:8px;letter-spacing:.16em}
  .gb-home-hero{padding:65px 22px!important;min-height:78vh!important}
  .gb-title-xl{font-size:49px!important}
  .gb-title-lg{font-size:42px!important}
  .gb-home-hero .gb-lead{font-size:16px}
  .gb-hero-actions{display:block!important}
  .gb-hero-actions .wp-block-button{display:block;margin:0 0 10px!important}
  .gb-hero-actions .wp-block-button__link{width:100%}
  .gb-intro-images{min-height:430px}
  .gb-intro-images .gb-img-main{height:390px;width:90%}
  .gb-intro-images .gb-img-float{height:200px;width:58%;border-width:7px}
  .gb-story-stack{grid-template-columns:1fr}
  .gb-story-caption{display:block}
  .gb-story-caption .gb-link{margin-top:14px}
  .gb-film-image figure,.gb-film-image img{height:440px}
  .gb-final-cta{padding:85px 22px}
}

/* Plain-content helpers used by the Ginger proposal page */
.gb-hero-plain{position:relative;min-height:calc(100vh - 86px);display:flex;align-items:flex-end;background-size:cover;background-position:center;padding:clamp(70px,8vw,130px) 32px;color:#fff;overflow:hidden}
.gb-hero-plain:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,20,17,.62) 0%,rgba(25,20,17,.28) 50%,rgba(25,20,17,.08) 100%)}
.gb-hero-plain .gb-shell{position:relative;z-index:1;width:100%}
.gb-hero-plain .gb-kicker{color:#f0cbb9!important}
.gb-hero-plain h1{color:#fff}
.gb-hero-plain .gb-lead{color:rgba(255,255,255,.88);margin:25px 0 32px}
.gb-actions{display:flex;flex-wrap:wrap;gap:12px}
.gb-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;border:1px solid var(--gb-copper);background:var(--gb-copper);color:#fff;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:700;transition:.25s ease}
.gb-btn:hover{background:var(--gb-copper-dark);border-color:var(--gb-copper-dark);color:#fff}
.gb-btn--ghost{background:transparent;border-color:currentColor;color:inherit}
.gb-btn--ghost:hover{background:#fff;border-color:#fff;color:var(--gb-ink)}
.gb-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(45px,7vw,110px)}
.gb-intro-media{position:relative;min-height:620px}
.gb-intro-media .gb-img-main{display:block;width:78%;height:540px;margin-left:auto;object-fit:cover}
.gb-intro-media .gb-img-float{position:absolute;left:0;bottom:-35px;width:46%;height:300px;object-fit:cover;border:10px solid var(--gb-paper);box-shadow:var(--gb-shadow)}
.gb-story-media{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.gb-story-media img{display:block;width:100%;height:100%;object-fit:cover}
.gb-story-media .gb-story-large{height:650px}
.gb-story-stack-plain{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.gb-story-stack-plain img{height:316px}
.gb-process-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16)}
.gb-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.gb-film-media img{display:block;width:100%;height:670px;object-fit:cover}
.gb-about-grid-plain{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(50px,8vw,120px)}
.gb-about-grid-plain img{display:block;width:100%;height:auto;max-width:520px}
.gb-cta-note{font-size:13px;color:var(--gb-soft);margin-top:16px}

@media(max-width:1100px){.gb-hero-plain{min-height:calc(100vh - 76px)}}
@media(max-width:820px){
  .gb-two-col,.gb-about-grid-plain{grid-template-columns:1fr}
  .gb-intro-media{min-height:500px}
  .gb-intro-media .gb-img-main{height:450px;width:82%}
  .gb-intro-media .gb-img-float{height:240px;width:52%}
  .gb-story-media{grid-template-columns:1fr}
  .gb-story-media .gb-story-large{height:520px}
  .gb-story-stack-plain{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .gb-story-stack-plain img{height:260px}
  .gb-process-cards,.gb-price-grid{grid-template-columns:1fr}
  .gb-film-media img{height:520px}
}
@media(max-width:520px){
  .gb-hero-plain{padding:65px 22px;min-height:78vh}
  .gb-actions{display:grid;grid-template-columns:1fr}
  .gb-btn{width:100%}
  .gb-intro-media{min-height:430px}
  .gb-intro-media .gb-img-main{height:390px;width:90%}
  .gb-intro-media .gb-img-float{height:200px;width:58%;border-width:7px}
  .gb-story-stack-plain{grid-template-columns:1fr}
  .gb-film-media img{height:440px}
}
