/* Shared overview hero, aligned with the Parken am Flughafen design. */
.portal-overview-page{--portal-navy:#061224;--portal-blue:#0066ff;--portal-cyan:#00c5ff;--portal-heading:#071529;--portal-muted:#64748b;--portal-border:#e2e8f0;--portal-surface:#fff;--portal-radius:20px;--portal-shadow:0 25px 60px -12px rgba(6,18,36,.22)}
.portal-overview-hero{position:relative;min-height:760px;display:flex;align-items:center;padding:140px 0 120px;background:#040d1a;overflow:hidden;color:#fff}
.portal-overview-hero__media{position:absolute;inset:0;z-index:1}
.portal-overview-hero__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 46%;transform:scale(1.02);transition:transform 10s ease-out}
.portal-overview-hero:hover .portal-overview-hero__media img{transform:scale(1.05)}
.portal-overview-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,18,36,.72) 0%,rgba(6,18,36,.4) 45%,rgba(6,18,36,.85) 85%,rgba(6,18,36,.98) 100%)}
.portal-overview-hero__plane{position:absolute;z-index:2;top:18%;left:32%;width:38px;height:38px;opacity:.75;filter:drop-shadow(0 0 10px rgba(0,197,255,.5));animation:portal-plane-float 16s ease-in-out infinite alternate;pointer-events:none}
@keyframes portal-plane-float{0%{transform:translate(0) scale(.95)}50%{transform:translate(60px,-15px) scale(1.02)}100%{transform:translate(120px,-30px) scale(1)}}
.portal-overview-hero__inner{position:relative;z-index:3;width:100%}
.portal-overview-hero__copy{max-width:760px}
.portal-overview-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--portal-cyan);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.portal-overview-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.portal-overview-hero h1{max-width:820px;margin:0 0 20px;color:#fff;font-size:clamp(2.75rem,5vw,4.5rem);font-weight:800;line-height:1.06;letter-spacing:-.035em;text-shadow:0 4px 20px rgba(0,0,0,.4)}
.portal-overview-hero__description{max-width:700px;margin:0 0 34px;color:rgba(255,255,255,.88);font-size:1.125rem;line-height:1.7;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.portal-overview-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.portal-overview-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 27px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);color:#fff;font-size:.9375rem;font-weight:700;text-decoration:none;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.portal-overview-button--primary{border-color:#fff;background:#fff;color:var(--portal-navy);box-shadow:0 4px 20px rgba(0,0,0,.25)}
.portal-overview-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.25);color:#fff}
.portal-overview-button--primary:hover{background:#f8fafc;color:var(--portal-navy);box-shadow:0 8px 30px rgba(255,255,255,.3)}
.portal-overview-widget{position:relative;z-index:20;margin-top:-65px;margin-bottom:30px}
.portal-overview-widget__card{overflow:hidden;border:1px solid #edf2f7;border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow)}
.portal-overview-widget__top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;padding:14px 28px;border-bottom:1px solid var(--portal-border);background:#fbfcfe}
.portal-overview-widget__heading{display:grid;gap:2px;margin:0}
.portal-overview-widget__kicker{color:#0070e0;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.portal-overview-widget__heading strong{color:var(--portal-navy);font-size:1rem}
.portal-overview-widget__link{color:#0070e0;font-size:.8125rem;font-weight:700;text-decoration:none}
.portal-overview-form{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr auto;gap:18px;align-items:center;padding:24px 28px}
.portal-overview-form--home{grid-template-columns:1fr auto}
.portal-overview-form--airlines{grid-template-columns:1.5fr 1fr auto}
.portal-field{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px 16px;border:1px solid var(--portal-border);border-radius:12px;background:#f8fafc;color:var(--portal-heading);font-size:.9rem;font-weight:600;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.portal-field:focus-within{border-color:var(--portal-blue);background:#fff;box-shadow:0 0 0 3px rgba(0,102,255,.12)}
.portal-field__label{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.portal-field__control{display:flex;align-items:center;gap:10px;min-width:0}
.portal-field__control svg{flex:0 0 auto;color:#64748b}
.portal-field input,.portal-field select{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--portal-heading);font:600 .9375rem/1.5 "Plus Jakarta Sans",sans-serif}
.portal-field input::placeholder{color:#94a3b8;font-weight:400}
.portal-filter-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:16px 28px;border:0;border-radius:999px;background:var(--portal-navy);box-shadow:0 4px 14px rgba(6,18,36,.25);color:#fff;font:700 .9375rem/1 "Plus Jakarta Sans",sans-serif;white-space:nowrap;cursor:pointer;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.portal-filter-button:hover{transform:translateY(-2px);background:var(--portal-blue);box-shadow:0 8px 24px rgba(0,102,255,.35)}
.portal-overview-page .home-search{padding-top:70px}
.portal-overview-page .airline-directory{padding-top:72px}
.portal-overview-page .airline-index-intro{margin-top:0}
@media(max-width:1100px){.portal-overview-form{grid-template-columns:1fr 1fr}.portal-filter-button{grid-column:1/-1}.portal-overview-form--airlines .portal-filter-button,.portal-overview-form--home .portal-filter-button{grid-column:auto}}
@media(max-width:700px){.portal-overview-hero{min-height:680px;padding:112px 0 135px}.portal-overview-hero h1{font-size:clamp(2.35rem,11vw,3.25rem)}.portal-overview-hero__description{font-size:1rem}.portal-overview-widget{margin-top:-80px}.portal-overview-widget__top{align-items:flex-start;padding:16px 18px}.portal-overview-widget__link{max-width:130px;text-align:right}.portal-overview-form,.portal-overview-form--airlines,.portal-overview-form--home{grid-template-columns:1fr;padding:18px}.portal-filter-button,.portal-overview-form--airlines .portal-filter-button,.portal-overview-form--home .portal-filter-button{grid-column:auto}.portal-overview-actions{display:grid}.portal-overview-button{width:100%}}
