@font-face{font-family:Poppins;src:url('assets/fonts/Poppins-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/fonts/Poppins-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{
  --gss-pink:#DC4D83;--gss-orange:#FF6F3B;--gss-blue:#276EA6;
  --gss-white:#fff;--gss-ink:#20242A;--gss-card:#F4F4F4;
  --gss-font:Poppins,Arial,sans-serif;--gss-radius-card:24px;--gss-radius-control:999px;
  --gss-content-width:1360px;--gss-gutter:clamp(20px,4.1vw,64px);
  --gss-header-height:112px;--gss-hero-focus:65% 50%;--gss-hero-focus-mobile:72% 50%;
}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--gss-header-height) + 24px)}
body{margin:0;background:var(--gss-white);color:var(--gss-ink);font-family:var(--gss-font);font-weight:400;font-synthesis:none}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit}
p{font-size:14px;line-height:1.5}
strong{font-weight:700}
:focus-visible{outline:3px solid currentColor;outline-offset:6px}
.skip-link{position:fixed;left:20px;top:12px;z-index:100;background:white;color:var(--gss-ink);padding:14px 20px;border-radius:8px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.gss-container{width:min(var(--gss-content-width),calc(100% - 2 * var(--gss-gutter)));margin-inline:auto}
.gss-header{position:fixed;inset:0 0 auto;z-index:20;color:white;transition:transform 240ms ease}
.gss-header__inner{max-width:1536px;margin:auto;min-height:var(--gss-header-height);padding:24px var(--gss-gutter);display:flex;align-items:center;justify-content:space-between;gap:32px}
.gss-logo{display:block;position:relative;flex:none;width:clamp(200px,16vw,260px);border-radius:2px}
.gss-logo img{display:block;width:100%;height:auto}
.gss-logo__dark{position:absolute;inset:0;opacity:0}
.gss-nav{display:flex;align-items:center;gap:clamp(18px,2vw,32px);font-size:15px}
.gss-nav>a:not(.gss-contact){position:relative;isolation:isolate;padding-block:12px;white-space:nowrap;border-radius:var(--gss-radius-control);transition:color 280ms ease}
.gss-nav>a:not(.gss-contact)::before{content:"";position:absolute;inset:0 -12px;border-radius:inherit;background:var(--gss-blue);opacity:0;transform:scale(.96);z-index:-1;transition:opacity 280ms ease,transform 280ms cubic-bezier(.2,.7,.2,1)}
.gss-nav>a:not(.gss-contact):hover,.gss-nav>a:not(.gss-contact):focus-visible{color:white;text-decoration:none;outline-color:var(--gss-blue)}
.gss-nav>a:not(.gss-contact):hover::before,.gss-nav>a:not(.gss-contact):focus-visible::before{opacity:1;transform:scale(1)}
.gss-contact{position:relative;isolation:isolate;border-radius:var(--gss-radius-control);background:var(--gss-pink);padding:12px 25px;color:white;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden;transition:background-color 320ms cubic-bezier(.2,.7,.2,1)}
.gss-contact::before{content:"";position:absolute;inset:0;background:#000;opacity:.12;z-index:-1;transition:opacity 320ms ease}
.gss-contact:hover,.gss-contact:focus-visible{background:var(--gss-orange);text-decoration:none}
.gss-contact:hover::before,.gss-contact:focus-visible::before{opacity:0}
.gss-header.is-solid,.gss-header.is-menu-open{background:white;color:var(--gss-ink);border-bottom:1px solid #20242a12}
.gss-header.is-solid .gss-logo__white,.gss-header.is-menu-open .gss-logo__white{opacity:0}
.gss-header.is-solid .gss-logo__dark,.gss-header.is-menu-open .gss-logo__dark{opacity:1}
.gss-header.is-hidden{transform:translateY(-105%)}
.gss-header:focus-within,.gss-header.is-menu-open{transform:none}
.gss-menu-toggle{display:none}
.gss-hero{position:relative;isolation:isolate;min-height:100svh;display:flex;align-items:center;color:white;padding:calc(var(--gss-header-height) + 64px) 0 170px}
.gss-hero__picture,.gss-hero__overlay{position:absolute;inset:0;z-index:-2}
.gss-hero__picture img{width:100%;height:100%;object-fit:cover;object-position:var(--gss-hero-focus)}
.gss-hero__overlay{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.59) 60%,rgba(0,0,0,.54))}
.gss-hero h1{font-size:clamp(3.5rem,6.5vw,5.5rem);font-weight:400;line-height:1.075;letter-spacing:-.04em;margin:0 0 30px}
.gss-hero h1>span{display:block;white-space:nowrap}
.gss-slogan-dot{font-weight:400}
.gss-hero p{max-width:620px;font-size:14px;line-height:1.5;margin:0 0 36px}
.gss-hero__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gss-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:44px;border-radius:var(--gss-radius-control);font-size:16px;transition:background-color 220ms ease}
.gss-button--primary{background:white;color:var(--gss-ink);padding:4px 5px 4px 24px;font-size:14px}
.gss-button--primary:hover{background:#f4f4f4}
.gss-arrow-circle{display:grid;place-items:center;width:38px;height:38px;overflow:hidden;border-radius:50%;flex:none;background:var(--gss-pink);color:white}
.gss-arrow-circle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.gss-image-note{position:absolute;left:var(--gss-gutter);bottom:40px;color:white;background:#0009;border-radius:5px;padding:7px 12px;font-size:12px;line-height:1.5}
/* Review 04: saturated surfaces, integrated icons, stronger visual scale. */
.gss-hero__content{position:relative;z-index:1}
.gss-hero__signet{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.gss-hero__signet img{position:absolute;width:560px;right:-140px;bottom:-210px;opacity:.25;transform:rotate(-12deg)}
.gss-quicklinks{position:absolute;right:var(--gss-gutter);bottom:40px;display:flex;gap:14px;z-index:2}
.gss-quicklink{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;width:240px;min-height:132px;padding:24px;border-radius:22px;color:white;font-size:14px;font-weight:700;line-height:1.5;transition:transform 300ms cubic-bezier(.2,.7,.2,1)}
.gss-quicklink--pink{background:var(--gss-pink)}
.gss-quicklink--orange{background:var(--gss-orange)}
.gss-quicklink--blue{background:var(--gss-blue)}
.gss-quicklink svg{position:absolute;top:18px;right:22px;width:40px;height:40px;fill:none;stroke:white;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.gss-quicklink span{align-self:flex-end;padding-top:32px}
.gss-quicklink:hover{transform:translateY(-8px)}
.gss-quicklink:focus-visible{outline-color:white}
.gss-intro{padding-block:120px 104px;text-align:center}
.gss-intro h2{font-size:clamp(2rem,2.5vw,2.5rem);font-weight:400;line-height:1.2;letter-spacing:-.035em;margin:0 auto;max-width:960px}
.gss-intro h2 span,.gss-intro h2 strong{display:block}
.gss-intro p{max-width:950px;margin:0 auto;font-size:14px;line-height:1.5;color:var(--gss-ink)}
.gss-collage{--gss-signet-mask:url('assets/logos/logo_signet_schwarz.svg');width:min(1600px,calc(100% - 2 * var(--gss-gutter)));padding-bottom:100px;overflow-x:clip}
/* Shared grid tracks create identical 32px gutters between adjacent photos. */
.gss-collage__composition{position:relative;aspect-ratio:1.5;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));gap:32px}
.gss-collage figure{position:relative;margin:0;min-width:0;min-height:0}
.gss-collage img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border-radius:20px}
.gss-collage__portrait{grid-column:1 / 4;grid-row:2 / 7}
.gss-collage__small{grid-column:4 / 6;grid-row:4 / 6}
.gss-collage__main{grid-column:6 / 11;grid-row:1 / 6}
.gss-collage__wide{grid-column:4 / 9;grid-row:6 / 10}
.gss-collage__detail{grid-column:9 / 11;grid-row:6 / 8}
.gss-collage__extra{grid-column:11 / 13;grid-row:5 / 7}
.gss-collage__extra img{object-position:70% 50%}
.gss-collage__accent{position:relative;display:block;margin:0;width:164px;aspect-ratio:1;border-radius:50%;background:var(--gss-pink);transition:transform 500ms cubic-bezier(.2,.7,.2,1);color:var(--gss-pink)}
.gss-collage__accent-shape{position:absolute;inset:23%;background:white;mask:var(--gss-signet-mask) center / contain no-repeat;-webkit-mask:var(--gss-signet-mask) center / contain no-repeat}
.gss-collage__accent:hover,.gss-collage__accent:focus-visible{transform:scale(1.12) rotate(-7deg)}
.gss-collage__note{margin:34px 0 0;color:#54585d;font-size:14px;line-height:1.5;text-align:center}
@media(min-width:1800px){.gss-header__inner{max-width:1660px}}
@media(min-width:768px) and (max-width:1000px){.gss-image-note{bottom:210px}.gss-quicklink{padding-inline:16px}}
@media(max-width:1199px){
  :root{--gss-header-height:96px}
  .gss-header__inner{padding-block:19px}
  .gss-menu-toggle:not([hidden]){display:flex;align-items:center;gap:13px;background:none;color:inherit;border:1px solid currentColor;min-height:48px;border-radius:999px;padding:10px 18px;cursor:pointer;font-size:15px}
  .gss-menu-toggle__lines{width:20px;height:12px;position:relative;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
  .gss-menu-toggle[aria-expanded="true"] .gss-menu-toggle__lines{border:0}
  .gss-menu-toggle[aria-expanded="true"] .gss-menu-toggle__lines::before,.gss-menu-toggle[aria-expanded="true"] .gss-menu-toggle__lines::after{content:"";position:absolute;left:0;top:5px;width:20px;border-top:1.5px solid;transform:rotate(45deg)}
  .gss-menu-toggle[aria-expanded="true"] .gss-menu-toggle__lines::after{transform:rotate(-45deg)}
  .js .gss-nav{display:none}
  .js .is-menu-open .gss-nav{display:flex;position:absolute;top:100%;left:0;width:100%;height:calc(100dvh - var(--gss-header-height));overflow-y:auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;background:white;color:var(--gss-ink);padding:22px var(--gss-gutter) 32px;font-size:15px}
  .is-menu-open .gss-nav>a{padding:14px 4px;min-height:52px}
  .is-menu-open .gss-nav .gss-contact{align-self:flex-start;padding:12px 25px;margin-top:12px}
  body.menu-open{overflow:hidden}
  .gss-quicklink{width:210px}
  .gss-hero{padding-bottom:240px}
  html:not(.js) .gss-header{position:absolute}
  html:not(.js) .gss-header__inner{align-items:flex-start;flex-wrap:wrap}
  html:not(.js) .gss-nav{flex-wrap:wrap;font-size:15px;gap:12px 20px}
  html:not(.js) .gss-hero{padding-top:260px}
}
@media(max-width:767px){
  :root{--gss-gutter:20px;--gss-header-height:88px}
  .gss-header__inner{gap:12px;padding-block:17px}
  .gss-logo{width:180px}
  .gss-menu-toggle:not([hidden]){padding:10px 13px;gap:9px;font-size:15px}
  .gss-hero{padding:calc(var(--gss-header-height) + 55px) 0 28px;min-height:100svh;flex-direction:column;align-items:stretch;justify-content:space-between}
  .gss-hero__picture img{object-position:var(--gss-hero-focus-mobile)}
  .gss-hero h1{font-size:clamp(2rem,10vw,3.9rem);letter-spacing:-.04em;line-height:1.12;margin-bottom:24px}
  .gss-hero p{font-size:14px;line-height:1.5;max-width:460px;margin-bottom:30px}
  .gss-hero__actions{align-items:flex-start;flex-direction:column;gap:14px}
  .gss-button{min-height:44px;font-size:14px;gap:14px}
  .gss-button--primary{padding:4px 5px 4px 24px;font-size:14px}
  .gss-arrow-circle{width:38px;height:38px}
  .gss-quicklinks{position:relative;right:auto;bottom:auto;align-self:stretch;gap:10px;margin:75px var(--gss-gutter) 50px;justify-content:flex-end}
  .gss-quicklink{width:calc((100% - 20px) / 3);min-width:0;min-height:126px;padding:20px 8px 17px;border-radius:18px;font-size:14px;justify-content:center}
  .gss-quicklink svg{width:34px;height:34px;top:18px;right:calc(50% - 17px)}
  .gss-quicklink span{padding-top:38px}
  .gss-hero__signet img{width:350px;right:-90px;bottom:-130px}
  .gss-image-note{bottom:20px;font-size:10px;padding:5px 8px}
  .gss-intro{padding-block:80px 64px}
  .gss-intro h2{margin-bottom:0}
  .gss-intro p{font-size:14px;line-height:1.5;max-width:460px}
  .gss-collage{padding-bottom:64px}
  .gss-collage__composition{aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:none;gap:20px;padding-top:0}
  .gss-collage figure{position:relative;left:auto;top:auto;width:100%;height:auto;min-width:0;min-height:0}
  .gss-collage img{height:100%;border-radius:14px}
  .gss-collage__main{grid-column:1 / -1;grid-row:1;aspect-ratio:4 / 3}
  .gss-collage__portrait{grid-column:1;grid-row:2;aspect-ratio:3 / 4}
  .gss-collage__small{grid-column:2;grid-row:2;aspect-ratio:3 / 4;align-self:stretch}
  .gss-collage__accent{width:128px;margin:0}
  .gss-collage__accent:hover,.gss-collage__accent:focus-visible{transform:scale(1.12) rotate(-7deg)}
  .gss-collage__wide{grid-column:1 / -1;grid-row:3;aspect-ratio:16 / 10}
  .gss-collage__detail{grid-column:1;grid-row:4;aspect-ratio:3 / 4}
  .gss-collage__extra{grid-column:2;grid-row:4;aspect-ratio:3 / 4;align-self:stretch}
  .gss-collage__note{font-size:14px;text-align:center;margin-top:24px}

}
@media(max-width:359px){.gss-logo{width:154px}.is-menu-open .gss-logo{width:126px}.gss-menu-toggle:not([hidden]){padding-inline:10px}.gss-button{font-size:14px;gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

@media(max-width:359px){.gss-quicklink{font-size:14px;padding-inline:5px}}
@media(prefers-reduced-motion:reduce){.gss-collage__accent:hover,.gss-collage__accent:focus-visible{transform:none}}
@media(max-width:767px) and (prefers-reduced-motion:reduce){.gss-collage__accent:hover,.gss-collage__accent:focus-visible{transform:none}}

/* Entrance follows fundaacps.org: shared anchor, once, staggered rise and sticker arrival. */
.gss-collage__sticker{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%)}
.gss-collage.is-reveal-ready figure{opacity:0;transform:translateY(20px);transition:transform .6s cubic-bezier(.37,.3,0,1),opacity .6s cubic-bezier(.37,.3,0,1)}
.gss-collage.is-reveal-ready .gss-collage__portrait{transition-delay:.06s}
.gss-collage.is-reveal-ready .gss-collage__small{transition-delay:.11s}
.gss-collage.is-reveal-ready .gss-collage__main{transition-delay:.16s}
.gss-collage.is-reveal-ready .gss-collage__wide{transition-delay:.21s}
.gss-collage.is-reveal-ready .gss-collage__detail{transition-delay:.26s}
.gss-collage.is-reveal-ready .gss-collage__extra{transition-delay:.31s}
.gss-collage.is-reveal-ready .gss-collage__sticker{opacity:0;transform:translate(-50%,-50%) translate(60px,-120px) scale(1.75) rotate(22.5deg);transition:transform .4s .2s cubic-bezier(.37,.3,0,1),opacity .4s .2s cubic-bezier(.37,.3,0,1)}
.gss-collage.is-revealed figure{opacity:1;transform:none}
.gss-collage.is-revealed .gss-collage__sticker{opacity:1;transform:translate(-50%,-50%)}
@media(prefers-reduced-motion:reduce){
  .gss-collage.is-reveal-ready figure{opacity:1;transform:none}
  .gss-collage.is-reveal-ready .gss-collage__sticker{opacity:1;transform:translate(-50%,-50%)}
}

/* Review 07: desktop shortcuts occupy at most half of the hero. */
@media(min-width:768px){
  .gss-quicklinks{width:min(50%,748px)}
  .gss-quicklink{flex:1;min-width:0;width:auto}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .gss-button--primary:hover .gss-arrow-circle svg{animation:gss-arrow-pass 480ms cubic-bezier(.2,.7,.2,1) 1}
}
@media(prefers-reduced-motion:no-preference){
  .gss-button--primary:focus-visible .gss-arrow-circle svg{animation:gss-arrow-pass 480ms cubic-bezier(.2,.7,.2,1) 1}
}
@keyframes gss-arrow-pass{
  0%{transform:translateX(0);opacity:1}
  40%{transform:translateX(24px);opacity:0}
  41%{transform:translateX(-24px);opacity:0}
  100%{transform:translateX(0);opacity:1}
}

/* Review 08: larger type and a shared alignment for logo and hero claim. */
:root{--gss-shell-width:1536px}
p{font-size:18px;line-height:1.5}
.gss-header__inner{max-width:var(--gss-shell-width)}
.gss-hero__content{width:min(100%,var(--gss-shell-width));padding-inline:var(--gss-gutter)}
.gss-logo{width:clamp(220px,18vw,280px)}
.gss-nav,.gss-contact{font-size:17px}
.gss-hero h1{font-size:clamp(3.5rem,7vw,6.25rem)}
.gss-hero p{font-size:18px;line-height:1.5}
.gss-button,.gss-button--primary{font-size:16px;min-height:56px}
.gss-button--primary{padding:6px 6px 6px 26px}
.gss-arrow-circle{width:44px;height:44px}
.gss-quicklink{min-height:150px;font-size:18px;padding:26px}
.gss-quicklink svg{width:38px;height:38px}
.gss-collage__portrait img{object-position:45% 30%}
.gss-collage__small img{object-position:90% 50%}
.gss-collage__extra img{object-position:45% 50%}
.gss-hero__slides{position:absolute;inset:0;z-index:-2;overflow:hidden}
.gss-hero__picture{z-index:auto;opacity:0;transition:opacity 1200ms ease}
.gss-hero__picture.is-active{opacity:1}
.gss-hero__picture img{object-position:var(--slide-focus,50% 50%)}
.gss-slider-controls{position:absolute;left:max(var(--gss-gutter),calc((100% - var(--gss-shell-width))/2 + var(--gss-gutter)));bottom:40px;display:flex;align-items:center;gap:12px;z-index:2}
.gss-slider-controls[hidden]{display:none}
.gss-slider-dots{display:flex}
.gss-slider-controls button{display:grid;place-items:center;background:transparent;border:0;color:white;cursor:pointer;width:36px;height:44px;padding:0}
.gss-slider-dots span{width:8px;height:8px;border:1px solid white;border-radius:50%;transition:background 200ms,width 200ms}
.gss-slider-dots [aria-current="true"] span{background:white;width:24px;border-radius:8px}
.gss-slider-controls .gss-slider-pause{width:44px;border:1px solid #ffffff80;border-radius:50%;font-size:18px;background:#0003}
.gss-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1800px){:root{--gss-shell-width:1660px}}
@media(min-width:768px){.gss-quicklinks{width:min(58%,840px);right:max(var(--gss-gutter),calc((100% - var(--gss-shell-width))/2 + var(--gss-gutter)))}}
@media(min-width:768px) and (max-width:1000px){.gss-quicklinks{width:54%}.gss-quicklink{padding:18px;font-size:16px}}
@media(max-width:1199px){.js .is-menu-open .gss-nav,html:not(.js) .gss-nav,.gss-menu-toggle:not([hidden]){font-size:17px}}
@media(max-width:767px){
  .gss-logo{width:200px}
  .gss-menu-toggle:not([hidden]){font-size:16px}
  .gss-hero{padding-top:calc(var(--gss-header-height) + 90px)}
  .gss-hero h1{font-size:clamp(2rem,10.5vw,4.2rem)}
  .gss-hero p{font-size:17px}
  .gss-quicklink{min-height:142px;font-size:16px;padding:22px 6px 20px}
  .gss-quicklink svg{width:32px;height:32px;right:calc(50% - 16px)}
  .gss-quicklinks{margin-bottom:24px}
  .gss-slider-controls{position:relative;left:auto;bottom:auto;margin:0 var(--gss-gutter);align-self:flex-start}
}
@media(max-width:359px){.gss-logo{width:166px}.gss-quicklink{font-size:14px}.gss-hero h1{font-size:10.2vw}.gss-button--primary{padding-left:20px;font-size:15px}}
