:root{--brand:#00a4d6;--dark:#007ea6;--light:#60e4ff;--navy:#062a3e;--deep:#031923;--foot:#02151e;--text:#16252e;--grey:#5a6d77;--ice:#eef8fb;--line:#d8e7ec;--gold:#f5bd4f;--hero:#f4fbfd;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--text);line-height:1.6;font-size:17px;background:#fff}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.2;margin:0 0 .5em}
a{color:var(--dark)}
.wrap{padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}
.site-header{position:sticky;top:0;z-index:20;min-height:78px;display:flex;align-items:center;gap:32px;background:#fffffff5;backdrop-filter:blur(16px);border-bottom:1px solid #082f491a}
.brand{display:flex;flex-direction:column;text-decoration:none;color:#3a3f44;margin-right:auto}
.brand strong{letter-spacing:.08em;font-size:18px}.brand span{font-size:12px;color:var(--grey)}
nav a{color:var(--text);text-decoration:none;font-size:15px;margin-left:22px}nav a:hover{color:var(--dark)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border-radius:8px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .16s}
.button:hover{transform:translateY(-2px)}.button.primary{background:var(--brand);color:#fff}.button.dark{background:var(--navy);color:#fff}.button.ghost{border:1px solid #ffffff55;color:#fff}
.hero{background:linear-gradient(180deg,var(--hero),#fff);padding-top:96px;padding-bottom:88px}
.kicker{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dark);margin-bottom:14px}
.hero h1{font-size:clamp(36px,5vw,60px);max-width:820px}.hero p.lead{font-size:20px;color:var(--grey);max-width:700px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;max-width:820px}
.facts div{border-left:3px solid var(--brand);padding-left:14px}.facts strong{display:block;font-family:Georgia,serif;font-size:24px;color:var(--navy)}.facts span{color:var(--grey);font-size:14px}
.promise{background:var(--brand);color:#fff;text-align:center;padding:22px 24px}.promise p{margin:0;font-family:Georgia,serif;font-size:clamp(20px,2vw,28px)}
.section{padding-top:clamp(72px,8vw,116px);padding-bottom:clamp(72px,8vw,116px)}
.section h2{font-size:clamp(28px,3.4vw,42px);max-width:760px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:30px;box-shadow:0 16px 44px #082f490f}
.card .no{font-family:Georgia,serif;color:var(--brand);font-size:22px}.card h3{font-size:21px;margin-top:10px}.card p{color:var(--grey);font-size:15px;margin:0}
.navy{background:var(--navy);color:#fff}.navy h2{color:#fff}.navy .kicker{color:var(--light)}.navy p{color:#bcd1da}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.list{list-style:none;padding:0;margin:0}.list li{padding:14px 0;border-bottom:1px solid #ffffff22}.list strong{color:#fff}
.ice{background:var(--ice)}
.contact{background:var(--deep);color:#fff}.contact h2{color:#fff}.contact p,.contact address{color:#bcd1da;font-style:normal}.contact a{color:#fff}
.legal h2{font-size:26px;margin-top:40px}.legal h3{font-size:19px;margin-top:26px}.legal{max-width:860px}
.note{font-size:13px;color:var(--grey)}
footer{background:var(--foot);color:#9fb4be;font-size:13px;padding-top:34px;padding-bottom:34px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}
footer strong{color:#fff;letter-spacing:.06em}footer a{color:#fff;margin-right:16px}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}nav{display:none}}
@media(max-width:560px){.grid,.facts{grid-template-columns:1fr}}
.contact .kicker{color:var(--light)}.contact address strong{color:#fff}

.hero-img{margin:2rem 0 0}.hero-img img{width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:14px;display:block}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0 2rem}
.gallery figure{margin:0;background:#fff;border:1px solid #d8e7ec;border-radius:12px;overflow:hidden}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.gallery figcaption{padding:.6rem .8rem;font-weight:600;color:#062a3e;font-size:.95rem}
.portrait{margin:1.5rem 0 0;max-width:320px}.portrait img{width:100%;height:auto;border-radius:14px;border-bottom:4px solid #00a4d6;display:block}
.portrait figcaption{margin-top:.5rem;color:#5a6d77;font-size:.9rem}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.gallery{grid-template-columns:1fr}.portrait{max-width:100%}}

/* v3 editorial */
.wrap-l{padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:clamp(24px,5vw,72px)}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--dark);font-weight:600;margin:0 0 18px}
.tel{font-weight:600;color:var(--navy);text-decoration:none;border-left:1px solid var(--line);padding-left:24px}
.x-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:min(86vh,780px);background:var(--hero);border-bottom:1px solid var(--line)}
.x-hero-text{display:flex;flex-direction:column;justify-content:center;padding-top:72px;padding-bottom:72px}
.x-hero h1{font-size:clamp(40px,5.4vw,74px);font-weight:400;letter-spacing:-.015em;line-height:1.04;max-width:12ch;margin-bottom:28px}
.x-lead{font-size:20px;color:var(--grey);max-width:34em;margin:0 0 36px}
.x-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin:0}
.textlink{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:1px solid var(--navy);padding-bottom:2px}
.button{border-radius:2px}
.x-hero-img{margin:0;position:relative;overflow:hidden;background:var(--navy)}
.x-hero-img img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;display:block}
.x-hero-img figcaption{position:absolute;left:24px;bottom:20px;color:#fff;font-size:13px;letter-spacing:.04em;background:#062a3ecc;padding:6px 10px}
.x-figures dl{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:56px 0;border-bottom:1px solid var(--line)}
.x-figures div{padding:0 28px;border-left:1px solid var(--line)}.x-figures div:first-child{border-left:0;padding-left:0}
.x-figures dt{font-family:Georgia,serif;font-size:56px;color:var(--navy);line-height:1}.x-figures dd{margin:10px 0 0;color:var(--grey);font-size:15px}
.x-intro{padding-top:140px;padding-bottom:120px}
.x-big{font-family:Georgia,serif;font-size:clamp(28px,3.2vw,44px);line-height:1.25;color:var(--navy);max-width:22em;margin:0 0 64px}
.x-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:960px;margin-left:auto;color:var(--grey)}
.x-sectors{padding:120px 0;background:#fff}.x-sectors h2,.x-stance h2,.x-process h2,.x-claims h2,.x-team h2,.x-contact h2{font-size:clamp(30px,3.4vw,48px);font-weight:400;max-width:18em}
.x-row{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;margin-top:96px}
.x-row img{width:100%;height:clamp(300px,38vw,520px);object-fit:cover;display:block}
.x-row>div{padding:0 max(24px,calc((100vw - var(--max))/2)) 0 clamp(32px,6vw,96px);max-width:640px}
.x-row.rev img{order:2}.x-row.rev>div{padding:0 clamp(32px,6vw,96px) 0 max(24px,calc((100vw - var(--max))/2));justify-self:end}
.x-row h3{font-size:36px;font-weight:400;margin-bottom:6px}.x-row .sub{color:var(--dark);font-weight:600;margin:0 0 18px}.x-row p{color:var(--grey)}
.x-note{margin-top:96px;font-size:15px;color:var(--grey);border-top:1px solid var(--line);padding-top:28px}
.x-quote{background:var(--navy);color:#fff;padding:140px 0}
.x-quote blockquote{margin:0}.x-quote p{font-family:Georgia,serif;font-size:clamp(34px,4.6vw,64px);line-height:1.15;max-width:16em;margin:0 0 28px}
.x-quote cite{font-style:normal;color:var(--light);letter-spacing:.12em;text-transform:uppercase;font-size:13px}
.x-stance,.x-claims{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-top:140px;padding-bottom:140px}
.x-side{align-self:start;position:sticky;top:120px}
.x-defs{margin:0;display:grid;grid-template-columns:180px 1fr}
.x-defs dt,.x-defs dd{border-top:1px solid var(--line);padding:24px 0;margin:0}
.x-defs dt{font-family:Georgia,serif;font-size:21px;color:var(--navy)}.x-defs dd{color:var(--grey)}
.x-process{background:var(--ice);padding:140px 0}
.x-steps{list-style:none;margin:64px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;border-top:2px solid var(--navy)}
.x-steps li{padding-top:28px}.x-steps h3{font-size:22px;font-weight:400}.x-steps p{color:var(--grey);font-size:16px;margin:0}
.x-claims table{border-collapse:collapse;width:100%}
.x-claims th{font-family:Georgia,serif;font-weight:400;font-size:22px;color:var(--dark);text-align:left;vertical-align:top;white-space:nowrap;padding:26px 32px 26px 0;border-top:1px solid var(--line)}
.x-claims td{padding:26px 0;border-top:1px solid var(--line);color:var(--grey)}.x-claims td strong{color:var(--navy)}
.x-team figure{margin:0}.x-team img{width:100%;height:clamp(280px,42vw,560px);object-fit:cover;object-position:80% 30%;display:block}
.x-team-text{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-top:96px;padding-bottom:140px}
.sig{border-left:3px solid var(--brand);padding-left:20px;color:var(--grey)}.sig strong{display:block;color:var(--navy);font-family:Georgia,serif;font-size:22px;font-weight:400}
.x-contact{background:var(--deep);color:#c9d6dc;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;padding-top:140px;padding-bottom:140px}
.x-contact h2{color:#fff}.x-contact .eyebrow{color:var(--light)}
.x-phone a{font-family:Georgia,serif;font-size:clamp(36px,4vw,56px);color:#fff;text-decoration:none}
.x-contact .mail{color:var(--light)}.x-contact address{font-style:normal;align-self:end;line-height:1.8}.x-contact address strong{color:#fff}
@media(max-width:900px){.x-hero,.x-row,.x-stance,.x-claims,.x-team-text,.x-contact,.x-cols{grid-template-columns:1fr;gap:40px}
.x-hero-img{height:70vh}.x-figures dl{grid-template-columns:1fr 1fr;gap:32px 0}.x-figures div:nth-child(3){border-left:0;padding-left:0}
.x-row>div,.x-row.rev>div{padding:32px 24px 0;justify-self:start}.x-row.rev img{order:0}.x-side{position:static}.x-steps{grid-template-columns:1fr 1fr}
nav{display:none}.x-intro,.x-sectors,.x-stance,.x-claims,.x-process,.x-quote,.x-contact{padding-top:88px;padding-bottom:88px}}
@media(max-width:520px){.x-steps,.x-defs{grid-template-columns:1fr}.x-defs dd{border-top:0;padding-top:0}.x-figures dt{font-size:42px}}

.x-themes{padding:64px 0}.grid-themes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:20px}.grid-themes a.card{text-decoration:none;color:inherit}

/* === v5 responsive/zoom fixes === */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:clip;max-width:100%}
img,svg,video{max-width:100%;height:auto}
h1,h2,h3,h4,p,li,dt,dd,a,span,strong,th,td{overflow-wrap:break-word;hyphens:auto}
[class*="grid"]>*,[class*="-section"]>*,.hero>*,.final-cta>*,.split-feature>*,.case-section>*,.confidence-strip>*,.manager-risk-teaser>*,.role-section>*,.tension-section>*,.interests-section>*,.berlin-case>*,.coverage-section>*,.sources-section>*{min-width:0}
.button{white-space:normal;max-width:100%;text-align:center}
.site-header{flex-wrap:wrap;row-gap:8px}
@media (max-width:760px){.audience-card{grid-template-columns:1fr}}
@media (min-width:761px) and (max-width:1050px){.audience-grid{grid-template-columns:1fr}}
body{font-size:1.0625rem}
.x-figures dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));row-gap:32px}
.x-figures dt{font-size:clamp(2.25rem,4vw,3.5rem)}
.x-steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.grid,.gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.x-defs{grid-template-columns:minmax(120px,180px) 1fr}
.x-row>div{max-width:100%}
.x-hero h1{font-size:clamp(2.25rem,1.2rem + 4vw,4.6rem)}
nav{display:flex;flex-wrap:wrap;gap:6px 0}
@media(max-width:900px){.x-row.rev>div{justify-self:stretch}.x-row>div,.x-row.rev>div{padding:28px 24px 0}.x-row.rev img{order:0}.x-side{position:static}.x-hero{min-height:0}.x-hero-img img{max-height:70vh}.x-intro,.x-sectors,.x-quote,.x-process,.x-stance,.x-claims,.x-contact{padding-top:80px;padding-bottom:80px}}
@media(max-width:600px){.x-defs{grid-template-columns:1fr}.x-defs dd{border-top:0;padding-top:0}.x-claims th{white-space:normal;display:block;padding:20px 0 4px}.x-claims td{display:block;border-top:0;padding-top:0}.x-claims tr{display:block}.tel{border-left:0;padding-left:0}.x-figures div{border-left:0;padding-left:0}}
