:root{--gg-bg:#091b18;--gg-ink:#f4f7f3;--gg-lime:#c3f464;--gg-muted:#afbfba;--gg-line:rgba(225,242,231,.2)}
html{scroll-behavior:smooth;scroll-padding-top:100px}body.gg-portfolio{margin:0;background:var(--gg-bg);color:var(--gg-ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}body.gg-portfolio *{box-sizing:border-box}body.gg-portfolio a{color:inherit;text-decoration:none}body.gg-portfolio button{font:inherit}body.gg-portfolio .elementor-widget{margin:0!important;max-width:100%}:where(body.gg-portfolio .elementor-widget-text-editor){color:inherit;font:inherit}body.gg-portfolio .elementor-heading-title{color:inherit;font-family:'Manrope',sans-serif;font-weight:600;line-height:1.15}body.gg-portfolio p{margin:0}body.gg-portfolio h1,body.gg-portfolio h2,body.gg-portfolio h3{margin:0}body.gg-portfolio .e-con{--gap:0px;gap:0;min-width:0}body.gg-portfolio .elementor-button{background:none;border:0;border-radius:0;font:inherit;padding:0;color:inherit;line-height:1.4}body.gg-portfolio .elementor-button:focus-visible,body.gg-portfolio button:focus-visible,body.gg-portfolio a:focus-visible{outline:3px solid var(--gg-lime);outline-offset:6px}body.gg-portfolio .elementor-button-text{flex-grow:0}body.gg-portfolio .gg-wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding:0}.gg-page,.gg-main{width:100%}.gg-lime{color:var(--gg-lime)}.gg-header{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;padding-block:28px!important;border-bottom:1px solid var(--gg-line);position:relative;z-index:10}.gg-brand{width:auto!important}.gg-brand .elementor-heading-title{font-size:25px!important;font-weight:800!important;letter-spacing:-1px}.gg-brand-dot{color:var(--gg-lime)}.gg-navlinks{display:flex;flex-direction:row!important;align-items:center;gap:30px!important;width:auto!important}.gg-navlinks .elementor-widget-button{width:auto}.gg-navlinks .elementor-button{font-size:14px;font-weight:500}.gg-navlink a:hover{color:var(--gg-lime)}.gg-navcontact a{border:1px solid var(--gg-line)!important;padding:11px 20px!important;border-radius:999px!important}.gg-navcontact a:hover{background:var(--gg-lime);color:var(--gg-bg)}.gg-menutoggle{display:none}.gg-hero{padding-top:37px!important}.gg-herotop,.gg-herorule{display:flex;flex-direction:row!important;justify-content:space-between;align-items:center}.gg-eyebrow{font-size:13px!important;letter-spacing:.15em;font-weight:600}.gg-location{font-size:12px;letter-spacing:.12em;color:var(--gg-muted)}.gg-title{margin-top:22px!important}.gg-title .elementor-heading-title{font-size:clamp(60px,12vw,176px)!important;line-height:1.12!important;letter-spacing:-.06em!important;font-weight:800!important}.gg-herobottom{display:flex;flex-direction:row!important;align-items:center;justify-content:space-between;gap:56px!important;margin-top:22px}.gg-herocopy{width:65%!important;gap:24px!important}.gg-herosub .elementor-heading-title{font-size:clamp(36px,4.5vw,64px)!important;letter-spacing:-.045em!important}.gg-intro{max-width:530px;color:var(--gg-muted);font-size:18px;line-height:1.65}.gg-heroactions{display:flex;flex-direction:row!important;align-items:center;gap:28px!important;margin-top:6px}.gg-primary a{background:var(--gg-lime)!important;color:var(--gg-bg)!important;border-radius:999px!important;padding:17px 28px!important;font-size:15px!important;font-weight:700!important;transition:background .2s,transform .2s}.gg-primary a:hover{background:#d6ff92!important;transform:translateY(-2px)}.gg-textlink a{border-bottom:1px solid var(--gg-line)!important;padding-block:8px!important;font-size:15px!important}.gg-textlink a:hover{border-color:var(--gg-lime)!important}.gg-portraitblock{width:240px!important;flex-shrink:0;gap:13px!important;margin-right:40px}.gg-portrait{width:210px!important;align-self:center}.gg-portrait img{width:210px!important;height:276px!important;object-fit:cover;object-position:center 45%;border-radius:110px 110px 14px 14px;border:1px solid var(--gg-line);background:#005443}.gg-portraitcaption{font-size:13px;line-height:1.5;color:var(--gg-muted);text-align:center}.gg-herorule{border-top:1px solid var(--gg-line);margin-top:60px;padding-top:18px!important}.gg-small{font-size:12px;letter-spacing:.06em;color:var(--gg-muted)}.gg-work{padding-top:96px!important;padding-bottom:100px!important}.gg-sectionhead{display:flex;flex-direction:row!important;justify-content:space-between;align-items:flex-end;gap:40px!important}.gg-sectiontitle{gap:22px!important;width:auto!important}.gg-sectionheading .elementor-heading-title{font-size:clamp(36px,4.5vw,61px)!important;letter-spacing:-.04em!important}.gg-sectionnote{color:var(--gg-muted);width:auto!important;line-height:1.6;font-size:16px}.gg-filters{display:flex;flex-direction:row!important;flex-wrap:wrap;gap:10px!important;margin-top:42px;align-items:center}.gg-filter{width:auto!important}.gg-filter a{border:1px solid var(--gg-line)!important;border-radius:999px!important;padding:11px 19px!important;font-size:14px!important;transition:background .2s,color .2s}.gg-filter a:hover{border-color:var(--gg-lime)!important}.gg-filter a[aria-pressed=true]{background:var(--gg-lime)!important;color:var(--gg-bg)!important;border-color:var(--gg-lime)!important}.gg-resultcount{font-size:13px;color:var(--gg-muted);margin-top:15px!important}.gg-projectgrid{display:grid!important;grid-template-columns:1fr 1fr;gap:40px 30px!important;margin-top:22px}.gg-card{width:100%!important;position:relative;padding-bottom:24px!important;border-bottom:1px solid var(--gg-line);gap:10px!important;transition:opacity .22s;align-items:stretch}.gg-card[hidden]{display:none!important}.gg-cardimage{overflow:hidden;background:#0d3933;aspect-ratio:1.43;border-radius:12px;width:100%}.gg-cardimage .elementor-widget-container{height:100%}.gg-cardimage img{display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform .45s;aspect-ratio:1.43}.gg-card:hover .gg-cardimage img{transform:scale(1.025)}.gg-cardmeta{display:flex;flex-direction:row!important;align-items:center;justify-content:space-between;gap:15px!important;padding-top:7px!important}.gg-cardcategory{width:auto!important;font-size:12px;color:var(--gg-muted)}.gg-cardnumber{width:auto!important;font-size:12px;color:var(--gg-muted)}.gg-cardtitle .elementor-heading-title{font-size:29px!important;letter-spacing:-.035em!important}.gg-cardtag{font-size:15px;color:var(--gg-muted);padding-right:150px!important}.gg-projectopen{position:absolute!important;bottom:24px;right:0;width:auto!important}.gg-projectopen a{font-size:14px!important;border-bottom:1px solid var(--gg-line)!important;padding-bottom:5px!important}.gg-projectopen a:hover{color:var(--gg-lime)}.gg-services{border-top:1px solid var(--gg-line);padding-block:76px 90px!important;gap:24px!important}.gg-servicegrid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:32px!important;margin-top:30px}.gg-service{gap:22px!important}.gg-servicenumber{font-size:13px;color:var(--gg-lime)}.gg-service h3{font-size:21px!important;letter-spacing:-.02em}.gg-service .elementor-widget-text-editor:last-child{color:var(--gg-muted);font-size:15px!important;line-height:1.7}.gg-about{display:grid!important;grid-template-columns:1fr 1.2fr;gap:80px!important;border-top:1px solid var(--gg-line);padding-block:85px!important}.gg-aboutlabel{gap:26px!important}.gg-abouttitle .elementor-heading-title{font-size:clamp(42px,6vw,82px)!important;letter-spacing:-.06em!important}.gg-aboutrole{font-size:15px;color:var(--gg-muted)}.gg-aboutcopy{gap:24px!important}.gg-aboutheading .elementor-heading-title{font-size:31px!important;letter-spacing:-.035em}.gg-aboutcopy .elementor-widget-text-editor{color:var(--gg-muted)}.gg-tools{padding-top:22px!important;border-top:1px solid var(--gg-line);font-size:14px;line-height:1.9}.gg-contact{padding-top:74px!important;gap:28px!important;border-top:1px solid var(--gg-line)}.gg-contacttitle .elementor-heading-title{font-size:clamp(35px,5.7vw,78px)!important;letter-spacing:-.05em!important;line-height:1.19!important}.gg-contactbottom{display:flex;flex-direction:row!important;justify-content:space-between;align-items:center;gap:30px!important;margin-block:20px 50px}.gg-contactlinks{gap:12px!important;width:auto!important}.gg-email a{font-size:clamp(16px,2.2vw,27px)!important;font-weight:500!important}.gg-email a:hover,.gg-phone a:hover{color:var(--gg-lime)}.gg-phone a{font-size:17px!important;color:var(--gg-muted)!important}.gg-footer{display:flex;flex-direction:row!important;align-items:center;justify-content:space-between;gap:20px!important;padding-block:24px!important;border-top:1px solid var(--gg-line)}.gg-footerlink a{font-size:13px!important;color:var(--gg-muted)!important}.gg-skip{position:absolute;top:-100px;left:20px;padding:12px;background:var(--gg-lime);color:var(--gg-bg)!important;z-index:1000}.gg-skip:focus{top:12px}.gg-dialog{color:var(--gg-ink);background:#0c2520;border:1px solid var(--gg-line);border-radius:18px;padding:34px;width:min(1050px,calc(100% - 40px));max-height:90dvh;margin:auto;overflow:auto}.gg-dialog::backdrop{background:rgba(0,12,9,.88);backdrop-filter:blur(6px)}.gg-dialoghead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.gg-dialoghead p{color:var(--gg-lime);font-size:13px}.gg-close{border:1px solid var(--gg-line);background:none;color:var(--gg-ink);border-radius:999px;padding:8px 16px;cursor:pointer;font-size:14px!important}.gg-close span{font-size:20px;margin-left:9px}.gg-dialog h2{font-family:'Manrope',sans-serif;font-size:38px;font-weight:600;letter-spacing:-.035em;line-height:1.2;margin-bottom:20px!important}.gg-dialog #gg-dialog-desc{font-size:16px;line-height:1.7;max-width:850px;color:var(--gg-muted);margin-bottom:20px}.gg-dialog #gg-dialog-deliver{font-size:14px;color:var(--gg-ink);border-top:1px solid var(--gg-line);padding-top:16px;margin-bottom:28px}.gg-gallery{display:grid;gap:22px}.gg-gallery img{width:100%;height:auto;display:block;border-radius:8px;background:#143e37}.gg-dialogfooter{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--gg-line);margin-top:28px;padding-top:24px}.gg-dialogfooter button{border:1px solid var(--gg-line);border-radius:999px;padding:10px 17px;background:none;color:var(--gg-ink);cursor:pointer;font-size:14px!important}.gg-dialogfooter button:hover,.gg-close:hover{border-color:var(--gg-lime);color:var(--gg-lime)}.gg-dialogposition{font-size:13px;color:var(--gg-muted)}.gg-galleryerror{font-size:14px;color:var(--gg-muted);padding:14px}
@media(min-width:1550px){.gg-title .elementor-heading-title{font-size:178px!important}}@media(max-width:1024px){body.gg-portfolio .gg-wrap{width:calc(100% - 56px)}.gg-navlinks{gap:17px!important}.gg-navcontact a{padding:10px 14px!important}.gg-portraitblock{margin-right:0!important;width:220px!important}.gg-herobottom{gap:30px!important}.gg-servicegrid{grid-template-columns:repeat(2,1fr);gap:40px!important}.gg-about{gap:40px!important}.gg-cardtag{padding-right:0!important}.gg-projectopen{position:static!important;margin-top:6px;width:fit-content!important}}
@media(max-width:700px){html{scroll-padding-top:24px}body.gg-portfolio .gg-wrap{width:calc(100% - 40px)}.gg-header{padding-block:20px!important}.gg-brand .elementor-heading-title{font-size:22px!important}.gg-menutoggle{display:block!important;width:auto!important}.gg-menutoggle a{font-size:14px!important;border:1px solid var(--gg-line)!important;border-radius:999px!important;padding:8px 15px!important}.gg-navlinks{display:none!important;position:absolute;left:0;right:0;top:78px;background:#102f28;border:1px solid var(--gg-line);border-radius:12px;padding:22px!important;flex-direction:column!important;align-items:stretch;gap:23px!important;width:100%!important;box-shadow:0 20px 40px #0008}.gg-navlinks.gg-open{display:flex!important}.gg-navlinks .elementor-button{font-size:16px!important}.gg-hero{padding-top:25px!important}.gg-location{display:none}.gg-eyebrow{font-size:11px!important;letter-spacing:.11em}.gg-title{margin-top:20px!important}.gg-title .elementor-heading-title{font-size:clamp(39px,11.4vw,78px)!important;letter-spacing:-.055em!important}.gg-herobottom{margin-top:35px;align-items:flex-start;gap:20px!important}.gg-herocopy{width:100%!important}.gg-herosub .elementor-heading-title{font-size:38px!important;line-height:1.12!important}.gg-intro{font-size:16px}.gg-portraitblock{width:120px!important;position:absolute;right:0;top:0;gap:8px!important}.gg-portrait{width:110px!important}.gg-portrait img{width:110px!important;height:146px!important}.gg-portraitcaption{display:none}.gg-herosub{padding-right:120px!important;min-height:146px}.gg-heroactions{gap:19px!important;flex-wrap:wrap}.gg-primary a{padding:15px 23px!important;font-size:14px!important}.gg-textlink a{font-size:14px!important}.gg-herorule{margin-top:38px;padding-top:14px!important;gap:16px!important}.gg-small{font-size:10px}.gg-work{padding-top:66px!important;padding-bottom:60px!important}.gg-sectionhead{display:block!important}.gg-sectiontitle{gap:18px!important}.gg-sectionheading .elementor-heading-title{font-size:39px!important}.gg-sectionnote{margin-top:20px;font-size:15px}.gg-filters{margin-top:26px;gap:8px!important}.gg-filter a{font-size:13px!important;padding:10px 14px!important}.gg-projectgrid{grid-template-columns:1fr;gap:31px!important}.gg-cardimage{border-radius:8px}.gg-cardtitle .elementor-heading-title{font-size:26px!important}.gg-cardcategory{font-size:11px}.gg-cardtag{font-size:15px}.gg-services{padding-block:55px 65px!important}.gg-servicegrid{gap:35px 22px!important;margin-top:18px}.gg-service h3{font-size:19px!important;line-height:1.3!important}.gg-service{gap:14px!important}.gg-service .elementor-widget-text-editor:last-child{font-size:14px!important}.gg-about{grid-template-columns:1fr;gap:36px!important;padding-block:60px!important}.gg-aboutlabel{gap:20px!important}.gg-abouttitle .elementor-heading-title{font-size:58px!important}.gg-aboutheading .elementor-heading-title{font-size:29px!important}.gg-contact{padding-top:55px!important;gap:22px!important}.gg-contacttitle .elementor-heading-title{font-size:37px!important}.gg-contactbottom{flex-direction:column!important;align-items:flex-start;gap:28px!important;margin-bottom:35px}.gg-email a{font-size:16px!important}.gg-phone a{font-size:16px!important}.gg-footer{gap:15px!important}.gg-footerlink a{font-size:11px!important}.gg-dialog{width:calc(100% - 20px);padding:21px 18px;max-height:94dvh;border-radius:12px}.gg-dialog h2{font-size:30px}.gg-dialogfooter{gap:7px}.gg-dialogfooter button{font-size:11px!important;padding:9px 10px}.gg-dialogposition{font-size:11px}}
@media(max-width:360px){.gg-portraitblock{width:100px!important;top:0}.gg-portrait,.gg-portrait img{width:95px!important}.gg-portrait img{height:135px!important}.gg-herosub{padding-right:100px!important}.gg-herosub .elementor-heading-title{font-size:33px!important}.gg-servicegrid{grid-template-columns:1fr}.gg-contacttitle .elementor-heading-title{font-size:32px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body.gg-portfolio .gg-intro{max-width:530px!important}body.gg-portfolio .gg-dialog button,body.gg-portfolio .gg-dialog button:focus{background:transparent;color:var(--gg-ink)}body.gg-portfolio .gg-dialog button:hover{background:#153b30;color:var(--gg-lime);border-color:var(--gg-lime)}

.gg-herotop>.elementor-widget,.gg-herorule>.elementor-widget{width:auto!important}
/* Graphique G logo and motion */
body.gg-portfolio .gg-brand{width:190px!important;flex-shrink:0}
.gg-brand img{display:block;width:190px!important;height:50px!important;object-fit:contain}
.gg-brand a{display:inline-block;transition:opacity .25s,transform .35s}
.gg-brand a:hover{opacity:.86;transform:translateY(-2px)}
.gg-hero{isolation:isolate}
.gg-hero::before{content:'';position:absolute;top:115px;right:0;width:52%;height:430px;background:radial-gradient(ellipse,rgba(34,166,118,.13),transparent 70%);z-index:-1;pointer-events:none}
.gg-motion .gg-hero::before{animation:gg-ambient 9s ease-in-out infinite alternate}
.gg-motion .gg-header .gg-brand{animation:gg-enter .7s cubic-bezier(.22,1,.36,1) both}
.gg-motion .gg-herotop{animation:gg-enter .8s cubic-bezier(.22,1,.36,1) .1s both}
.gg-motion .gg-title{animation:gg-enter 1s cubic-bezier(.22,1,.36,1) .18s both}
.gg-motion .gg-herosub{animation:gg-enter 1s cubic-bezier(.22,1,.36,1) .32s both}
.gg-motion .gg-intro{animation:gg-enter .9s cubic-bezier(.22,1,.36,1) .43s both}
.gg-motion .gg-heroactions{animation:gg-enter .9s cubic-bezier(.22,1,.36,1) .53s both}
.gg-motion .gg-portraitblock{animation:gg-enter 1s cubic-bezier(.22,1,.36,1) .4s both}
.gg-motion .gg-portrait{animation:gg-float 7s ease-in-out 1.5s infinite}
.gg-motion .gg-reveal{opacity:0;transform:translateY(26px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);transition-delay:var(--gg-reveal-delay,0ms)}
.gg-motion .gg-reveal.gg-in-view{opacity:1;transform:translateY(0)}
.gg-navlink a{position:relative}
.gg-navlink a::after{content:'';height:1px;position:absolute;bottom:-7px;left:0;right:0;background:var(--gg-lime);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.gg-navlink a:hover::after,.gg-navlink a:focus-visible::after{transform:scaleX(1)}
.gg-filter a{transition:background .25s,color .25s,transform .25s}
.gg-filter a:hover{transform:translateY(-2px)}
.gg-card .gg-cardtitle .elementor-heading-title{transition:color .3s}
.gg-card:hover .gg-cardtitle .elementor-heading-title{color:var(--gg-lime)}
.gg-card:hover .gg-cardimage img{transform:scale(1.04)}
.gg-motion .gg-dialog[open]{animation:gg-dialog-enter .28s cubic-bezier(.22,1,.36,1)}
@keyframes gg-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes gg-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes gg-ambient{from{opacity:.5;transform:translate(-15px,0) scale(.94)}to{opacity:1;transform:translate(20px,18px) scale(1.06)}}
@keyframes gg-dialog-enter{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){body.gg-portfolio .gg-brand{width:155px!important}.gg-brand img{width:155px!important;height:41px!important}.gg-hero::before{top:110px;width:90%;height:340px}.gg-navlinks{top:80px}}
@media(prefers-reduced-motion:reduce){.gg-reveal{opacity:1!important;transform:none!important}.gg-hero::before{transform:none!important}.gg-brand a:hover,.gg-filter a:hover,.gg-card:hover .gg-cardimage img{transform:none!important}}
/* Background pattern: open curves, parallel lines and dots echo the Graphique G mark. */
body.gg-portfolio{isolation:isolate;position:relative}
body.gg-portfolio::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22280%22%20height%3D%22280%22%20viewBox%3D%220%200%20280%20280%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%236b9066%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.6%22%3E%3Cpath%20d%3D%22M142%2044h-30a46%2046%200%201%200%200%2092h30M142%2053h-30a37%2037%200%201%200%200%2074h30M142%2062h-30a28%2028%200%201%200%200%2056h30%22%2F%3E%3Cpath%20d%3D%22M119%2085h49m-49%209h49m-49%209h49%22%2F%3E%3Cpath%20d%3D%22M204%20178v-18a27%2027%200%200%200-54%200v18m63%200v-18a36%2036%200%200%200-72%200v18m81%200v-18a45%2045%200%200%200-90%200v18%22%20transform%3D%22translate%2834%2060%29%22%2F%3E%3Cpath%20d%3D%22M29%20207h37m-37%207h37m-37%207h37%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23b8dc72%22%20opacity%3D%22.5%22%3E%3Ccircle%20cx%3D%22164%22%20cy%3D%2262%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2288%22%20cy%3D%22215%22%20r%3D%221.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-size:280px 280px;background-position:40px 15px;opacity:.42;mask-image:linear-gradient(110deg,rgba(0,0,0,.16),rgba(0,0,0,.7) 58%,#000);-webkit-mask-image:linear-gradient(110deg,rgba(0,0,0,.16),rgba(0,0,0,.7) 58%,#000)}
@media(max-width:700px){body.gg-portfolio::before{background-size:210px 210px;background-position:15px 0;opacity:.28;mask-image:linear-gradient(105deg,rgba(0,0,0,.3),#000);-webkit-mask-image:linear-gradient(105deg,rgba(0,0,0,.3),#000)}}
/* Portfolio refinement: project-led hero, clearer services and working method. */
.gg-hero{padding-top:30px!important}
.gg-herobottom{display:grid!important;grid-template-columns:1.04fr 1fr;gap:54px!important;align-items:center;margin-top:38px}
.gg-herocopy{width:100%!important;gap:22px!important}
.gg-title{margin-top:0!important}
.gg-title .elementor-heading-title{font-size:clamp(54px,5.7vw,88px)!important;line-height:1.07!important;letter-spacing:-.055em!important}
.gg-herosub .elementor-heading-title{font-size:25px!important;line-height:1.25!important;letter-spacing:-.025em!important}
.gg-intro{font-size:17px;line-height:1.75;max-width:510px!important}
.gg-herospecialties{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--gg-muted);padding-top:12px!important}
.gg-showcase{width:100%!important;border:1px solid rgba(195,244,100,.23);border-radius:20px;background:linear-gradient(135deg,#123b30,#0a2420);padding:17px!important;gap:16px!important;box-shadow:0 25px 65px #0003;overflow:hidden}
.gg-showcasetop{display:flex!important;flex-direction:row!important;justify-content:space-between;gap:12px!important}
.gg-showcasetop .elementor-widget{width:auto!important}.gg-showcasetop .gg-small{font-size:10px;letter-spacing:.13em}
.gg-showcaseimage{overflow:hidden;border-radius:10px;background:#004b3b}
.gg-showcaseimage img{display:block;width:100%!important;height:auto!important;aspect-ratio:1.43;object-fit:cover;transition:transform .6s}
.gg-showcase:hover .gg-showcaseimage img{transform:scale(1.025)}
.gg-showcasebottom{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;gap:20px!important}
.gg-showcase .gg-portraitblock{width:auto!important;position:static!important;display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;margin-right:0!important}
.gg-showcase .gg-portrait,.gg-showcase .gg-portrait img{width:52px!important;height:52px!important}
.gg-showcase .gg-portrait{flex-shrink:0}.gg-showcase .gg-portrait img{border-radius:50%;object-position:center 35%}
.gg-showcase .gg-portraitcaption{display:block!important;text-align:left;font-size:11px;line-height:1.65;width:auto!important}
.gg-portraitcaption strong{color:var(--gg-ink);font-size:12px;font-weight:500}
.gg-showcaselink{position:static!important;width:auto!important;max-width:140px}
.gg-showcaselink a{font-size:11px!important;line-height:1.6!important}
.gg-motion .gg-showcase{animation:gg-enter 1s cubic-bezier(.22,1,.36,1) .32s both}
.gg-showcase .gg-portrait{animation:none!important}
.gg-herorule{margin-top:40px;padding-bottom:6px!important}
.gg-work{padding-top:82px!important}
.gg-cardtag{padding-right:0!important}.gg-projectscope{font-size:12px;color:var(--gg-muted);line-height:1.7}
.gg-card .gg-projectopen{position:static!important;align-self:flex-start;width:auto!important;margin-top:8px!important}
.gg-card .gg-projectopen a{font-size:13px!important}
.gg-servicegrid{gap:18px!important}
.gg-service:not(.gg-step){padding:26px 23px!important;border:1px solid var(--gg-line);border-radius:14px;background:linear-gradient(150deg,rgba(30,73,57,.55),rgba(9,27,24,.8));gap:20px!important;transition:border-color .3s}
.gg-service:not(.gg-step):hover{border-color:rgba(195,244,100,.6)}
.gg-service h3{font-size:21px!important;line-height:1.3!important}
.gg-servicenumber{width:38px!important;height:38px;border:1px solid rgba(195,244,100,.4);border-radius:50%;display:grid;place-items:center;font-size:12px}
body.gg-portfolio .gg-process{background:#e7eee1;color:#10251b;border-radius:22px;padding:48px!important;margin-bottom:76px!important;gap:40px!important}
.gg-process .gg-eyebrow{font-size:11px!important;letter-spacing:.14em}
.gg-process .gg-sectionheading .elementor-heading-title{font-size:42px!important;line-height:1.17!important}
.gg-process .gg-sectionnote{color:#496351;font-size:14px}
.gg-processgrid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:34px!important}
.gg-step{border-top:1px solid #b7c8b5;padding-top:24px!important;gap:18px!important}
.gg-stepnumber{font-size:12px;font-weight:600;color:#3e654b}
.gg-process .gg-step .elementor-widget-text-editor:last-child{color:#496351;font-size:15px!important;line-height:1.75}
.gg-process .gg-step h3{font-size:22px!important}
.gg-contactintro{max-width:630px!important;font-size:17px;line-height:1.75;color:var(--gg-muted)}
.gg-contactbottom{padding:26px!important;border:1px solid var(--gg-line);border-radius:16px;background:rgba(22,62,47,.48);width:100%}
@media(min-width:1550px){.gg-title .elementor-heading-title{font-size:90px!important}}
@media(max-width:1100px) and (min-width:701px){.gg-herobottom{gap:30px!important}.gg-title .elementor-heading-title{font-size:clamp(46px,5.4vw,65px)!important}.gg-heroactions{flex-wrap:wrap;gap:18px!important}.gg-showcasebottom{flex-wrap:wrap;gap:12px!important}.gg-showcaselink{max-width:none}.gg-process .gg-sectionhead{align-items:flex-start;gap:22px!important}.gg-process .gg-sectionheading .elementor-heading-title{font-size:34px!important}.gg-process .gg-sectionnote{display:none}.gg-processgrid{gap:22px!important}}
@media(max-width:700px){.gg-hero{padding-top:25px!important}.gg-herotop{align-items:flex-start}.gg-location{display:block;font-size:9px;letter-spacing:.06em;white-space:nowrap}.gg-herotop .gg-eyebrow{font-size:9px!important;letter-spacing:.08em}.gg-herobottom{grid-template-columns:1fr;gap:34px!important;margin-top:30px}.gg-title .elementor-heading-title{font-size:clamp(39px,10.6vw,66px)!important;line-height:1.06!important}.gg-herosub{min-height:0;padding-right:0!important}.gg-herosub .elementor-heading-title{font-size:21px!important;line-height:1.35!important}.gg-herocopy{gap:20px!important}.gg-intro{font-size:16px;line-height:1.75}.gg-herospecialties{font-size:10px;letter-spacing:.1em;padding-top:3px!important}.gg-showcase{padding:13px!important;border-radius:15px}.gg-showcase .gg-portrait,.gg-showcase .gg-portrait img{width:44px!important;height:44px!important}.gg-showcase .gg-portraitblock{gap:9px!important}.gg-showcase .gg-portraitcaption{font-size:10px}.gg-portraitcaption strong{font-size:11px}.gg-showcaselink{max-width:104px}.gg-showcaselink a{font-size:10px!important}.gg-herorule{margin-top:30px;align-items:flex-start;gap:20px!important}.gg-herorule .gg-small{font-size:9px;letter-spacing:.04em}.gg-work{padding-top:60px!important}.gg-servicegrid{gap:16px!important}.gg-service:not(.gg-step){padding:22px 20px!important}.gg-service h3{font-size:20px!important}body.gg-portfolio .gg-process{padding:28px 23px!important;border-radius:16px;margin-bottom:50px!important;gap:28px!important}.gg-process .gg-sectionheading .elementor-heading-title{font-size:29px!important}.gg-process .gg-sectionnote{margin-top:18px;font-size:14px}.gg-processgrid{grid-template-columns:1fr;gap:25px!important}.gg-step{gap:14px!important;padding-top:22px!important}.gg-process .gg-step h3{font-size:21px!important}.gg-contactintro{font-size:16px}.gg-contactbottom{padding:23px 20px!important;gap:25px!important;margin-top:8px!important}.gg-footer .gg-small{font-size:9px;line-height:1.8}}
@media(max-width:360px){.gg-showcasebottom{flex-wrap:wrap;gap:13px!important}.gg-showcaselink{max-width:none}.gg-showcaselink a{font-size:11px!important}.gg-servicegrid{grid-template-columns:1fr}.gg-title .elementor-heading-title{font-size:37px!important}.gg-herotop .gg-eyebrow{max-width:145px!important}.gg-herorule{flex-direction:column!important;gap:7px!important}}
@media(prefers-reduced-motion:reduce){.gg-showcase:hover .gg-showcaseimage img{transform:none!important}}
@media(max-width:700px){.gg-herotop{flex-direction:column!important;align-items:flex-start;gap:6px!important}.gg-herotop .gg-eyebrow{max-width:none!important}.gg-herotop .gg-location{font-size:9px}}
/* Personal opening: visible portrait, signature typography and a real project preview. */
.gg-herobottom{grid-template-columns:1.42fr 1fr;gap:58px!important;margin-top:32px;align-items:center}
.gg-herocopy{gap:22px!important}
.gg-title .elementor-heading-title{font-size:clamp(92px,9vw,132px)!important;line-height:.88!important;letter-spacing:-.06em!important}
.gg-name-accent{display:inline-block;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.055em;color:var(--gg-lime);line-height:1.04}
.gg-herosub .elementor-heading-title{font-size:24px!important;letter-spacing:-.02em!important;line-height:1.25!important}
.gg-herosub br{display:none}.gg-herosub br::after{content:' '}
.gg-intro{max-width:475px!important;font-size:17px;line-height:1.8}
.gg-herospecialties p{display:flex;flex-wrap:wrap;gap:9px!important}
.gg-herospecialties span{border:1px solid rgba(195,244,100,.26);border-radius:999px;padding:7px 12px;letter-spacing:.06em;font-size:10px;color:#c6d4cc;line-height:1.3}
.gg-personalvisual{position:relative;width:100%!important;min-height:550px;display:flex!important;align-items:center;justify-content:center;isolation:isolate}
.gg-personalvisual::before{content:'';position:absolute;inset:23px -7px 20px 28px;border:1px solid rgba(195,244,100,.24);border-radius:230px 230px 100px 100px;transform:rotate(9deg);z-index:-1;pointer-events:none}
.gg-personalvisual::after{content:'✳';position:absolute;top:28px;right:5px;font-family:Georgia,serif;font-size:74px;line-height:1;color:var(--gg-lime);transform:rotate(-12deg);pointer-events:none;z-index:2}
.gg-personalphoto{width:350px!important;max-width:100%;border-radius:180px 180px 26px 26px;overflow:hidden;border:1px solid rgba(195,244,100,.36);box-shadow:0 26px 60px #0004}
.gg-personalphoto img{display:block;width:100%!important;height:535px!important;object-fit:cover;object-position:50% 44%;border:0}
.gg-personalcaption{position:absolute!important;left:0;bottom:48px;z-index:3;width:auto!important;background:#e7eee1;color:#183020;font-size:14px;line-height:1.55;padding:12px 20px!important;border-radius:8px;transform:rotate(-5deg);box-shadow:0 10px 22px #0003}
.gg-personalcaption strong{font-weight:600;font-size:17px}
.gg-projectteaser{position:absolute!important;right:-4px;bottom:0;width:176px!important;background:#12382d;border:1px solid rgba(195,244,100,.38);padding:8px!important;gap:8px!important;border-radius:11px;z-index:4;box-shadow:0 14px 35px #0005;transform:rotate(4deg)}
.gg-teaserimage{width:100%;overflow:hidden;border-radius:6px}
.gg-teaserimage img{display:block;width:100%!important;height:107px!important;object-fit:cover}
.gg-teaserlink{position:static!important;width:100%!important;margin:0!important}
.gg-teaserlink a{font-size:11px!important;line-height:1.55!important;padding:2px 0 3px!important;border:0!important}
.gg-motion .gg-personalphoto{animation:gg-enter 1s cubic-bezier(.22,1,.36,1) .2s both,gg-float 8s ease-in-out 1.4s infinite}
.gg-motion .gg-projectteaser{animation:gg-teaser-enter 1s cubic-bezier(.22,1,.36,1) .5s both}
@keyframes gg-teaser-enter{from{opacity:0;transform:translateY(18px) rotate(4deg)}to{opacity:1;transform:translateY(0) rotate(4deg)}}
@media(min-width:1550px){.gg-title .elementor-heading-title{font-size:140px!important}}
@media(max-width:1100px) and (min-width:701px){.gg-herobottom{grid-template-columns:1.24fr 1fr;gap:32px!important}.gg-title .elementor-heading-title{font-size:clamp(74px,8.8vw,102px)!important}.gg-personalvisual{min-height:490px}.gg-personalphoto{width:290px!important}.gg-personalphoto img{height:465px!important}.gg-personalcaption{left:-8px;bottom:53px;font-size:12px;padding:10px 16px!important}.gg-personalcaption strong{font-size:14px}.gg-projectteaser{width:148px!important;right:-4px}.gg-teaserimage img{height:89px!important}.gg-personalvisual::after{font-size:56px;right:-4px}.gg-herosub .elementor-heading-title{font-size:22px!important}}
@media(max-width:700px){.gg-herobottom{grid-template-columns:1.04fr 1fr;grid-template-areas:'title title' 'role portrait' 'intro intro' 'actions actions' 'chips chips';gap:23px 21px!important;margin-top:28px;align-items:center}.gg-herocopy{display:contents!important}.gg-title{grid-area:title;animation:none!important}.gg-title .elementor-heading-title{font-size:clamp(66px,18vw,108px)!important;line-height:.92!important}.gg-name-accent{line-height:1.05}.gg-herosub{grid-area:role;padding-right:0!important;min-height:0;animation:none!important;align-self:center}.gg-herosub .elementor-heading-title{font-size:24px!important;line-height:1.25!important}.gg-herosub br{display:block}.gg-personalvisual{grid-area:portrait;min-height:0;align-self:start}.gg-personalphoto{width:100%!important;border-radius:110px 110px 16px 16px}.gg-personalphoto img{height:235px!important;object-position:50% 39%}.gg-personalvisual::before{inset:12px -3px 5px 5px;border-radius:100px 100px 45px 45px;transform:rotate(7deg)}.gg-personalvisual::after{font-size:37px;top:10px;right:-5px}.gg-personalcaption{left:-19px;bottom:-7px;padding:7px 10px!important;font-size:9px;line-height:1.5;border-radius:5px}.gg-personalcaption strong{font-size:11px}.gg-projectteaser{display:none!important}.gg-intro{grid-area:intro;font-size:15px;line-height:1.75;margin-top:5px;animation:none!important}.gg-heroactions{grid-area:actions;gap:17px!important;margin-top:0;animation:none!important}.gg-herospecialties{grid-area:chips;padding-top:0!important}.gg-herospecialties span{font-size:9px;padding:6px 10px}.gg-herorule{margin-top:27px}.gg-work{padding-top:58px!important}}
@media(max-width:360px){.gg-title .elementor-heading-title{font-size:62px!important}.gg-personalphoto img{height:209px!important}.gg-herosub .elementor-heading-title{font-size:22px!important}.gg-herobottom{gap:23px 15px!important}.gg-personalvisual::after{font-size:31px}.gg-herorule{flex-direction:column!important;gap:7px!important}}
@media(prefers-reduced-motion:reduce){.gg-personalphoto,.gg-projectteaser{animation:none!important}}

@media(max-width:1100px) and (min-width:701px){.gg-personalvisual::before{inset:20px 12px 16px 3px}}
.gg-personalvisual::before{width:auto!important;height:auto!important}
.gg-card .gg-cardtitle .elementor-heading-title{font-family:Georgia,'Times New Roman',serif;font-weight:400!important;font-size:35px!important;letter-spacing:-.035em!important}
.gg-cardnumber{font-family:Georgia,'Times New Roman',serif;font-size:24px;color:var(--gg-lime);line-height:1.2}
.gg-cardimage{border:1px solid rgba(195,244,100,.17)}
@media(max-width:700px){.gg-card .gg-cardtitle .elementor-heading-title{font-size:31px!important}.gg-cardnumber{font-size:22px}}
@media(max-width:700px){.gg-herobottom{grid-template-columns:.8fr 1.2fr}}
@media(max-width:700px){.gg-herosub .elementor-heading-title{font-size:22px!important}}
@media(max-width:360px){.gg-herosub .elementor-heading-title{font-size:19px!important}}
/* Artwork-led project gallery */
.gg-work .gg-sectionhead{align-items:flex-end;gap:30px!important}
.gg-work .gg-sectiontitle{gap:18px!important}
.gg-work .gg-sectionheading .elementor-heading-title{font-size:clamp(40px,5vw,68px)!important;letter-spacing:-.045em!important}
.gg-work .gg-sectionnote{font-size:16px;margin:0!important}
.gg-browsebar{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:24px!important;border-bottom:1px solid var(--gg-line);margin-top:38px;padding-bottom:6px!important}
.gg-work .gg-filters{margin:0!important;gap:27px!important;flex:1;min-width:0;width:auto!important}
.gg-work .gg-filter a{border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:13px 0 15px!important;font-size:14px!important;color:var(--gg-muted);background:transparent!important}
.gg-work .gg-filter a[aria-pressed=true]{background:transparent!important;color:var(--gg-lime)!important;border-bottom-color:var(--gg-lime)!important}
.gg-work .gg-filter a:hover{color:var(--gg-ink);transform:none}
.gg-work .gg-resultcount{font-size:13px;white-space:nowrap;width:auto!important;margin:0!important}
.gg-work .gg-projectgrid{grid-template-columns:repeat(12,minmax(0,1fr));gap:70px 42px!important;margin-top:38px;align-items:start}
.gg-work .gg-card{display:flex!important;flex-direction:column!important;padding:0!important;border:0;gap:17px!important;grid-column:span 6;overflow:visible}
.gg-work .gg-card:nth-child(4n+1){grid-column:span 7}
.gg-work .gg-card:nth-child(4n+2){grid-column:span 5;margin-top:110px!important}
.gg-work .gg-card:nth-child(4n+3){grid-column:span 5}
.gg-work .gg-card:nth-child(4n+4){grid-column:span 7;margin-top:110px!important}
.gg-work .gg-card:last-child{grid-column:3 / span 8;margin-top:0!important}
.gg-work .gg-card[hidden]{display:none!important}
.gg-work .gg-cardimage{aspect-ratio:auto;border:0!important;border-radius:4px!important;background:transparent;overflow:hidden}
.gg-cardimage .elementor-widget-container,.gg-cardimage a{display:block;width:100%;height:auto!important}
.gg-work .gg-cardimage img{height:auto!important;aspect-ratio:auto;object-fit:contain;border-radius:4px;transition:transform .65s cubic-bezier(.22,1,.36,1),filter .4s}
.gg-work .gg-card:hover .gg-cardimage img{transform:scale(1.018);filter:brightness(1.035)}
.gg-cardcaption{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:18px!important}
.gg-cardidentity{width:auto!important;flex:1;gap:6px!important}
.gg-work .gg-card .gg-cardtitle .elementor-heading-title{font-family:'Manrope',sans-serif!important;font-size:clamp(22px,2.2vw,30px)!important;font-weight:600!important;letter-spacing:-.04em!important;line-height:1.25!important}
.gg-work .gg-cardcategory{font-size:14px;line-height:1.5;color:var(--gg-muted)}
.gg-work .gg-card .gg-projectopen{position:static!important;align-self:center;width:auto!important;flex-shrink:0;margin:0!important}
.gg-work .gg-projectopen a{font-size:13px!important;padding:8px 0!important;border-bottom:1px solid var(--gg-line)!important;white-space:nowrap}
.gg-work .gg-projectgrid.gg-filtered .gg-card{grid-column:span 6;margin:0!important}
.gg-work .gg-projectgrid[data-count='1'] .gg-card{grid-column:2 / span 10;margin:0!important}
/* Project details: the artwork comes before the explanation. */
.gg-dialog{width:min(1200px,calc(100% - 60px));max-height:92dvh;padding:30px;border:1px solid var(--gg-line);border-radius:8px;background:#0b211c}
.gg-dialog[open]{display:grid;grid-template-columns:1.45fr 1fr;gap:24px 40px}
.gg-dialoghead{grid-column:1/-1;grid-row:1;margin:0;position:sticky;top:-30px;z-index:2;background:#0b211cf2;padding-block:10px;backdrop-filter:blur(12px)}
.gg-dialoghead p{font-size:14px!important}
.gg-dialog h2{grid-column:1/-1;grid-row:2;font-size:clamp(32px,4vw,54px);margin:0!important;letter-spacing:-.045em}
.gg-gallery{grid-column:1/-1;grid-row:3;gap:24px}
.gg-gallery img{border-radius:4px}
.gg-dialog #gg-dialog-desc{grid-column:1;grid-row:4;max-width:none;margin:6px 0 0;font-size:16px}
.gg-dialog #gg-dialog-deliver{grid-column:2;grid-row:4;line-height:1.8;margin:6px 0 0;padding:0 0 0 24px;border-top:0;border-left:1px solid var(--gg-line)}
.gg-dialogfooter{grid-column:1/-1;grid-row:5;margin-top:0;padding-top:20px}
@media(max-width:1024px) and (min-width:701px){.gg-work .gg-projectgrid{gap:54px 28px!important}.gg-work .gg-card:nth-child(4n+2),.gg-work .gg-card:nth-child(4n+4){margin-top:75px!important}.gg-cardcaption{flex-wrap:wrap;gap:10px!important}.gg-cardidentity{flex-basis:100%}.gg-work .gg-card .gg-projectopen{align-self:flex-start}.gg-work .gg-filters{gap:19px!important}.gg-work .gg-sectionnote{font-size:14px}}
@media(max-width:700px){.gg-work .gg-sectionheading .elementor-heading-title{font-size:43px!important}.gg-work .gg-sectionnote{font-size:15px;margin-top:16px!important}.gg-browsebar{margin-top:25px;display:block!important;padding-bottom:0!important}.gg-work .gg-filters{gap:0 19px!important;flex-wrap:wrap}.gg-work .gg-filter a{font-size:14px!important;padding:11px 0 12px!important}.gg-work .gg-resultcount{padding:13px 0!important;font-size:12px}.gg-work .gg-projectgrid{display:flex!important;flex-direction:column!important;gap:35px!important;margin-top:25px}.gg-work .gg-card:nth-child(n),.gg-work .gg-projectgrid.gg-filtered .gg-card{margin:0!important;gap:14px!important}.gg-work .gg-card .gg-cardtitle .elementor-heading-title{font-size:24px!important}.gg-work .gg-cardcategory{font-size:13px}.gg-work .gg-card .gg-projectopen a{font-size:12px!important}.gg-cardcaption{align-items:flex-start;gap:12px!important}.gg-cardidentity{min-width:0}.gg-work .gg-card .gg-projectopen{align-self:center}.gg-dialog{width:calc(100% - 20px);max-height:94dvh;padding:16px;border-radius:6px}.gg-dialog[open]{grid-template-columns:1fr;gap:20px}.gg-dialoghead{top:-16px;padding-block:8px}.gg-dialoghead p{font-size:12px!important;max-width:65%;line-height:1.5}.gg-dialog h2{font-size:32px;line-height:1.2}.gg-dialog #gg-dialog-desc{grid-column:1;grid-row:4;margin:0;font-size:15px}.gg-dialog #gg-dialog-deliver{grid-column:1;grid-row:5;margin:0;padding:14px 0 0;border-left:0;border-top:1px solid var(--gg-line);font-size:13px}.gg-dialogfooter{grid-row:6;padding-top:16px}.gg-gallery{gap:16px}.gg-dialogfooter button{font-size:12px!important}.gg-close{padding:7px 12px}}
@media(max-width:360px){.gg-work .gg-sectionheading .elementor-heading-title{font-size:37px!important}.gg-cardcaption{flex-wrap:wrap;gap:8px!important}.gg-cardidentity{flex-basis:100%}.gg-work .gg-card .gg-projectopen{align-self:flex-start}.gg-work .gg-card .gg-cardtitle .elementor-heading-title{font-size:23px!important}}




