.gf-portfolio-page{background:#f6f9fc;color:#102f52}.gf-portfolio-hero{padding:72px 0 70px;background:linear-gradient(120deg,#eaf5ff,#fff 64%)}.gf-portfolio-hero .container{max-width:1040px;text-align:center}.gf-portfolio-hero h1{margin:13px auto;color:#0b3158;font-size:clamp(2.45rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.06em}.gf-portfolio-hero p{max-width:650px;margin:auto;color:#5e7a95;font-size:1rem;line-height:1.7}.gf-portfolio-work{padding:64px 0 82px}.gf-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gf-portfolio-card{overflow:hidden;border:1px solid #dce8f3;border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(16,57,94,.055);transition:transform .22s,box-shadow .22s}.gf-portfolio-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(16,57,94,.12)}.gf-portfolio-card img{display:block;width:100%;height:230px;object-fit:cover;background:#f2f7fb}.gf-portfolio-card-body{padding:20px}.gf-portfolio-card .section-kicker{font-size:.64rem}.gf-portfolio-card h2{margin:9px 0 8px;color:#11375c;font-size:1.2rem;line-height:1.25}.gf-portfolio-card p{margin:0;color:#6a8298;font-size:.84rem;line-height:1.65}.gf-portfolio-empty{padding:48px;border:1px dashed #bdd4e7;border-radius:16px;background:#fff;text-align:center;color:#628099}@media(max-width:900px){.gf-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.gf-portfolio-hero{padding:48px 0}.gf-portfolio-work{padding:42px 0 58px}.gf-portfolio-grid{grid-template-columns:1fr}.gf-portfolio-card img{height:220px}}
.gf-portfolio-image-button{position:relative;display:block;width:100%;padding:0;border:0;background:#edf4fa;cursor:zoom-in;overflow:hidden}.gf-portfolio-image-button img{transition:transform .28s ease,filter .28s ease}.gf-portfolio-image-button:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(6,38,70,.45));opacity:0;transition:opacity .22s}.gf-portfolio-image-button span{position:absolute;z-index:1;right:14px;bottom:13px;display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#124c7e;font-size:.72rem;font-weight:700;opacity:0;transform:translateY(5px);transition:opacity .22s,transform .22s}.gf-portfolio-image-button span:before{content:"⌕";font-size:1rem;line-height:.7}.gf-portfolio-image-button:hover img,.gf-portfolio-image-button:focus-visible img{transform:scale(1.045);filter:saturate(1.06)}.gf-portfolio-image-button:hover:after,.gf-portfolio-image-button:focus-visible:after,.gf-portfolio-image-button:hover span,.gf-portfolio-image-button:focus-visible span{opacity:1}.gf-portfolio-image-button:hover span,.gf-portfolio-image-button:focus-visible span{transform:none}.gf-portfolio-image-button:focus-visible{outline:3px solid #1385d5;outline-offset:-3px}.gf-portfolio-lightbox[hidden]{display:none!important}.gf-portfolio-lightbox{position:fixed;z-index:2147483647;inset:0;display:grid;place-items:center;padding:26px;background:rgba(3,22,40,.86);backdrop-filter:blur(5px);cursor:zoom-out}.gf-portfolio-lightbox img{display:block;max-width:min(1120px,calc(100vw - 48px));max-height:calc(100dvh - 100px);border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.45);object-fit:contain;cursor:default}.gf-portfolio-lightbox p{position:absolute;bottom:20px;left:50%;max-width:calc(100vw - 100px);margin:0;transform:translateX(-50%);color:#fff;font-size:.86rem;font-weight:600;text-align:center}.gf-portfolio-lightbox-close{position:absolute;z-index:1;top:18px;right:20px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#123d63;font-size:1.8rem;line-height:1;cursor:pointer}.gf-portfolio-lightbox-close:hover{background:#eaf5ff;color:#0878cf}@media(max-width:620px){.gf-portfolio-image-button span{opacity:1;transform:none}.gf-portfolio-lightbox{padding:16px}.gf-portfolio-lightbox img{max-width:calc(100vw - 32px);max-height:calc(100dvh - 82px)}.gf-portfolio-lightbox-close{top:12px;right:12px;width:38px;height:38px}.gf-portfolio-lightbox p{bottom:13px;font-size:.76rem}}

/* Portfolio: clearer project presentation and a direct order path. */
.gf-portfolio-hero{padding:82px 0;background:linear-gradient(124deg,#e9f5ff 0%,#fff 58%,#f5faff 100%)}
.gf-portfolio-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.56fr);align-items:center;gap:70px;max-width:1160px!important;text-align:left!important}
.gf-portfolio-hero h1{max-width:680px;margin:13px 0 17px!important}.gf-portfolio-hero p{margin:0!important;text-align:left}.gf-portfolio-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.gf-portfolio-hero-actions .button{min-height:50px}.gf-portfolio-hero-note{display:grid;gap:9px;padding:28px;border:1px solid #d7e7f5;border-radius:18px;background:#fff;box-shadow:0 18px 44px rgba(15,64,107,.09)}.gf-portfolio-hero-note span{color:#0c79cc;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.gf-portfolio-hero-note strong{color:#123b62;font-size:1.4rem;line-height:1.2}.gf-portfolio-hero-note small{padding-top:13px;border-top:1px solid #e4edf5;color:#6d849a;font-size:.78rem}.gf-portfolio-work{padding:68px 0 78px}.gf-portfolio-work-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:30px}.gf-portfolio-work-head h2{margin:10px 0 0;color:#0b3158;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.13;letter-spacing:-.045em}.gf-portfolio-work-head p{max-width:420px;margin:0;color:#637d95;font-size:.9rem;line-height:1.65}.gf-portfolio-card{display:flex;flex-direction:column}.gf-portfolio-card-body{display:flex;flex:1;flex-direction:column}.gf-portfolio-card h2{font-size:1.25rem}.gf-portfolio-card p{margin-bottom:18px}.gf-portfolio-order-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid #e7eff6;color:#0875c9;font-size:.79rem;font-weight:700;text-decoration:none}.gf-portfolio-order-link b{font-size:1.15rem}.gf-portfolio-order-link:hover{color:#063f73}.gf-portfolio-placeholder{display:grid;place-items:center;height:230px;background:#edf4fa;color:#6d849a;font-size:.85rem}.gf-portfolio-cta{padding:64px 0;background:linear-gradient(120deg,#084981,#087fd2);color:#fff}.gf-portfolio-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}.gf-portfolio-cta .section-kicker{color:#a8dcff}.gf-portfolio-cta h2{margin:10px 0;color:#fff;font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.04em}.gf-portfolio-cta p{margin:0;color:#d9efff;font-size:.9rem}.gf-portfolio-cta .button-light{white-space:nowrap}
@media(max-width:900px){.gf-portfolio-hero-grid{grid-template-columns:1fr;gap:33px}.gf-portfolio-hero-note{max-width:520px}.gf-portfolio-work-head{align-items:start;flex-direction:column;gap:15px}.gf-portfolio-cta>.container{align-items:start;flex-direction:column}}
@media(max-width:620px){.gf-portfolio-hero{padding:54px 0}.gf-portfolio-hero-actions{display:grid;grid-template-columns:1fr}.gf-portfolio-hero-actions .button{justify-content:space-between}.gf-portfolio-hero-note{padding:22px}.gf-portfolio-work{padding:48px 0 56px}.gf-portfolio-cta{padding:48px 0}.gf-portfolio-cta .button{width:100%;justify-content:space-between}}
