@import url('fonts/google-fonts.css');

:root{--navy:#102e50;--blue:#1d4f7f;--mid:#5d7d9d;--ink:#182b3e;--muted:#5b6c7e;--silver:#e7edf2;--pale:#f5f7f9;--white:#fff;--line:#cbd5df;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--display:Manrope,'Arial',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:20;padding:.75rem 1rem;background:#fff;color:var(--navy)}.skip-link:focus{top:1rem}
.site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:0 clamp(24px,6vw,100px);background:var(--navy);color:white}.brand{display:flex;flex-direction:column;gap:0;line-height:1}.brand-name{font-family:var(--display);font-size:1.36rem;font-weight:800;letter-spacing:.09em}.brand-name b{font-size:.56em;letter-spacing:.25em;margin-left:.35em}.brand-meta{display:flex;align-items:center;gap:8px;margin-top:7px;font-size:.58rem;letter-spacing:.24em;opacity:.75}.brand-meta i{display:inline-block;width:20px;height:1px;background:currentColor}.primary-nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,44px);font-size:.88rem}.primary-nav>a:not(.nav-cta){opacity:.88;transition:opacity .2s}.primary-nav>a:hover,.primary-nav>a.current{opacity:1}.primary-nav>a.current{border-bottom:1px solid #b8d4ee;padding-bottom:5px}.nav-cta{border:1px solid rgba(255,255,255,.6);padding:10px 17px;min-width:126px;text-align:center;transition:background .2s,color .2s}.nav-cta:hover{background:white;color:var(--navy)}.nav-cta span{margin-left:10px}.menu-toggle{display:none;border:0;background:transparent;color:white;padding:10px}.menu-toggle span{display:block;width:26px;height:2px;margin:6px;background:currentColor}
.hero{position:relative;min-height:min(690px,74vw);height:clamp(520px,62vw,690px);overflow:hidden;background:#304b66;color:#fff}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 54%}.hero-shade{background:linear-gradient(90deg,rgba(8,28,49,.84) 0%,rgba(8,28,49,.60) 36%,rgba(8,28,49,.08) 76%),linear-gradient(0deg,rgba(8,28,49,.36),transparent 34%)}.hero-copy{position:absolute;left:clamp(28px,8vw,138px);top:50%;transform:translateY(-45%);max-width:620px}.eyebrow{margin:0 0 18px;color:var(--blue);font-size:.69rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.eyebrow-light{color:#d8e8f5}.hero h1,.history-hero h1{margin:0;font-family:var(--serif);font-size:clamp(3.2rem,6vw,6rem);font-weight:400;line-height:.98;letter-spacing:-.04em}.hero h1 em,.history-hero h1 em{font-weight:400;color:#bcd5eb}.hero-lead{max-width:430px;margin:26px 0 30px;font-size:1.08rem;color:#edf3f8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:13px 19px;font-size:.84rem;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:white;color:var(--navy)}.button-light:hover{background:#e7f0f7}.button-outline-light{border:1px solid rgba(255,255,255,.68);color:white}.button-outline-light:hover{background:white;color:var(--navy)}.hero-stamp{position:absolute;right:clamp(24px,7vw,110px);top:clamp(35px,5vw,75px);width:108px;height:108px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1}.hero-stamp strong{font-family:var(--serif);font-size:2.3rem;font-weight:400}.hero-stamp span{font-size:.56rem;text-transform:uppercase;letter-spacing:.15em;text-align:center;margin-top:4px}.hero-caption{position:absolute;right:clamp(24px,6vw,90px);bottom:24px;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:#e0e8ef}
.section-wrap{padding:clamp(68px,8vw,112px) clamp(24px,8vw,132px)}.intro{background:var(--white)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.intro h2,.section-heading h2,.timeline-heading h2,.history-teaser h2{margin:0;color:var(--navy);font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,4.5vw,4.5rem);line-height:1.05;letter-spacing:-.035em}.intro-grid>div{max-width:530px;padding-top:7px}.intro-grid p:not(.eyebrow){margin:0 0 20px;color:#4f6275;font-size:1.05rem}.text-link{display:inline-flex;align-items:center;gap:18px;padding-bottom:5px;border-bottom:1px solid var(--blue);color:var(--blue);font-size:.87rem;font-weight:700}.text-link span{font-size:1.2rem;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}
.services{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:13px}.section-heading h2{font-size:clamp(2.5rem,4vw,4rem)}.section-heading>p{max-width:360px;margin:0 0 4px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:222px;padding:25px 26px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.58);transition:background .2s,transform .2s}.service-card:hover{position:relative;z-index:1;background:white;transform:translateY(-3px);box-shadow:0 10px 25px rgba(23,50,76,.08)}.service-icon{display:block;width:40px;height:40px;margin-bottom:20px;color:var(--blue)}.service-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-card h3{max-width:290px;margin:0;color:var(--navy);font-size:1.02rem;line-height:1.35;font-weight:700}.service-card p{margin:8px 0 0;color:var(--muted);font-size:.84rem}.partner-note{display:flex;align-items:center;gap:17px;padding:23px 0 0}.partner-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--blue);border-radius:50%;color:var(--blue);font-family:var(--serif);font-size:1.35rem;font-weight:bold}.partner-note p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}.partner-note p strong{color:var(--navy)}.partner-divider{height:42px;width:1px;margin-left:auto;background:var(--line)}.cert-mark{width:min(300px,38%);height:auto}
.team-copy h2 em{color:#bcd5eb;font-weight:400}
.team-section{display:grid;grid-template-columns:1.05fr .95fr;min-height:530px;background:var(--navy);color:white}.team-photo{min-height:460px;overflow:hidden}.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.78)}.team-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(42px,7vw,100px);background:linear-gradient(135deg,#183e66,#102e50)}.team-copy h2,.contact-band h2,.history-end h2{margin:0;color:white;font-family:var(--serif);font-size:clamp(2.6rem,4.1vw,4.3rem);font-weight:400;line-height:1.03;letter-spacing:-.03em}.team-copy>p:not(.eyebrow){max-width:380px;margin:23px 0 30px;color:#d4e0eb}.history-teaser{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(36px,7vw,100px);background:white}.history-teaser-image{height:400px;overflow:hidden;background:var(--silver)}.history-teaser-image img{width:100%;height:100%;object-fit:cover;object-position:center}.history-teaser-copy{max-width:520px}.history-teaser-copy .eyebrow{margin-bottom:19px}.history-teaser h2{font-size:clamp(2.5rem,4vw,4rem)}.history-teaser-copy>p:not(.eyebrow){max-width:450px;margin:22px 0 26px;color:var(--muted)}.history-end{position:relative;display:flex;align-items:center;min-height:430px;overflow:hidden;padding:80px clamp(24px,10vw,160px);background:#102e50;color:#fff}.history-end>img{position:absolute;inset:0 0 0 auto;width:58%;height:100%;object-fit:cover;object-position:center 37%;opacity:.32;mask-image:linear-gradient(90deg,transparent,#000 45%)}.history-end>div{position:relative;z-index:1}.history-end h2{margin-bottom:28px}.contact-band{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:55px clamp(24px,8vw,132px);background:#1d4f7f;color:white}.contact-band .eyebrow{margin-bottom:12px}.contact-band h2{font-size:clamp(2.2rem,3.5vw,3.5rem)}.site-footer{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:35px;padding:52px clamp(24px,8vw,132px) 25px;background:#0b223a;color:#e8eef3}.brand-footer{align-self:start}.site-footer address{font-style:normal;font-size:.86rem;line-height:1.8;color:#d3dee8}.site-footer address a:hover,.footer-links a:hover{color:white;text-decoration:underline}.footer-links{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px 20px;font-size:.82rem;color:#d3dee8}.site-footer small{grid-column:1/-1;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:.72rem;color:#aab9c8}
/* History page */
.history-hero{position:relative;min-height:560px;overflow:hidden;padding:clamp(74px,9vw,130px) clamp(24px,10vw,160px);background:var(--navy);color:white}.history-hero:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(11,34,58,.96),rgba(11,34,58,.83) 45%,rgba(11,34,58,.22));pointer-events:none}.history-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;opacity:.43;filter:grayscale(1)}.history-hero>*:not(img){position:relative;z-index:1}.history-hero h1{max-width:820px;font-size:clamp(3.2rem,6vw,6.2rem)}.history-hero h1 em{color:#bcd5eb}.history-hero>p:not(.eyebrow){max-width:520px;margin:25px 0;color:#dce6ef;font-size:1.06rem}.scroll-cue{display:inline-flex;gap:16px;align-items:center;margin-top:18px;color:white;font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:8px}.scroll-cue span{font-size:1.1rem}.timeline-section{padding-top:104px;padding-bottom:130px;background:linear-gradient(180deg,#f3f6f8,#fff 45%)}.timeline-heading{max-width:650px;margin:0 auto 92px;text-align:center}.timeline-heading h2{font-size:clamp(2.8rem,5vw,4.7rem)}.timeline-heading>p:last-child{color:var(--muted);margin:19px 0 0}.timeline{position:relative;max-width:1110px;margin:0 auto}.timeline-track{position:absolute;z-index:0;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:#d8e0e7}.timeline-progress{display:block;width:100%;height:0;background:var(--blue);transition:height .15s linear}.timeline-item{position:relative;min-height:440px;padding:0 0 86px;opacity:.48;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.timeline-item.is-visible{opacity:1;transform:translateY(0)}.timeline-node{position:absolute;z-index:2;left:50%;top:8px;display:grid;place-items:center;width:48px;height:48px;transform:translateX(-50%);border:1px solid #9fb2c4;border-radius:50%;background:#fff;color:var(--navy);font-family:var(--display);font-size:.75rem;font-weight:700;transition:background .3s,color .3s,border-color .3s}.timeline-item.is-visible .timeline-node{border-color:var(--blue);background:var(--blue);color:#fff}.timeline-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(38px,7vw,100px);align-items:center;width:calc(50% - 56px);margin-right:auto}.timeline-reverse .timeline-content{margin-right:0;margin-left:auto}.timeline-photo{height:310px;overflow:hidden;background:#e1e6eb;box-shadow:0 15px 40px rgba(21,46,70,.12)}.timeline-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.timeline-item.is-visible .timeline-photo img{transform:scale(1.025)}.timeline-item[data-year="1922"] .timeline-photo img,.timeline-item[data-year="1962"] .timeline-photo img,.timeline-item[data-year="1965"] .timeline-photo img,.timeline-item[data-year="1967"] .timeline-photo img,.timeline-item[data-year="1980"] .timeline-photo img,.timeline-item[data-year="1996"] .timeline-photo img{object-fit:cover}.timeline-copy{min-width:260px}.timeline-date{margin:0 0 12px;color:var(--blue);font-size:.68rem;letter-spacing:.18em;font-weight:700}.timeline-date b{display:block;margin-top:3px;color:var(--navy);font-family:var(--serif);font-size:2.15rem;letter-spacing:0;font-weight:400}.timeline-copy h3{margin:0 0 13px;color:var(--navy);font-family:var(--serif);font-size:1.85rem;font-weight:400;line-height:1.1}.timeline-copy>p:last-child{margin:0;color:var(--muted);font-size:.94rem}.history-end{position:relative;display:flex;align-items:center;min-height:430px;overflow:hidden;padding:80px clamp(24px,10vw,160px);background:#102e50;color:#fff}.history-end>img{position:absolute;inset:0 0 0 auto;width:58%;height:100%;object-fit:cover;object-position:center 37%;opacity:.32;mask-image:linear-gradient(90deg,transparent,#000 45%)}.history-end>div{position:relative;z-index:1}.history-end h2{margin-bottom:28px}
@media(max-width:900px){.site-header{min-height:74px;padding:0 24px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px 24px 22px;background:var(--navy)}.primary-nav.is-open{display:flex}.primary-nav>a{padding:12px 0}.primary-nav>a.current{border:0}.primary-nav .nav-cta{margin-top:8px}.hero{height:620px}.hero-image{object-position:60% center}.hero-stamp{width:85px;height:85px;right:24px;top:24px}.hero-stamp strong{font-size:1.8rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-section{grid-template-columns:1fr 1fr;min-height:430px}.team-photo{min-height:430px}.history-teaser{gap:35px}.history-teaser-image{height:320px}.timeline-content{width:calc(50% - 40px);grid-template-columns:1fr;gap:23px}.timeline-photo{height:260px}.timeline-copy{min-width:0}.timeline-item{min-height:520px}.timeline-copy h3{font-size:1.65rem}}
@media(max-width:620px){body{font-size:15px}.site-header{min-height:68px;padding:0 18px}.brand-name{font-size:1.12rem}.brand-meta{font-size:.5rem}.hero{height:650px;min-height:590px}.hero-image{object-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(8,28,49,.82),rgba(8,28,49,.35)),linear-gradient(0deg,rgba(8,28,49,.52),transparent 65%)}.hero-copy{left:24px;right:24px;top:52%;transform:translateY(-45%)}.hero h1{font-size:clamp(3.2rem,14vw,5rem)}.hero-lead{max-width:330px}.hero-stamp{top:auto;right:22px;bottom:24px;width:75px;height:75px}.hero-stamp strong{font-size:1.5rem}.hero-stamp span{font-size:.48rem}.hero-caption{left:24px;right:auto;bottom:30px;max-width:210px;font-size:.58rem}.section-wrap{padding:66px 22px}.intro-grid{grid-template-columns:1fr;gap:20px}.intro h2{font-size:3.15rem}.intro-grid>div{padding:0}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:2.8rem}.section-heading>p{margin-top:16px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:21px 20px}.service-icon{width:34px;height:34px;margin-bottom:13px}.partner-note{flex-wrap:wrap;gap:12px}.partner-divider{display:none}.cert-mark{width:100%;max-width:340px;margin-top:8px}.team-section{grid-template-columns:1fr}.team-photo{min-height:300px;height:65vw;max-height:420px}.team-copy{padding:46px 24px 54px}.team-copy h2{font-size:3rem}.history-teaser{grid-template-columns:1fr;gap:25px}.history-teaser-image{height:250px}.history-teaser h2{font-size:3rem}.contact-band{align-items:flex-start;flex-direction:column;padding:43px 22px}.contact-band h2{font-size:2.8rem}.site-footer{grid-template-columns:1fr 1fr;gap:26px;padding:42px 22px 22px}.footer-links{grid-column:1/-1;grid-template-columns:1fr 1fr}.site-footer small{margin-top:3px}.history-hero{min-height:580px;padding:86px 24px}.history-hero h1{font-size:clamp(3rem,13vw,4.7rem)}.history-hero>img{object-position:58% center}.timeline-section{padding:70px 22px 80px}.timeline-heading{margin-bottom:50px}.timeline-heading h2{font-size:3rem}.timeline{padding-left:42px}.timeline-track{left:14px;transform:none}.timeline-node{left:14px;width:34px;height:34px;font-size:.63rem;transform:translateX(-50%)}.timeline-item,.timeline-reverse{min-height:0;padding:0 0 57px;opacity:.45}.timeline-content,.timeline-reverse .timeline-content{width:100%;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:18px}.timeline-photo{height:220px}.timeline-copy{padding:0 0 0 2px}.timeline-date b{font-size:1.8rem}.timeline-copy h3{font-size:1.7rem}.history-end{min-height:390px;padding:65px 24px}.history-end>img{width:100%;opacity:.23;mask-image:linear-gradient(90deg,transparent,#000 70%)}.history-end h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Refinements after review */
.brand{flex-direction:row}.brand-logo{display:block;width:230px;height:57px;object-fit:contain;object-position:left center}
.intro-grid>div{max-width:570px}.intro-grid p:not(.eyebrow){margin-bottom:15px;font-size:1.02rem}.intro-grid .intro-invitation{color:var(--navy);font-weight:700}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{display:flex;align-items:flex-start;gap:15px;min-height:0;padding:16px 18px;background:rgba(255,255,255,.55)}.service-card:hover{transform:none;box-shadow:none}.service-icon{flex:0 0 25px;width:25px;height:25px;margin:1px 0 0}.service-card h3{font-size:.94rem}.service-card p{margin-top:5px;font-size:.79rem}.partner-note{padding-top:18px}.cert-mark{width:min(340px,42%)}
.history-teaser-image img{object-fit:contain;background:#edf1f4}
.timeline-node{width:58px;height:58px;font-size:.66rem;line-height:1.05;text-align:center}.timeline-content{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:30px}.timeline-photo img{object-fit:contain!important;transform:none!important}.timeline-copy{min-width:0}
.timeline-photo{height:auto;aspect-ratio:1080/524}.timeline-item[data-year="2022"] .timeline-photo,.timeline-item[data-year="heute"] .timeline-photo{aspect-ratio:1.5}
.brand-footer .brand-logo{width:210px;height:54px}
.team-page-hero{position:relative;display:flex;align-items:center;min-height:610px;overflow:hidden;background:var(--navy);color:white}.team-page-hero>img,.team-page-shade{position:absolute;inset:0;width:100%;height:100%}.team-page-hero>img{object-fit:cover;object-position:center 43%}.team-page-shade{background:linear-gradient(90deg,rgba(8,28,49,.9),rgba(8,28,49,.68) 43%,rgba(8,28,49,.16))}.team-page-copy{position:relative;z-index:1;max-width:720px;padding:80px clamp(24px,9vw,140px)}.team-page-copy h1{margin:0;color:white;font-family:var(--serif);font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:1;letter-spacing:-.04em}.team-page-copy h1 em{color:#c3d8eb;font-weight:400}.team-page-copy>p:not(.eyebrow){max-width:500px;margin:25px 0 27px;color:#e1eaf1;font-size:1.05rem}.team-intro{background:#fff}.people-section{background:var(--pale)}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.person-card{min-height:330px;background:white;box-shadow:0 6px 24px rgba(21,46,70,.06)}.person-featured{display:flex;flex-direction:column}.person-photo{height:220px;overflow:hidden;background:#dfe7ed}.person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.person-info{padding:22px 24px}.person-info .eyebrow{margin:0 0 8px;font-size:.61rem}.person-info h3{margin:0;color:var(--navy);font-family:var(--serif);font-size:1.65rem;font-weight:400;line-height:1.2}.person-info>p:last-child{margin:10px 0 0;color:var(--muted);font-size:.88rem}.person-text{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-top:3px solid var(--blue)}.person-number{position:absolute;top:10px;right:16px;color:#eef2f5;font-family:var(--serif);font-size:7rem;line-height:1}.person-text .person-info{position:relative}.team-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:55px clamp(24px,8vw,132px);background:#1d4f7f;color:white}.team-contact .eyebrow{margin-bottom:12px}.team-contact h2{margin:0;color:white;font-family:var(--serif);font-size:clamp(2.2rem,3.5vw,3.5rem);font-weight:400;line-height:1.03}
@media(max-width:900px){.brand-logo{width:210px;height:54px}.timeline-content{width:calc(50% - 40px);grid-template-columns:1fr;gap:23px}.timeline-photo{height:260px}.timeline-copy{min-width:0}.timeline-item{min-height:520px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-card{min-height:300px}.team-page-hero{min-height:560px}}
@media(max-width:620px){.brand-logo{width:190px;height:48px}.service-grid{grid-template-columns:1fr}.service-card{padding:15px 16px}.service-icon{flex-basis:23px;width:23px;height:23px;margin:1px 0 0}.service-card h3{font-size:.93rem}.partner-note{flex-wrap:wrap;gap:12px}.partner-divider{display:none}.cert-mark{width:100%;max-width:360px;margin-top:8px}.timeline-node{width:38px;height:38px;font-size:.53rem}.timeline-track{left:14px}.timeline-content,.timeline-reverse .timeline-content{width:100%;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:18px}.timeline-photo{height:auto;min-height:0;aspect-ratio:1080/524}.timeline-photo img{width:100%;height:100%;object-fit:contain!important}.timeline-item[data-year="2022"] .timeline-photo,.timeline-item[data-year="heute"] .timeline-photo{aspect-ratio:1.5}.timeline-item{min-height:0}.brand-footer .brand-logo{width:180px;height:45px}.team-page-hero{min-height:590px}.team-page-copy{padding:76px 24px}.team-page-copy h1{font-size:clamp(3rem,12vw,4.6rem)}.people-grid{grid-template-columns:1fr}.person-card{min-height:0}.person-featured{min-height:0}.person-photo{height:250px}.person-text{min-height:190px}.team-contact{align-items:flex-start;flex-direction:column;padding:43px 22px}.team-contact h2{font-size:2.6rem}}

/* Refinements after review */
.brand{flex-direction:row}.brand-logo{width:230px;height:57px;object-fit:contain;object-position:left center}
.intro-grid>div{max-width:570px}.intro-grid p:not(.eyebrow){margin-bottom:15px;font-size:1.02rem}.intro-grid .intro-invitation{color:var(--navy);font-weight:700}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{display:flex;align-items:flex-start;gap:15px;min-height:0;padding:16px 18px;background:rgba(255,255,255,.55)}.service-card:hover{transform:none;box-shadow:none}.service-icon{flex:0 0 25px;width:25px;height:25px;margin:1px 0 0}.service-card h3{font-size:.94rem}.service-card p{margin-top:5px;font-size:.79rem}.partner-note{padding-top:18px}.cert-mark{width:min(340px,42%)}
.history-teaser-image img{object-fit:contain;background:#edf1f4}
.timeline-node{width:58px;height:58px;font-size:.66rem;line-height:1.05;text-align:center}.timeline-content{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:30px}.timeline-photo img{object-fit:contain!important;transform:none!important}.timeline-copy{min-width:0}
.brand-footer .brand-logo{width:210px;height:54px}
@media(max-width:900px){.timeline-content{width:calc(50% - 40px);grid-template-columns:1fr;gap:23px}.timeline-photo{height:260px}.timeline-copy{min-width:0}.timeline-item{min-height:520px}}
@media(max-width:620px){.brand-logo{width:190px;height:48px}.service-grid{grid-template-columns:1fr}.service-card{padding:15px 16px}.service-icon{flex-basis:23px;width:23px;height:23px;margin:1px 0 0}.service-card h3{font-size:.93rem}.partner-note{flex-wrap:wrap;gap:12px}.partner-divider{display:none}.cert-mark{width:100%;max-width:360px;margin-top:8px}.timeline-node{width:38px;height:38px;font-size:.53rem}.timeline-track{left:14px}.timeline-content,.timeline-reverse .timeline-content{width:100%;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:18px}.timeline-photo{height:auto;min-height:0;aspect-ratio:1080/524}.timeline-photo img{width:100%;height:100%;object-fit:contain!important}.timeline-item[data-year="2022"] .timeline-photo,.timeline-item[data-year="heute"] .timeline-photo{aspect-ratio:1.5}.timeline-item{min-height:0}.brand-footer .brand-logo{width:180px;height:45px}}

/* Intro certificate placement */
.intro-grid>.intro-heading{padding-top:0}
.intro-cert{display:block;width:min(240px,100%);height:auto;margin:25px 0 0}


/* Timeline als Polaroid-Karten */
.timeline-item{min-height:0;padding-bottom:88px}
.timeline-content,.timeline-reverse .timeline-content{display:flex;width:calc(50% - 64px);max-width:440px;margin:0 auto 0 0;flex-direction:column;align-items:stretch;gap:0;padding:9px 9px 22px;background:#fff;box-shadow:0 14px 34px rgba(18,43,67,.14),0 2px 5px rgba(18,43,67,.08);transform:rotate(-.35deg);transition:box-shadow .3s,transform .3s}
.timeline-reverse .timeline-content{margin:0 0 0 auto;transform:rotate(.35deg)}
.timeline-item.is-visible .timeline-content:hover{transform:translateY(-3px) rotate(0);box-shadow:0 19px 42px rgba(18,43,67,.19),0 3px 8px rgba(18,43,67,.08)}
.timeline-copy{display:contents}
.timeline-date{order:-1;width:100%;margin:0;padding:1px 7px 9px;color:#52687d;font-size:.61rem;letter-spacing:.16em;line-height:1.2}
.timeline-date b{display:inline;margin:0 0 0 6px;color:var(--navy);font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;font-weight:700}
.timeline-photo{order:0;width:100%;height:auto;aspect-ratio:1.55;overflow:hidden;background:#edf1f4;box-shadow:none}
.timeline-photo img{display:block;width:100%;height:100%;object-fit:contain!important;transform:none!important}
.timeline-copy h3{order:1;margin:0;padding:17px 15px 7px;color:var(--navy);font-size:1.7rem}
.timeline-copy>p:last-child{order:2;margin:0;padding:0 15px;color:#53687c;font-size:.88rem;line-height:1.55}
@media(max-width:900px){.timeline-content,.timeline-reverse .timeline-content{width:calc(50% - 40px);grid-template-columns:none;gap:0;max-width:440px}.timeline-photo{height:auto}.timeline-item{min-height:0;padding-bottom:72px}}
@media(max-width:620px){.timeline-item,.timeline-reverse{min-height:0;padding:0 0 50px}.timeline-content,.timeline-reverse .timeline-content{width:100%;max-width:500px;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 8px 19px;transform:none}.timeline-photo{height:auto;min-height:0;aspect-ratio:1.38}.timeline-photo img{width:100%;height:100%;object-fit:contain!important}.timeline-copy h3{padding:14px 12px 6px;font-size:1.55rem}.timeline-copy>p:last-child{padding:0 12px;font-size:.85rem}}

/* Tastaturfokus und robuste Darstellung ohne JavaScript */
:focus-visible{outline:3px solid #164f7d;outline-offset:3px;box-shadow:0 0 0 2px #fff}
.site-header :focus-visible,.team-copy :focus-visible,.contact-band :focus-visible,.team-contact :focus-visible,.history-end :focus-visible{outline-color:#ffd166;box-shadow:0 0 0 2px #102e50}
.skip-link:focus-visible{top:1rem;left:1rem;outline:3px solid #164f7d;outline-offset:3px}
.timeline-item{opacity:1;transform:none}
.timeline-animated .timeline-item{opacity:.48;transform:translateY(30px)}
.timeline-animated .timeline-item.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.timeline-animated .timeline-item{opacity:1;transform:none}}

/* Einheitliche Ansprechpartnerkarten mit Portraits */
.person-card{display:flex;flex-direction:column;min-height:330px;overflow:hidden}
.person-photo{height:250px;flex:0 0 250px;background:#dfe7ed}
.person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.person-text{justify-content:flex-start;border-top:0}
.person-number{display:none}
@media(max-width:900px){.person-card{min-height:300px}.person-photo{height:230px;flex-basis:230px}}
@media(max-width:620px){.person-card{min-height:0}.person-photo{height:270px;flex-basis:270px}}
/* Portraitformat zeigt die gelieferten Aufnahmen vollständig und großzügig */
.person-photo{height:auto;flex:0 0 auto;aspect-ratio:3/4}
.person-photo img{object-position:center;object-fit:cover}
@media(max-width:900px){.person-photo{height:auto;flex-basis:auto}}
@media(max-width:620px){.person-photo{height:auto;flex-basis:auto}}

.person-photo{aspect-ratio:1158/1358}


/* Teamseite: Einleitung stapeln, Portraits kleiner und vollständig zeigen */
.team-intro .intro-grid{grid-template-columns:1fr;gap:19px;max-width:860px}
.team-intro .intro-grid h2{margin-bottom:0}
.team-intro .intro-grid>div{max-width:800px;padding-top:0}
.person-photo{height:280px;flex:0 0 280px;aspect-ratio:auto;display:grid;place-items:center;background:#e5ebef}
.person-photo img{width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center}
@media(max-width:620px){.person-photo{height:310px;flex-basis:310px}}
/* Portraitbilder proportional skalieren, ohne den Bildinhalt zu beschneiden */
.person-photo{height:320px;flex:0 0 320px;aspect-ratio:auto;display:grid;place-items:center;overflow:hidden;background:#e5ebef}
.person-photo img{width:auto;height:auto;max-width:min(100%,260px);max-height:100%;object-fit:contain;object-position:center}
@media(max-width:620px){.person-photo{height:320px;flex-basis:320px}}


/* Consistency and accessible fallback refinements */
@media(max-width:900px){
  html.js .primary-nav{display:none}
  html.js .primary-nav.is-open{display:flex}
  html.js .menu-toggle{display:block;min-width:44px;min-height:44px}
  html:not(.js) .site-header{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  html:not(.js) .menu-toggle{display:none}
  html:not(.js) .primary-nav{display:flex;position:static;width:100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:6px 20px;padding:12px 0 4px;background:transparent}
}
.service-feature-copy p,.all-services-panel li span{color:#526577}
.footer-links a{min-height:24px;display:flex;align-items:center}
.text-link{display:inline-flex;align-items:center;min-height:24px}
@media(prefers-reduced-motion:reduce){.map-image-link img{transition:none}}

/* Shared photo hero proportions across the site */
.visual-hero{height:610px!important;min-height:610px!important}
@media(max-width:900px){.visual-hero{height:560px!important;min-height:560px!important}}
@media(max-width:620px){.visual-hero{height:590px!important;min-height:590px!important}}

/* Intro text under the heading, square certification plate opposite */
.intro-grid{grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);align-items:center;gap:clamp(36px,7vw,100px)}
.intro-grid>.intro-heading{max-width:650px;padding:0}
.intro-heading p:not(.eyebrow){margin:22px 0 14px;color:#4f6275;font-size:1.02rem}
.intro-heading .intro-invitation{margin-top:0}
.intro-cert-wrap{display:flex;justify-content:center;align-items:center}
.intro-grid>.intro-cert-wrap .intro-cert-square{width:min(100%,360px);height:auto;margin:0}
.history-hero.visual-hero{padding-top:clamp(34px,5vw,62px)}
.history-hero .scroll-cue{width:max-content;margin-top:18px;border:0;padding:13px 19px;color:var(--navy)}
@media(max-width:900px){.intro-grid{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:34px}.intro-grid>.intro-cert-wrap .intro-cert-square{width:min(100%,300px)}}
@media(max-width:620px){.intro-grid{grid-template-columns:1fr;gap:22px}.intro-grid>.intro-cert-wrap{justify-content:flex-start}.intro-grid>.intro-cert-wrap .intro-cert-square{width:min(100%,260px);margin-top:4px}}

/* Weitere Seiten: Inhaltsraster auf 1280 px begrenzen, Bild- und CTA-Bänder vollflächig lassen */
body:not(.home-page) .section-wrap{padding-left:max(24px,calc((100vw - 1280px)/2));padding-right:max(24px,calc((100vw - 1280px)/2))}
body:not(.home-page) .section-wrap>*{width:100%;max-width:1280px;margin-left:auto;margin-right:auto}
body:not(.home-page) .team-contact,
body:not(.home-page) .career-contact,
body:not(.home-page) .history-end,
body:not(.home-page) .site-footer{padding-left:max(24px,calc((100vw - 1280px)/2));padding-right:max(24px,calc((100vw - 1280px)/2))}
body:not(.home-page) .placeholder-page{padding-left:max(24px,calc((100vw - 1280px)/2));padding-right:max(24px,calc((100vw - 1280px)/2))}
body:not(.home-page) .team-page-copy,
body:not(.home-page) .career-hero-copy,
body:not(.home-page) .history-hero,
body:not(.home-page) .contact-hero{padding-left:clamp(28px,8vw,138px)}
.people-section .section-heading{margin-bottom:30px}
.team-intro.section-wrap{padding-bottom:52px}
.people-section.section-wrap{padding-top:52px}
.person-photo{width:min(100%,292px);height:320px;flex-basis:320px;margin:0 auto}
.person-photo img{max-width:min(100%,260px);max-height:100%}
@media(max-width:620px){.person-photo{width:min(100%,292px);height:320px;flex-basis:320px}}

/* Einheitlicher vierteiliger Aufbau für alle Seiten-Hero-Bereiche */
.home-page .hero-copy,
.team-page-copy,
.career-hero-copy,
.history-hero,
.contact-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 390px 80px auto;align-content:start;row-gap:0}
.home-page .hero-copy{top:0;height:100%;padding-top:28px;padding-bottom:20px;transform:none}
.team-page-hero,.career-hero{align-items:stretch}
.team-page-copy,.career-hero-copy{height:100%;padding-top:28px;padding-bottom:20px}
.history-hero{padding-top:28px;padding-bottom:20px}
.contact-hero{min-height:610px;padding:28px clamp(24px,8vw,138px) 28px}
body:not(.home-page) .career-hero{align-items:stretch}
body:not(.home-page) .career-hero-copy{height:100%;padding-top:28px;padding-bottom:20px}
body:not(.home-page) .history-hero{padding-top:28px;padding-bottom:20px}
body:not(.home-page) .contact-hero{min-height:610px;padding-top:28px;padding-bottom:28px}
.home-page .hero-copy h1,
.team-page-copy h1,
.career-hero-copy h1,
.history-hero h1,
.contact-hero h1{min-height:0}
.home-page .hero-lead,
.team-page-copy>p:not(.eyebrow),
.career-hero-copy>p:not(.eyebrow),
.history-hero>p:not(.eyebrow),
.contact-hero>p:last-of-type{margin:0}
body:not(.home-page) .career-hero-copy>p:not(.eyebrow),
body:not(.home-page) .contact-hero>p:last-of-type{margin:0}
.home-page .hero-copy>.button,
.team-page-copy>.button,
.career-hero-copy>.button,
.history-hero>.button,
.contact-hero>.button{justify-self:start;align-self:start;margin:18px 0 0}
.team-page-copy{max-width:720px}
.person-info{width:min(100%,292px);margin:0 auto;padding:18px 0 20px}
@media(max-width:900px){
  .home-page .hero-copy,.team-page-copy,.career-hero-copy,.history-hero,.contact-hero{grid-template-rows:auto 292px 100px auto}
}
@media(max-width:620px){
  .home-page .hero-copy,.team-page-copy,.career-hero-copy,.history-hero,.contact-hero{grid-template-rows:auto 320px 110px auto}
  .home-page .hero-copy{padding-top:26px;padding-bottom:18px}
  .team-page-copy,.career-hero-copy{padding-top:26px;padding-bottom:18px}
  .history-hero{padding-top:26px;padding-bottom:18px}
  .contact-hero{min-height:590px;padding-top:26px;padding-bottom:24px}
  body:not(.home-page) .career-hero-copy{padding-top:26px;padding-bottom:18px}
  body:not(.home-page) .history-hero{padding-top:26px;padding-bottom:18px}
  body:not(.home-page) .contact-hero{min-height:590px;padding-top:26px;padding-bottom:24px}
}

@media(max-width:620px){.home-page .hero-caption{bottom:8px}}

/* Kompakter Scroll-Button im Geschichts-Hero */
.history-hero .scroll-cue{padding:10px 16px;font-size:.78rem}

/* Footer-Logo proportional auf die Höhe des Adressblocks skalieren */
.brand-footer .brand-logo{width:auto;height:124px;max-width:210px;object-fit:contain;object-position:left center}

/* Startseite: full-bleed header, centered content container */
.home-page .intro>.eyebrow,.home-page .intro-grid,
.home-page .services>.services-header,.home-page .services>.service-feature-grid,.home-page .services>.all-services-panel{width:100%;max-width:1280px;margin-left:auto;margin-right:auto}
.home-page .team-section{width:100%;margin-left:auto;margin-right:auto}
.home-page .contact-band{padding-left:max(24px,calc((100vw - 1280px)/2));padding-right:max(24px,calc((100vw - 1280px)/2))}
.home-page .site-footer{padding-left:max(24px,calc((100vw - 1280px)/2));padding-right:max(24px,calc((100vw - 1280px)/2))}
