/*
 * primawo Kontakt landing page
 * Scoped to .prima-contact-page
 */
.prima-contact-page{
  --prima-contact-rail:min(1440px,calc(100% - 64px));
  width:100%;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
}
.prima-contact-page .prima-contact-content{width:100%;max-width:none!important;margin:0!important;padding:0!important}
.prima-contact-page .prima-section{width:100%!important;max-width:none!important;margin-inline:0!important;padding-block:clamp(76px,7vw,112px)}
.prima-contact-page .prima-section>.prima-container,
.prima-contact-hero__inner{width:var(--prima-contact-rail)!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
.prima-contact-page .prima-section--surface{background:#f6f8fb}
.prima-contact-page .prima-heading{max-width:930px;font-size:clamp(2.25rem,4vw,4.15rem);line-height:1.02;letter-spacing:-.045em}
.prima-contact-page .prima-lead{max-width:820px;font-size:1.04rem;line-height:1.72}
.prima-contact-kicker,.prima-contact-page .prima-kicker{margin:0 0 12px;color:var(--prima-magenta);font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}

/* Hero */
.prima-contact-hero{
  position:relative;
  overflow:hidden;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:
    radial-gradient(circle at 87% 18%,rgba(88,108,214,.26),transparent 29%),
    linear-gradient(135deg,#000537 0%,#101850 62%,#1d2870 100%);
  color:#fff;
  padding-block:clamp(76px,8vw,126px);
}
.prima-contact-hero:before{position:absolute;left:-185px;bottom:-290px;width:660px;height:660px;border:1px solid rgba(255,255,255,.055);border-radius:50%;box-shadow:0 0 0 96px rgba(255,255,255,.012),0 0 0 188px rgba(255,255,255,.006);content:"";pointer-events:none}
.prima-contact-hero:after{position:absolute;right:-2%;bottom:-52px;width:46%;height:112px;background:#fff;clip-path:polygon(0 100%,100% 0,100% 100%);content:"";pointer-events:none}
.prima-contact-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:clamp(58px,7vw,116px);align-items:center}
.prima-contact-kicker{color:#ff8bab}
.prima-contact-hero h1{max-width:920px;margin:0;color:#fff;font-size:clamp(3.25rem,5.8vw,6.2rem);line-height:.94;letter-spacing:-.058em}
.prima-contact-hero__copy>p:not(.prima-contact-kicker){max-width:800px;margin:26px 0 0;color:rgba(255,255,255,.76);font-size:1.08rem;line-height:1.72}
.prima-contact-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.prima-contact-hero__actions .prima-button--contact{box-shadow:0 14px 38px rgba(176,6,56,.3)}
.prima-contact-hero__proof{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.prima-contact-hero__proof span{display:inline-flex;align-items:center;min-height:34px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.055);padding:7px 12px;color:rgba(255,255,255,.8);font-size:.72rem;font-weight:800}
.prima-contact-hero__panel{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.055));padding:clamp(30px,3.4vw,44px);box-shadow:0 26px 76px rgba(0,0,0,.19);backdrop-filter:blur(9px)}
.prima-contact-hero__panel:after{position:absolute;right:-86px;top:-102px;width:230px;height:230px;border:1px solid rgba(255,255,255,.08);border-radius:50%;content:"";pointer-events:none}
.prima-contact-hero__panel-kicker{display:block;color:#ff8bab;font-size:.67rem;font-weight:900;letter-spacing:.14em}
.prima-contact-hero__panel>strong{display:block;max-width:400px;margin-top:12px;color:#fff;font-size:clamp(1.75rem,2.5vw,2.45rem);line-height:1.06;letter-spacing:-.035em}
.prima-contact-hero__quicklinks{display:grid;margin-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.prima-contact-hero__quicklinks a{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;border-bottom:1px solid rgba(255,255,255,.12);padding:16px 0;color:#fff;text-decoration:none}
.prima-contact-hero__quicklinks a>span{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;background:rgba(255,255,255,.1);color:#ff8bab}
.prima-contact-hero__quicklinks svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.prima-contact-hero__quicklinks b{display:block;font-size:.95rem}.prima-contact-hero__quicklinks small{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:.78rem;line-height:1.4}
.prima-contact-hero__quicklinks a:hover b{color:#ffb0c6}
.prima-contact-hero__panel>p{margin:22px 0 0;color:rgba(255,255,255,.62);font-size:.82rem;line-height:1.62}

/* Section heading */
.prima-contact-section-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(42px,6vw,86px);align-items:end;margin-bottom:50px}
.prima-contact-section-head>p{max-width:560px;margin:0;color:var(--prima-muted);line-height:1.72}

/* Routing */
.prima-contact-routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.prima-contact-route-card{display:flex;min-height:330px;flex-direction:column;border:1px solid rgba(0,5,55,.09);border-radius:26px;background:#fff;padding:clamp(26px,2.8vw,36px);box-shadow:0 15px 42px rgba(0,5,55,.05);color:var(--prima-ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.prima-contact-route-card:hover{transform:translateY(-4px);border-color:rgba(176,6,56,.18);box-shadow:0 22px 54px rgba(0,5,55,.085)}
.prima-contact-route-card--portal{background:linear-gradient(145deg,#000537,#17215d);border-color:transparent;color:#fff}
.prima-contact-route-card__icon{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;background:#f8edf1;color:var(--prima-magenta)}
.prima-contact-route-card--portal .prima-contact-route-card__icon{background:rgba(255,255,255,.1);color:#ff8bab}
.prima-contact-route-card__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.prima-contact-route-card__eyebrow{display:block;margin-top:28px;color:var(--prima-magenta);font-size:.66rem;font-weight:900;letter-spacing:.12em}.prima-contact-route-card--portal .prima-contact-route-card__eyebrow{color:#ff8bab}
.prima-contact-route-card strong{display:block;margin-top:10px;color:var(--prima-navy);font-size:1.28rem;line-height:1.14;letter-spacing:-.025em}.prima-contact-route-card--portal strong{color:#fff}
.prima-contact-route-card p{margin:13px 0 24px;color:var(--prima-muted);font-size:.88rem;line-height:1.62}.prima-contact-route-card--portal p{color:rgba(255,255,255,.69)}
.prima-contact-route-card em{margin-top:auto;color:var(--prima-magenta);font-size:.82rem;font-style:normal;font-weight:850}.prima-contact-route-card--portal em{color:#fff}

/* Teams */
.prima-contact-teams-layout{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:clamp(58px,8vw,116px);align-items:start}
.prima-contact-teams-copy{position:sticky;top:132px}
.prima-contact-secure-note{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;margin-top:30px;border:1px solid rgba(176,6,56,.12);border-radius:20px;background:#fff;padding:22px;box-shadow:0 12px 34px rgba(0,5,55,.035)}
.prima-contact-secure-note>span{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:#f8edf1;color:var(--prima-magenta);font-weight:900}
.prima-contact-secure-note p{margin:0;color:var(--prima-muted);font-size:.83rem;line-height:1.58}.prima-contact-secure-note strong{color:var(--prima-navy)}
.prima-contact-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.prima-contact-team-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;border:1px solid rgba(0,5,55,.08);border-radius:22px;background:#fff;padding:24px;color:var(--prima-ink);text-decoration:none;box-shadow:0 12px 34px rgba(0,5,55,.035);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.prima-contact-team-card:hover{transform:translateY(-3px);border-color:rgba(176,6,56,.18);box-shadow:0 18px 44px rgba(0,5,55,.07)}
.prima-contact-team-card__code{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:#f8edf1;color:var(--prima-magenta);font-size:.69rem;font-weight:900;letter-spacing:.05em}
.prima-contact-team-card strong{display:block;color:var(--prima-navy);font-size:1rem}.prima-contact-team-card p{min-height:62px;margin:7px 0 14px;color:var(--prima-muted);font-size:.82rem;line-height:1.55}.prima-contact-team-card em{color:var(--prima-magenta);font-size:.78rem;font-style:normal;font-weight:850;overflow-wrap:anywhere}

/* Location */
.prima-contact-location{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:clamp(58px,8vw,112px);align-items:center}
.prima-contact-location__visual{position:relative;overflow:hidden;min-height:510px;border-radius:30px;background:#eef1f7;box-shadow:0 22px 64px rgba(0,5,55,.11)}
.prima-contact-location__visual:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,5,55,.16));content:"";pointer-events:none}
.prima-contact-location__visual img{width:100%;height:100%;min-height:510px;object-fit:cover;display:block}
.prima-contact-address-card{margin:30px 0 24px;border-top:1px solid var(--prima-line);border-bottom:1px solid var(--prima-line);padding:24px 0}
.prima-contact-address-card>span{display:block;color:var(--prima-magenta);font-size:.69rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.prima-contact-address-card>strong{display:block;margin-top:9px;color:var(--prima-navy);font-size:1.25rem;line-height:1.5}
.prima-contact-address-card>div{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px}.prima-contact-address-card a,.prima-contact-address-card>div>span{color:var(--prima-muted);font-size:.86rem;text-decoration:none}.prima-contact-address-card a:hover{color:var(--prima-magenta)}

/* FAQ */
.prima-contact-faq-layout{display:grid;grid-template-columns:minmax(320px,.68fr) minmax(0,1.32fr);gap:clamp(46px,7vw,104px);align-items:start}
.prima-contact-faqs{overflow:hidden;border:1px solid rgba(0,5,55,.09);border-radius:24px;background:#fff}
.prima-contact-faqs details{border-bottom:1px solid rgba(0,5,55,.08)}.prima-contact-faqs details:last-child{border-bottom:0}
.prima-contact-faqs summary{display:flex;cursor:pointer;list-style:none;align-items:center;justify-content:space-between;gap:18px;padding:23px 24px;color:var(--prima-navy);font-weight:850;line-height:1.35}.prima-contact-faqs summary::-webkit-details-marker{display:none}
.prima-contact-faqs summary span{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%;background:#f7edf1;color:var(--prima-magenta);font-size:1.2rem;transition:transform .18s ease}.prima-contact-faqs details[open] summary span{transform:rotate(45deg)}
.prima-contact-faqs details>div{padding:0 24px 22px}.prima-contact-faqs details>div p{margin:0;color:var(--prima-muted);line-height:1.66}

/* Closing */
.prima-contact-closing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:44px;align-items:center;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,#000537,#17215d);padding:clamp(40px,5vw,68px);color:#fff;box-shadow:0 24px 66px rgba(0,5,55,.17)}
.prima-contact-closing .prima-kicker{color:#ff8bab}.prima-contact-closing h2{max-width:850px;margin:0;color:#fff;font-size:clamp(2.25rem,4vw,4.1rem);line-height:1.02;letter-spacing:-.047em}.prima-contact-closing p:not(.prima-kicker){max-width:800px;margin:18px 0 0;color:rgba(255,255,255,.74);line-height:1.7}
.prima-contact-closing__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.prima-contact-closing__actions .prima-button{white-space:nowrap}

@media(max-width:1180px){
  .prima-contact-page{--prima-contact-rail:calc(100% - 40px)}
  .prima-contact-hero__inner{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:44px}
  .prima-contact-routes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prima-contact-route-card{min-height:300px}
  .prima-contact-teams-layout{grid-template-columns:.72fr 1.28fr;gap:48px}
  .prima-contact-team-grid{grid-template-columns:1fr}
  .prima-contact-team-card p{min-height:0}
  .prima-contact-location{grid-template-columns:1fr 1fr;gap:48px}
}
@media(max-width:860px){
  .prima-contact-page{--prima-contact-rail:calc(100% - 40px)}
  .prima-contact-hero__inner,.prima-contact-section-head,.prima-contact-teams-layout,.prima-contact-location,.prima-contact-faq-layout,.prima-contact-closing{grid-template-columns:1fr}
  .prima-contact-hero__panel{max-width:680px}.prima-contact-section-head{gap:18px;align-items:start;margin-bottom:38px}.prima-contact-section-head>p{max-width:760px}
  .prima-contact-teams-copy{position:relative;top:auto}.prima-contact-team-grid{grid-template-columns:1fr 1fr}
  .prima-contact-location__visual{min-height:420px}.prima-contact-location__visual img{min-height:420px}
  .prima-contact-closing__actions{justify-content:flex-start}
}
@media(max-width:600px){
  .prima-contact-page{--prima-contact-rail:calc(100% - 28px)}
  .prima-contact-page .prima-section{padding-block:58px}
  .prima-contact-hero{padding-block:60px 78px}.prima-contact-hero:after{height:70px;bottom:-28px;width:64%}.prima-contact-hero h1{font-size:clamp(2.7rem,14vw,4.2rem)}
  .prima-contact-hero__actions{display:grid;grid-template-columns:1fr}.prima-contact-hero__actions .prima-button{width:100%}
  .prima-contact-hero__panel{border-radius:22px;padding:24px 20px}.prima-contact-hero__quicklinks a{grid-template-columns:44px minmax(0,1fr)}
  .prima-contact-routes{grid-template-columns:1fr;gap:14px}.prima-contact-route-card{min-height:0;border-radius:20px;padding:24px 20px}.prima-contact-route-card__eyebrow{margin-top:22px}
  .prima-contact-team-grid{grid-template-columns:1fr;gap:12px}.prima-contact-team-card{border-radius:18px;padding:20px 18px;grid-template-columns:44px minmax(0,1fr)}.prima-contact-team-card__code{width:42px;height:42px}
  .prima-contact-secure-note{border-radius:18px;padding:18px}
  .prima-contact-location__visual{min-height:300px;border-radius:22px}.prima-contact-location__visual img{min-height:300px}.prima-contact-address-card>div{display:grid;gap:8px}
  .prima-contact-faqs summary{padding:19px 18px}.prima-contact-faqs details>div{padding:0 18px 19px}
  .prima-contact-closing{border-radius:24px;padding:32px 22px}.prima-contact-closing__actions{display:grid;grid-template-columns:1fr}.prima-contact-closing__actions .prima-button{width:100%}
}
