/* concrete2gravel site layer. Scoped to body.c2g-layout. */
:root{
  --c2g-green:#DBD23A; --c2g-black:#000; --c2g-white:#fff; --c2g-off:#F2F2F0;
  --c2g-pad:42px;
  --c2g-font:'Bastardo Grotesk','Helvetica Neue',Helvetica,Arial,sans-serif;
  --c2g-ease:cubic-bezier(.65,0,.35,1);
}
@media (max-width:1024px){:root{--c2g-pad:32px}}
@media (max-width:767px){:root{--c2g-pad:20px}}

html.c2g-lock,html.c2g-menu-open{overflow:hidden}
body.c2g-layout{margin:0;background:#000;color:#000;font-family:var(--c2g-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.c2g-layout a{color:inherit;text-decoration:none}
.c2g-layout .elementor-heading-title a{color:inherit}
.c2g-layout .elementor-widget:not(:last-child){margin-block-end:0}
.c2g-layout .elementor-widget-text-editor p{margin:0 0 1.2em}
.c2g-layout .elementor-widget-text-editor p:last-child{margin-bottom:0}
.c2g-layout .e-con{--gap:0px;--row-gap:0px;--column-gap:0px}
.c2g-layout .elementor-button{font-family:var(--c2g-font)}
.c2g-layout :focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Max widths (beat Elementor's .e-con>.elementor-widget{max-width:100%}) */
body.c2g-layout .c2g-hero__line{max-width:min(801px,100%)!important}
body.c2g-layout .c2g-intro__h1{max-width:min(798px,100%)!important}
body.c2g-layout .c2g-honest__text{max-width:min(805px,calc(100% - 2 * var(--c2g-pad)))!important}
body.c2g-layout .c2g-about__text{max-width:min(809px,100%)!important}
body.c2g-layout .c2g-service__title{max-width:min(700px,100%)!important}
body.c2g-layout .c2g-service__body{max-width:min(469px,100%)!important}

/* Reset kit button styles on our non-pill buttons */
body.c2g-layout button.c2g-contact__close,body.c2g-layout button.c2g-menu-toggle{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;min-height:0}
body.c2g-layout button.c2g-contact__close{padding:0!important}
body.c2g-layout button.c2g-menu-toggle{padding:8px 0!important;font:400 15px/1 var(--c2g-font)!important;letter-spacing:.04em!important;text-transform:uppercase!important}

/* Astra's scroll-to-top button is not part of the design */
body.c2g-layout #ast-scroll-top{display:none!important}

/* ---------- Photo treatment: black & white + slight grain ----------
   Non-destructive: originals stay in colour in the Media Library.
   Add class c2g-photo to any image widget or container to apply. */
:root{--c2g-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--c2g-grain-opacity:.16}
.c2g-card__img img,.c2g-service__img img{filter:grayscale(1) contrast(1.06)}
.c2g-card__img,.c2g-service__img{position:relative;overflow:hidden}
.c2g-card__img::after,.c2g-service__img::after,.c2g-team::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--c2g-grain);background-size:240px 240px;mix-blend-mode:overlay;opacity:var(--c2g-grain-opacity);z-index:1}
.c2g-team{background-color:#808080!important;background-blend-mode:luminosity}
.c2g-team>.elementor-element{z-index:2}

/* ---------- Dots ---------- */
.c2g-dots{display:flex;align-items:center}
.c2g-dots--v{flex-direction:column;gap:12px}
.c2g-dots--gap{gap:14px}
.c2g-dot,.c2g-dot--sm,.c2g-dot--black{display:block;width:32px;height:32px;background:url(assets/dots-white.svg) center/contain no-repeat}
.c2g-dot--black{background-image:url(assets/dot-black.svg)}
@media (max-width:767px){.c2g-dot,.c2g-dot--sm,.c2g-dot--black{width:24px;height:24px}}

/* ---------- Header ---------- */
.c2g-header{position:fixed!important;top:0;left:0;right:0;z-index:900;width:100%!important;max-width:none!important;
  display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;
  padding:30px var(--c2g-pad) 26px!important;background:transparent;transition:padding .4s var(--c2g-ease),background-color .4s var(--c2g-ease)}
html.c2g-scrolled .c2g-header{background:#000;padding-top:16px!important;padding-bottom:16px!important}
.admin-bar .c2g-header{top:32px}
.c2g-header__logo{position:relative;z-index:2;width:auto!important}
.c2g-header__logo img{width:62px!important;height:auto;display:block}
.c2g-nav{display:flex!important;flex-direction:row!important;align-items:center!important;gap:57px!important;width:auto!important;padding:0!important}
.c2g-nav .elementor-widget{width:auto!important}
.c2g-nav__link .elementor-heading-title{white-space:nowrap;transition:opacity .2s}
.c2g-nav__link .elementor-heading-title a:hover{opacity:.6}
.c2g-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;height:36px;min-width:134px;padding:0 27px;line-height:1;transition:background-color .25s,color .25s}
.c2g-menu-toggle-wrap{display:none;position:relative;z-index:2;width:auto!important}
.c2g-menu-toggle{background:none;border:0;padding:8px 0;margin:0;color:#fff;cursor:pointer;font:400 15px/1 var(--c2g-font);letter-spacing:.04em;text-transform:uppercase}
.c2g-menu-toggle .is-close{display:none}
html.c2g-menu-open .c2g-menu-toggle .is-open{display:none}
html.c2g-menu-open .c2g-menu-toggle .is-close{display:inline}
@media (max-width:767px){
  .c2g-header{padding-top:22px!important;padding-bottom:14px!important}
  html.c2g-scrolled .c2g-header{padding-top:14px!important;padding-bottom:14px!important}
  .c2g-header__logo img{width:56px!important}
  .c2g-menu-toggle-wrap{display:block}
  .c2g-nav{position:fixed!important;inset:0;z-index:1;background:#000;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:14px!important;padding:0 var(--c2g-pad)!important;opacity:0;visibility:hidden;transition:opacity .35s var(--c2g-ease),visibility .35s}
  html.c2g-menu-open .c2g-nav{opacity:1;visibility:visible}
  .c2g-nav .c2g-nav__link .elementor-heading-title{font-size:34px!important;font-weight:600!important}
  .c2g-nav .c2g-btn{margin-top:28px}
}

/* ---------- Hero ---------- */
.c2g-hero{position:relative!important;min-height:100vh!important;min-height:100svh!important;justify-content:center!important;align-items:center!important;padding:120px var(--c2g-pad)!important;overflow:hidden}
.c2g-hero__line{max-width:801px;width:100%!important;text-align:center;position:relative;z-index:2}
.c2g-hero__dots{position:absolute!important;left:var(--c2g-pad);top:50%;transform:translateY(-50%);width:auto!important;z-index:2}
.c2g-hero__dots .c2g-dots{gap:26px}
@media (max-width:767px){.c2g-hero__dots{top:auto;bottom:40px;transform:none}.c2g-hero__dots .c2g-dots{gap:18px}}

/* ---------- Intro (green) ---------- */
.c2g-intro{position:relative!important;min-height:488px;justify-content:center!important;align-items:center!important;padding:120px var(--c2g-pad)!important}
.c2g-intro__h1{max-width:798px;width:100%!important;text-align:center}
/* white dots share the vertical axis of the black dot in Recent work; JS aligns dot 1 with the top of the subline */
.c2g-intro__dots{position:absolute!important;right:calc(var(--c2g-pad) + 9px);top:0;transform:none;width:auto!important}
.c2g-intro__dots .c2g-dot:last-child{will-change:transform}
@media (max-width:767px){.c2g-intro{min-height:0;padding:104px var(--c2g-pad) 96px!important}
  body.c2g-layout .c2g-intro__h1{max-width:calc(100% - 64px)!important}.c2g-intro__dots{right:var(--c2g-pad)}}
@media (max-width:767px){.c2g-dots--v{gap:8px}}

/* ---------- Recent work ---------- */
.c2g-work{padding:52px var(--c2g-pad) 150px!important}
.c2g-work__head{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;padding:20px 9px 0!important;margin-bottom:35px}
.c2g-work__head .elementor-widget{width:auto!important}
body.c2g-layout .c2g-work__dot{transition:none!important;will-change:transform}
.c2g-work__grid{flex-direction:row!important;gap:19px!important;align-items:flex-start!important}
.c2g-card{flex:1 1 0!important;min-width:0;cursor:pointer}
.c2g-card__img{overflow:hidden;width:100%!important}
.c2g-card__img img{display:block;width:100%!important;aspect-ratio:442/427;object-fit:cover;transition:transform .8s var(--c2g-ease)}
.c2g-card:hover .c2g-card__img img{transform:scale(1.03)}
.c2g-card__title{margin-top:22px}
.c2g-card__meta{margin-top:6px}
@media (max-width:767px){
  .c2g-work{padding:40px var(--c2g-pad) 88px!important}
  .c2g-work__head{padding:0!important;margin-bottom:24px}
  /* Lea 2026-09-18: the three cases stack so all of them are visible */
  .c2g-work__grid{flex-direction:column!important;flex-wrap:nowrap!important;overflow-x:visible!important;margin:0!important;padding:0!important;gap:56px!important;width:100%!important}
  .c2g-card{flex:0 0 auto!important;width:100%!important}
  .c2g-card__title{margin-top:16px}
}

/* ---------- Honest + services (black) ---------- */
.c2g-honest{align-items:center!important;padding:158px 0 220px!important}
.c2g-center{text-align:center}
.c2g-honest__text{max-width:958px;width:calc(100% - 2 * var(--c2g-pad))!important;margin-top:72px;text-align:center}
.c2g-honest__dots1{margin-top:62px;width:auto!important}
.c2g-honest__both{margin-top:80px}
.c2g-honest__dot2{margin-top:80px;width:auto!important}
.c2g-services{width:100%!important;gap:140px!important;margin-top:100px;padding:0!important}
.c2g-service{flex-direction:row!important;align-items:flex-start!important;width:100%!important}
.c2g-service__text{width:auto!important}
.c2g-service__title{max-width:700px}
.c2g-service__body{max-width:469px;margin-top:16px}
.c2g-service--1{padding-left:9.1vw!important}
.c2g-service--1 .c2g-service__text{flex:0 0 42.4vw!important;padding-top:102px!important;padding-right:24px!important}
.c2g-service--1 .c2g-service__img{flex:0 0 20.8vw!important}
.c2g-service--2{padding-left:16.6vw!important}
.c2g-service--2 .c2g-service__img{flex:0 0 26.8vw!important;margin-top:42px}
.c2g-service--2 .c2g-service__text{margin-left:12.9vw;flex:1 1 auto!important;padding-right:var(--c2g-pad)!important}
.c2g-service--3{padding-left:9.1vw!important;padding-right:var(--c2g-pad)!important}
.c2g-service__img img{display:block;width:100%!important;height:auto}
@media (max-width:767px){
  .c2g-honest{padding:104px 0 140px!important}
  .c2g-honest__text{margin-top:36px}
  .c2g-honest__dots1,.c2g-honest__both,.c2g-honest__dot2{margin-top:48px}
  .c2g-services{gap:72px!important;margin-top:72px}
  .c2g-service{flex-direction:column!important;padding:0 var(--c2g-pad)!important}
  .c2g-service .c2g-service__text,.c2g-service .c2g-service__img{flex:0 0 auto!important;width:100%!important;margin:0!important;padding:0!important}
  .c2g-service .c2g-service__img{order:-1;margin-bottom:28px!important}
  .c2g-service--1 .c2g-service__img{width:72%!important}
  .c2g-service--2 .c2g-service__img{width:100%!important}
}

/* ---------- Team image ---------- */
.c2g-team{position:relative!important;width:100%;aspect-ratio:1440/1049;min-height:560px;padding:0!important;overflow:hidden}
.c2g-team .elementor-widget{position:absolute!important;margin:0!important}
.c2g-team__h-left{left:0;width:48.8%!important;top:50%;transform:translateY(-50%);text-align:center}
.c2g-team__h-right{right:9.2%;width:48.8%!important;top:50%;transform:translateY(-50%);text-align:right}
.c2g-team__label{width:auto!important}
.c2g-team__label .elementor-heading-title{display:flex;align-items:center;gap:32px;white-space:nowrap}
.c2g-team__label .elementor-heading-title::before{content:'';flex:0 0 32px;height:32px;background:url(assets/dots-white.svg) center/contain no-repeat}
.c2g-team__label--anna{left:15.6%;top:57.6%}
.c2g-team__label--lea{left:67.5%;top:60.4%}
@media (max-width:767px){
  .c2g-team{aspect-ratio:4/5;min-height:0}
  .c2g-team__h-left,.c2g-team__h-right{left:var(--c2g-pad);right:auto;width:auto!important;text-align:left;transform:none}
  .c2g-team__h-left{top:32px}
  .c2g-team__h-right{top:66px}
  .c2g-team__label .elementor-heading-title{gap:12px}
  .c2g-team__label .elementor-heading-title::before{flex-basis:24px;height:24px}
  .c2g-team__label--anna{left:8%;top:58%}
  .c2g-team__label--lea{left:52%;top:68%}
}

/* ---------- About (green) ---------- */
.c2g-about{align-items:center!important;padding:128px var(--c2g-pad) 156px!important}
.c2g-about__text{max-width:809px;width:100%!important;margin-top:40px;text-align:center}
/* About headline: Anna and Lea, since the photo section is off (Lea, 2026-09-18) */
.c2g-about__head{margin-top:76px;width:100%!important;align-self:flex-start!important}
body.c2g-layout .c2g-about__head{max-width:100%!important}
body.c2g-layout .c2g-about__head .elementor-heading-title{text-align:left!important}
.c2g-about__dots{width:auto!important}
body.c2g-layout .c2g-about__dots .c2g-dot{transition:none!important;will-change:transform}
/* Scroll-driven dots are eased in JS (c2gGlide) -- the kit's 0.4s transform
   transition would smooth an already smoothed value and feel rubbery. */
body.c2g-layout .c2g-intro__dots .c2g-dot{transition:none!important;will-change:transform}
@media (max-width:767px){.c2g-about{padding:96px var(--c2g-pad) 112px!important}.c2g-about__text{margin-top:24px}.c2g-about__head{margin-top:48px}}
/* 34px wraps "Anna — Strategy." onto two lines at 375; 30px keeps a name per line */
@media (max-width:767px){body.c2g-layout .c2g-about__head .elementor-heading-title{font-size:30px!important}}

/* ---------- Footer ---------- */
.c2g-footer{padding:187px 64px 68px!important;background:#000}
.c2g-footer .c2g-btn{margin-top:68px;width:auto!important}
.c2g-footer .c2g-btn .elementor-button{min-width:153px}
.c2g-footer__row{display:grid!important;grid-template-columns:minmax(0,444fr) minmax(0,408fr) minmax(0,376fr) auto;align-items:end!important;margin-top:81px;width:100%!important;padding:0!important}
.c2g-footer__col{width:auto!important}
.c2g-footer__col p{margin:0!important}
.c2g-footer__col a{transition:opacity .2s}
.c2g-footer__col a:hover{opacity:.6}
.c2g-footer__logo{width:auto!important;justify-self:end;padding-bottom:4px}
.c2g-footer__logo img{width:72px!important;height:auto;display:block}
@media (max-width:767px){
  .c2g-footer{padding:112px var(--c2g-pad) 40px!important}
  .c2g-footer .c2g-btn{margin-top:36px}
  /* content-sized columns pushed to the margins: at 1fr 1fr the email filled
     its column and ran straight into CONCRETE2GRAVEL next to it */
  .c2g-footer__row{grid-template-columns:1fr;justify-content:start;row-gap:24px;margin-top:72px}
  .c2g-footer__logo{justify-self:start;grid-column:1 / -1}
}

/* ---------- Get in Touch overlay ---------- */
.c2g-contact{position:fixed;inset:0;z-index:10000;background:var(--c2g-green);display:flex;align-items:center;justify-content:center;padding:var(--c2g-pad);opacity:0;visibility:hidden;transition:opacity .45s var(--c2g-ease),visibility .45s}
.c2g-contact.is-open{opacity:1;visibility:visible}
.c2g-contact[hidden]{display:none}
.c2g-contact__email{font-family:var(--c2g-font);font-weight:600;font-size:clamp(28px,5.6vw,80px);line-height:1.1;letter-spacing:.04em;text-transform:uppercase;color:#fff!important;text-decoration:none;text-align:center;word-break:break-word;transform:translateY(16px);transition:transform .6s var(--c2g-ease),opacity .2s}
.c2g-contact.is-open .c2g-contact__email{transform:none}
.c2g-contact__email:hover{opacity:.8}
.c2g-contact__close{position:absolute;top:44px;right:var(--c2g-pad);width:48px;height:48px;padding:0;border:0;background:none;cursor:pointer;color:#fff}
.c2g-contact__close svg{display:block;width:100%;height:100%}
.c2g-contact__close:hover{opacity:.7}
.admin-bar .c2g-contact__close{top:76px}
@media (max-width:767px){.c2g-contact__close{top:14px;width:40px;height:40px}}

/* ---------- Preloader ---------- */
.c2g-preloader{position:fixed;inset:0;z-index:10001;background:var(--c2g-green);display:flex;align-items:center;justify-content:center;transition:opacity .6s var(--c2g-ease),visibility .6s}
html.c2g-no-preloader .c2g-preloader{display:none}
.c2g-preloader .c2g-spiral{width:min(41vw,590px);height:auto;overflow:visible}
.c2g-preloader .c2g-spiral{transform-origin:50% 50%}
.c2g-preloader .c2g-spiral path{transform-box:fill-box;transform-origin:center}
body.c2g-layout .c2g-honest__dots1 .c2g-dot{transition:none!important;will-change:transform}
/* anchor offset for the fixed header */
.c2g-layout [id]{scroll-margin-top:72px}
html:has(body.c2g-layout){scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html:has(body.c2g-layout){scroll-behavior:auto}}
.c2g-preloader.is-done{opacity:0;visibility:hidden}
/* safety net if JS never runs */
html.c2g-preloading .c2g-preloader{animation:c2gPreFail .01s linear 7s forwards}
@keyframes c2gPreFail{to{opacity:0;visibility:hidden}}
@media (max-width:767px){.c2g-preloader .c2g-spiral{width:68vw}}
@media (prefers-reduced-motion:reduce){.c2g-preloader,.c2g-contact{transition-duration:.01s}}

/* ---------- Work case pop-ups (full screen, black) ---------- */
.c2g-case{position:fixed;inset:0;z-index:9500;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:rgba(0,0,0,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;opacity:0;visibility:hidden;transition:opacity .45s var(--c2g-ease),visibility .45s}
.c2g-case[hidden]{display:none}
.c2g-case.is-open{opacity:1;visibility:visible}
.c2g-case__body{padding:128px var(--c2g-pad) 120px;transform:translateY(24px);transition:transform .7s var(--c2g-ease)}
.c2g-case.is-open .c2g-case__body{transform:none}
body.c2g-layout button.c2g-case__close{position:fixed;top:44px;right:var(--c2g-pad);z-index:2;width:48px;height:48px;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:#fff!important;cursor:pointer}
.c2g-case__close svg{display:block;width:100%;height:100%}
.c2g-case__close:hover{opacity:.7}
.admin-bar .c2g-case__close{top:76px}

.c2g-case .e-con{--gap:0px}
.c2g-case__head{flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important;gap:24px!important;padding-right:72px!important}
.c2g-case__head .elementor-widget{width:auto!important}
.c2g-case__title{max-width:1000px}
.c2g-case__client{white-space:nowrap;padding-bottom:8px}
body.c2g-layout .c2g-case__intro{max-width:min(958px,100%)!important;margin-top:48px}

.c2g-case__facts{margin-top:72px}
.c2g-case__facts ol{list-style:none;counter-reset:c2gfact;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 19px;margin:0!important;padding:24px 0 0!important;border-top:1px solid rgba(255,255,255,.28)}
.c2g-case__facts li{counter-increment:c2gfact;margin:0}
.c2g-case__facts li::before{content:"(" counter(c2gfact) ")";display:block;margin-bottom:10px;opacity:.55}
.c2g-case__facts li strong{display:block;font-weight:600;text-transform:uppercase;margin-bottom:4px}

.c2g-case__story{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 19px!important;margin-top:120px}
.c2g-case__label .elementor-heading-title{display:flex;align-items:center;gap:16px}
.c2g-case__label .elementor-heading-title::before{content:'';flex:0 0 22px;height:22px;background:url(assets/dots-white.svg) center/contain no-repeat}
.c2g-case__story .c2g-case__text,.c2g-case__outcome .c2g-case__text{margin-top:20px}
body.c2g-layout .c2g-case__story .c2g-case__text{max-width:min(560px,100%)!important}

.c2g-case__outcome{margin-top:120px}
.c2g-case__numbers{margin-top:28px}
.c2g-case__numbers p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 19px;margin:0!important}
.c2g-case__numbers span{display:block}
.c2g-case__numbers strong{display:block;font-weight:600;font-size:60px;line-height:1;letter-spacing:.04em;margin-bottom:10px}
.c2g-case__note{margin-top:20px;opacity:.6}

.c2g-case__gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px!important;margin-top:120px}
.c2g-case__gallery .c2g-case__img{width:100%!important;position:relative;overflow:hidden}
.c2g-case__gallery .c2g-case__img--full{grid-column:1 / -1}
.c2g-case__img img{display:block;width:100%!important;height:auto;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.06)}
.c2g-case__img--full img{aspect-ratio:16/9}
.c2g-case__img::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--c2g-grain);background-size:240px 240px;mix-blend-mode:overlay;opacity:var(--c2g-grain-opacity)}

.c2g-case__end{flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important;gap:24px!important;margin-top:120px;padding-top:28px!important;border-top:1px solid rgba(255,255,255,.28)}
.c2g-case__end .elementor-widget{width:auto!important}
.c2g-case__next a{display:block;color:#fff}
.c2g-case__next small{display:block;font:400 18px/1.2 var(--c2g-font);letter-spacing:.04em;opacity:.6;margin-bottom:10px}
.c2g-case__next span{display:block;font:600 35px/1.15 var(--c2g-font);letter-spacing:.04em;text-transform:uppercase;transition:opacity .2s}
.c2g-case__next a:hover span{opacity:.6}

@media (max-width:1024px){
  .c2g-case__facts ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c2g-case__numbers strong{font-size:44px}
}
@media (max-width:767px){
  .c2g-case__body{padding:88px var(--c2g-pad) 88px}
  body.c2g-layout button.c2g-case__close{top:14px;width:40px;height:40px}
  .c2g-case__head{flex-direction:column!important;align-items:flex-start!important;gap:10px!important;padding-right:0!important}
  .c2g-case__client{white-space:normal;padding-bottom:0}
  .c2g-case__intro{margin-top:28px}
  .c2g-case__facts{margin-top:44px}
  .c2g-case__story{grid-template-columns:1fr;gap:44px!important;margin-top:72px}
  .c2g-case__outcome{margin-top:72px}
  .c2g-case__numbers p{grid-template-columns:1fr;gap:20px}
  .c2g-case__numbers strong{font-size:40px}
  .c2g-case__gallery{grid-template-columns:1fr;gap:12px!important;margin-top:72px}
  .c2g-case__img--full img{aspect-ratio:4/5}
  .c2g-case__end{flex-direction:column!important;align-items:flex-start!important;margin-top:72px}
  .c2g-case__next span{font-size:24px}
}
/* ---------- Case pop-up: split layout (default) ----------
   Left column = the fixed summary, right column = story and images scrolling.
   ?caselayout=stacked renders the same templates in one column. */
.c2g-case--split .c2g-case__inner{display:grid!important;grid-template-columns:minmax(0,40%) minmax(0,1fr);column-gap:72px;align-items:start}
.c2g-case--split .c2g-case__main{position:sticky;top:128px;align-self:start;padding-right:16px!important}
/* if the summary is taller than the screen it travels with the page and pins at its end instead */
.c2g-case--split.is-tall .c2g-case__main{top:auto;bottom:32px}
.c2g-case__flow{gap:64px!important}
.c2g-case--split .c2g-case__flow{margin-top:0}
/* v5 templates in the split view: all text left, the gallery as one column on the right */
.c2g-case--split .c2g-case__gallery{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;margin-top:0!important}
.c2g-case--split .c2g-case__gallery .c2g-case__img img,.c2g-case--split .c2g-case__gallery .c2g-case__img--full img{aspect-ratio:auto;height:auto}
.c2g-case--split .c2g-case__main>.c2g-case__story{margin-top:44px}
.c2g-case--split .c2g-case__main>.c2g-case__outcome{margin-top:44px}
body.c2g-layout .c2g-case--split .c2g-case__main>.c2g-case__quote{margin-top:44px;max-width:none!important}
.c2g-case--split .c2g-case__story{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
.c2g-case--split .c2g-case__end{grid-column:1 / -1}
.c2g-case__flow .c2g-case__img{width:100%!important;position:relative;overflow:hidden}
.c2g-case__flow .c2g-case__img img{display:block;width:100%!important;height:auto;aspect-ratio:auto;filter:grayscale(1) contrast(1.06)}
.c2g-case__flow .c2g-case__img::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:var(--c2g-grain);background-size:240px 240px;mix-blend-mode:overlay;opacity:var(--c2g-grain-opacity)}
.c2g-case__block .c2g-case__text,.c2g-case__outcome .c2g-case__text{margin-top:18px}
.c2g-case__quote{border-top:1px solid rgba(255,255,255,.28);padding-top:26px}
body.c2g-layout .c2g-case__quote p{font-size:22px;line-height:1.35;margin:0 0 14px}
body.c2g-layout .c2g-case__quote small{font-size:15px;letter-spacing:.04em;opacity:.55}
.c2g-case--split .c2g-case__head{flex-direction:column!important;align-items:flex-start!important;gap:6px!important;padding-right:0!important}
.c2g-case--split .c2g-case__client{white-space:normal;padding-bottom:0}
body.c2g-layout .c2g-case--split .c2g-case__title .elementor-heading-title{font-size:32px!important}
body.c2g-layout .c2g-case--split .c2g-case__client .elementor-heading-title{font-size:16px!important}
body.c2g-layout .c2g-case--split .c2g-case__intro{font-size:16px!important;max-width:none!important;margin-top:26px}
body.c2g-layout .c2g-case--split .c2g-case__text{font-size:16px!important;max-width:none!important}
body.c2g-layout .c2g-case--split .c2g-case__facts{font-size:15px!important;margin-top:36px}
body.c2g-layout .c2g-case--split .c2g-case__facts ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 19px}
body.c2g-layout .c2g-case--split .c2g-case__label .elementor-heading-title{font-size:16px!important;gap:12px}
body.c2g-layout .c2g-case--split .c2g-case__label .elementor-heading-title::before{flex-basis:16px;height:16px}
body.c2g-layout .c2g-case--split .c2g-case__quote p{font-size:20px!important}
.c2g-case--split .c2g-case__outcome{margin-top:0}
.c2g-case--split .c2g-case__numbers p{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
body.c2g-layout .c2g-case--split .c2g-case__numbers{font-size:15px!important}
.c2g-case--split .c2g-case__numbers strong{font-size:44px}
body.c2g-layout .c2g-case--split .c2g-case__note{font-size:14px!important}

.c2g-case--split .c2g-case__next small{font-size:14px}
.c2g-case--split .c2g-case__next span{font-size:24px}
@media (max-width:900px){
  /* one column: summary, then story and images, and the next-case block last */
  .c2g-case--split .c2g-case__inner{display:flex!important;flex-direction:column;gap:40px}
  .c2g-case--split .c2g-case__main{display:contents;position:static;top:auto;bottom:auto;padding-right:0!important}
  .c2g-case--split .c2g-case__flow{order:2}
  .c2g-case--split .c2g-case__end{order:3;margin-top:0}
  .c2g-case--split .c2g-case__flow{gap:48px!important}
  .c2g-case--split .c2g-case__end{margin-top:8px}
  body.c2g-layout .c2g-case--split .c2g-case__facts ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  body.c2g-layout .c2g-case--split .c2g-case__title .elementor-heading-title{font-size:28px!important}
  body.c2g-layout .c2g-case--split .c2g-case__intro{font-size:16px!important}
  .c2g-case--split .c2g-case__numbers strong{font-size:36px}
}
/* ---------- Case pop-up: stacked layout (default) ----------
   All text first, then the images, which fade up as they enter the screen. */
.c2g-case__main{width:100%!important}
.c2g-case__main>.c2g-case__story{margin-top:96px}
.c2g-case__main>.c2g-case__outcome{margin-top:96px}
body.c2g-layout .c2g-case__main>.c2g-case__quote{margin-top:96px;max-width:min(958px,100%)!important}
.c2g-case__gallery{margin-top:120px}
.c2g-case__end{margin-top:120px}
.c2g-case__block .c2g-case__text{max-width:min(560px,100%)!important}
@media (max-width:767px){
  .c2g-case__main>.c2g-case__story,.c2g-case__main>.c2g-case__outcome,
  body.c2g-layout .c2g-case__main>.c2g-case__quote{margin-top:56px}
  .c2g-case__gallery{margin-top:64px}
  .c2g-case__end{margin-top:64px}
}

/* images appear on scroll */
.c2g-reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--c2g-ease),transform .9s var(--c2g-ease)}
.c2g-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.c2g-reveal{opacity:1;transform:none;transition:none}}
/* ---------- Case pop-up: only the fact numbers are C2G Green (Lea, 2026-09-17) ---------- */
.c2g-case__facts li::before{color:var(--c2g-green);opacity:1}
body.c2g-layout .c2g-case__note,body.c2g-layout .c2g-case__note p{color:#fff!important;opacity:.6}
body.c2g-layout .c2g-case__quote small{color:#fff;opacity:.55}
/* the Next case label is green too (Lea, 2026-09-17) */
.c2g-case__next small{color:var(--c2g-green);opacity:1}

/* End block: next case left, Get in Touch right on the same line as the next title */
.c2g-case__end{flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important;gap:24px!important;margin-top:180px!important;padding-top:28px!important;border-top:1px solid rgba(255,255,255,.28)}
.c2g-case__end .elementor-widget{width:auto!important}
.c2g-case__end .c2g-btn{margin-top:0;padding-bottom:6px}
@media (max-width:900px){.c2g-case__end{margin-top:96px!important}}
@media (max-width:600px){.c2g-case__end{flex-direction:column!important;align-items:flex-start!important;gap:28px!important}.c2g-case__end .c2g-btn{padding-bottom:0}}

/* Case gallery images stay in colour (Lea, 2026-09-17); the grain stays */
.c2g-case__gallery .c2g-case__img img,.c2g-case__flow .c2g-case__img img{filter:none}
/* ---------- Homepage: smaller service titles + scroll reveal (Lea, 2026-09-17) ---------- */
body.c2g-layout .c2g-service__title .elementor-heading-title{font-size:44px!important}
@media (max-width:1024px){body.c2g-layout .c2g-service__title .elementor-heading-title{font-size:36px!important}}
@media (max-width:767px){body.c2g-layout .c2g-service__title .elementor-heading-title{font-size:30px!important}}

/* ---------- Body size by ground (Lea, 2026-09-17) ----------
   Copy on black reads a step smaller, copy on green a step larger, so the two
   grounds sit at different volumes. Case pop-ups keep their own 16px scale. */
body.c2g-layout .c2g-honest__text,body.c2g-layout .c2g-honest__text p,
body.c2g-layout .c2g-service__body,body.c2g-layout .c2g-service__body p{font-size:21px!important}
body.c2g-layout .c2g-intro__h1 .elementor-heading-title,
body.c2g-layout .c2g-about__text,body.c2g-layout .c2g-about__text p{font-size:44px!important;text-align:left!important}
/* Flush to the page margins so the green copy reads as a display element. The
   intro keeps a right inset to clear its dot pair; the about block runs the
   full content width, which keeps its centred dots centred over the text. */
body.c2g-layout .c2g-intro__h1{max-width:calc(100% - 96px)!important;align-self:flex-start!important}
body.c2g-layout .c2g-about__text{max-width:100%!important;align-self:flex-start!important}
@media (max-width:1024px){
  body.c2g-layout .c2g-honest__text,body.c2g-layout .c2g-honest__text p,
  body.c2g-layout .c2g-service__body,body.c2g-layout .c2g-service__body p{font-size:18px!important}
  body.c2g-layout .c2g-intro__h1 .elementor-heading-title,
  body.c2g-layout .c2g-about__text,body.c2g-layout .c2g-about__text p{font-size:36px!important;text-align:left!important}
}
@media (max-width:767px){
  body.c2g-layout .c2g-honest__text,body.c2g-layout .c2g-honest__text p,
  body.c2g-layout .c2g-service__body,body.c2g-layout .c2g-service__body p{font-size:16px!important}
  body.c2g-layout .c2g-intro__h1 .elementor-heading-title,
  body.c2g-layout .c2g-about__text,body.c2g-layout .c2g-about__text p{font-size:28px!important;text-align:left!important}
  body.c2g-layout .c2g-intro__h1{max-width:calc(100% - 64px)!important}
  body.c2g-layout .c2g-about__text{max-width:100%!important}
}
/* ---------- Air at the sides of the green blocks (Lea, 2026-09-17) ----------
   The copy sits further in from the page margins; the intro's dot pair stays on
   the page grid (same axis as the black Recent work dot), so the gap between
   the copy and the dots simply grows. The Anna & Lea block also gets more air
   above and below. */
body.c2g-layout .c2g-intro{padding-left:100px!important;padding-right:100px!important}
body.c2g-layout .c2g-about{padding:176px 100px 200px!important}
@media (max-width:1024px){
  body.c2g-layout .c2g-intro{padding-left:72px!important;padding-right:72px!important}
  body.c2g-layout .c2g-about{padding:148px 72px 168px!important}
}
@media (max-width:767px){
  body.c2g-layout .c2g-intro{padding-left:32px!important;padding-right:32px!important}
  body.c2g-layout .c2g-about{padding:128px 32px 144px!important}
  /* The 64px inset was set when the section had the page's own 20px margin;
     with 32px of padding it left a 247px measure at 375. 36px clears the dots
     with 24px to spare and gives the copy back a line. */
  body.c2g-layout .c2g-intro__h1{max-width:calc(100% - 36px)!important}
}

/* homepage scroll reveal: content rises into place */
.c2g-layout .c2g-reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--c2g-ease),transform .9s var(--c2g-ease)}
.c2g-layout .c2g-reveal.is-in{opacity:1;transform:none}
/* fade only — no transform, so absolutely positioned items keep their own centring */
.c2g-layout .c2g-reveal--fade{opacity:0;transition:opacity 1s var(--c2g-ease)}
.c2g-layout .c2g-reveal--fade.is-in{opacity:1}
@media (prefers-reduced-motion:reduce){.c2g-layout .c2g-reveal,.c2g-layout .c2g-reveal--fade{opacity:1;transform:none;transition:none}}

/* ---------- Mobile pass 2 (Lea, 2026-09-18) ---------- */
@media (max-width:767px){
  /* hero line flush left */
  body.c2g-layout .c2g-hero__line,
  body.c2g-layout .c2g-hero__line .elementor-heading-title{text-align:left!important}
  /* the intro dot pair sits centred against the copy, on the right */
  body.c2g-layout .c2g-intro__dots{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
  /* the first service image fills the column */
  .c2g-service--1 .c2g-service__img{width:100%!important}
  /* about copy matches the service body */
  body.c2g-layout .c2g-about__text,body.c2g-layout .c2g-about__text p{font-size:16px!important}
  /* no scroll-driven motion on phones */
  .c2g-layout .c2g-reveal,.c2g-layout .c2g-reveal--fade{opacity:1!important;transform:none!important;transition:none!important}
  /* Elementor already keeps the hero video off phones; this makes it certain,
     including inside the editor's phone preview */
  .c2g-hero .elementor-background-video-container,
  .c2g-hero video.elementor-background-video-hosted{display:none!important}
}

/* ---------- Legal pages (Impressum, Privacy): white on green, like the
   Get in Touch overlay. Type follows the landing page tokens. ---------- */
.c2g-legal{background:var(--c2g-green);align-items:flex-start!important;padding:180px var(--c2g-pad) 140px!important}
body.c2g-layout .c2g-legal__title{max-width:100%!important;align-self:flex-start!important}
body.c2g-layout .c2g-legal__title .elementor-heading-title{text-align:left!important}
body.c2g-layout .c2g-legal__text{max-width:min(860px,100%)!important;align-self:flex-start!important;margin-top:56px}
body.c2g-layout .c2g-legal__text,body.c2g-layout .c2g-legal__text p,body.c2g-layout .c2g-legal__text li{font-size:25px!important;line-height:1.35!important;color:#fff!important}
body.c2g-layout .c2g-legal__text p{margin:0 0 1em}
body.c2g-layout .c2g-legal__text h2,body.c2g-layout .c2g-legal__text h3{font-family:var(--c2g-font)!important;font-weight:600!important;font-size:20px!important;line-height:1.2!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#fff!important;margin:56px 0 14px!important}
body.c2g-layout .c2g-legal__text>*:first-child{margin-top:0!important}
body.c2g-layout .c2g-legal__text a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
body.c2g-layout .c2g-legal__text a:hover{opacity:.7}
@media (max-width:1024px){
  .c2g-legal{padding:150px var(--c2g-pad) 110px!important}
  body.c2g-layout .c2g-legal__text,body.c2g-layout .c2g-legal__text p,body.c2g-layout .c2g-legal__text li{font-size:21px!important}
  body.c2g-layout .c2g-legal__text h2,body.c2g-layout .c2g-legal__text h3{font-size:18px!important;margin-top:44px!important}
  body.c2g-layout .c2g-legal__text{margin-top:44px}
}
@media (max-width:767px){
  .c2g-legal{padding:120px var(--c2g-pad) 88px!important}
  body.c2g-layout .c2g-legal__text,body.c2g-layout .c2g-legal__text p,body.c2g-layout .c2g-legal__text li{font-size:18px!important}
  body.c2g-layout .c2g-legal__text h2,body.c2g-layout .c2g-legal__text h3{font-size:16px!important;margin-top:36px!important}
  body.c2g-layout .c2g-legal__text{margin-top:32px}
}
