:root{--ink:#173e5c;--ink-soft:#45667d;--blue:#24698f;--pale:#eef3f6;--pale-2:#dfeaf0;--white:#fff;--line:rgba(23,62,92,.18);--gutter:clamp(1.25rem,4.5vw,5.5rem);--max:1500px;--display-size:clamp(3.1rem,5.5vw,6.3rem);--body-size:clamp(1rem,1.35vw,1.18rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;color:var(--ink);background:var(--pale);font:16px/1.6 Arial,Helvetica,sans-serif}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.section{padding-left:var(--gutter);padding-right:var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;padding:.75rem 1rem;background:var(--ink);color:#fff}.skip-link:focus{top:1rem}.eyebrow,.section-kicker{color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.section-kicker{margin-bottom:2.5rem}
.site-header{--header-height:84px;position:fixed;inset:0 0 auto;z-index:50;height:var(--header-height);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gutter);background:rgba(249,253,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);transition:height .25s,box-shadow .25s}.site-header.is-scrolled{--header-height:70px;box-shadow:0 12px 35px rgba(23,62,92,.08)}.brand{width:max-content;color:var(--ink);font-size:clamp(1.14rem,1.7vw,1.65rem);font-weight:900;letter-spacing:-.065em;line-height:1}.brand span{font-weight:400}.desktop-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2.4rem);white-space:nowrap}.desktop-nav a,.mobile-nav a{color:var(--blue);font-size:.8rem;font-weight:700}.desktop-nav a{position:relative}.desktop-nav a::after{content:'';position:absolute;inset:auto 100% -.5rem 0;height:2px;background:var(--blue);transition:right .2s}.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{right:0}.header-actions{justify-self:end}.menu-toggle,.mobile-nav{display:none}
.brand{display:inline-flex;align-items:center;width:clamp(190px,18vw,245px);line-height:0}.brand img{display:block;width:100%;height:auto}
.hero{position:relative;isolation:isolate;height:calc(100svh - 84px);min-height:640px;margin-top:84px;overflow:hidden;background:#f8f8f4}.hero-art{position:absolute;inset:0;overflow:hidden}.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}.hero-wave-base{z-index:0;will-change:transform;animation:paper-drift 11s ease-in-out infinite alternate}.hero-wave-motion{z-index:1;opacity:.28;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(to bottom,transparent 35%,#000 76%);mask-image:linear-gradient(to bottom,transparent 35%,#000 76%);will-change:transform;animation:paper-swell 8s ease-in-out infinite alternate}.hero-art .hero-stone{z-index:2;transform:scale(.656);transform-origin:70% 54%;filter:drop-shadow(0 12px 16px rgba(18,58,83,.09))}.hero-wave-front{z-index:3;opacity:1;transform:translateY(-10.5%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%);will-change:transform;animation:paper-front 13s ease-in-out infinite alternate}.hero-message{position:absolute;z-index:4;top:clamp(4rem,9vh,8rem);left:var(--gutter);width:min(930px,65vw);color:var(--ink)}.hero-kicker{margin:0 0 1.5rem;color:#417c91;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(3.3rem,5.4vw,6.5rem);font-weight:600;letter-spacing:-.058em;line-height:1.04}.hero h1 em{color:#2d6d83;font-style:normal}@keyframes paper-drift{from{transform:scale(1.11) translate3d(-2.3%,0,0)}to{transform:scale(1.11) translate3d(2.3%,-.35%,0)}}@keyframes paper-swell{from{transform:scale(1.12) translate3d(3.3%,.25%,0)}to{transform:scale(1.12) translate3d(-3.3%,-.4%,0)}}@keyframes paper-front{from{transform:scale(1.045) translate3d(-1.4%,-10.2%,0)}to{transform:scale(1.045) translate3d(1.4%,-11%,0)}}
.hero-city{background:#f7f6f2}.hero-city .hero-city-image{z-index:1;object-position:center center}.hero-city+.hero-message{width:min(880px,59vw)}.hero-city+.hero-message h1{font-size:clamp(2.8rem,4.6vw,5.5rem);line-height:1.02}.hero-city+.hero-message h1 em{display:block;margin-top:.18em;font-size:.58em;line-height:1.18;letter-spacing:-.035em}
.split-section{min-height:720px;display:grid;grid-template-columns:1fr 1fr}.split-media{min-height:650px;overflow:hidden}.split-media img{height:100%;object-fit:cover}.split-copy{align-self:center;padding:clamp(3.5rem,6vw,7rem)}.split-copy h2{margin:0 0 2.8rem;font-size:var(--display-size);line-height:.98}.split-copy h2 em,.areas-heading h2 em,.career-copy h2 em,.contact-heading h2 em,.team-heading h2 em{color:var(--blue)}.split-copy>p:not(.section-kicker):not(.eyebrow){max-width:620px;font-size:var(--body-size);line-height:1.65}.split-copy>p:last-child{margin-bottom:0}.firm-section{background:var(--pale)}.expertise-story{background:#e6eff4}.expertise-story .split-media{order:2}.expertise-story .split-copy{order:1}.expertise-story .eyebrow{margin-bottom:1.4rem}
.expertise-areas{padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(6rem,10vw,10rem);background:#f1f6f8}.areas-heading{max-width:var(--max);margin:0 auto 4rem}.areas-heading h2{font-size:var(--display-size);line-height:.95}.areas-grid{max-width:var(--max);margin:auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);list-style:none}.areas-grid li{position:relative;min-height:250px;display:flex;align-items:center;overflow:hidden;padding:clamp(1.5rem,2.4vw,2.5rem);background:rgba(255,255,255,.08);color:var(--ink);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.areas-grid li::before,.areas-grid li::after{content:'';position:absolute;width:30px;height:30px}.areas-grid li::before{top:1.25rem;left:1.25rem;background:linear-gradient(#86aebf,#86aebf) left top/30px 3px no-repeat,linear-gradient(#86aebf,#86aebf) left top/3px 30px no-repeat;opacity:.62}.areas-grid li::after{right:1.25rem;bottom:1.25rem;background:linear-gradient(var(--blue),var(--blue)) right bottom/30px 3px no-repeat,linear-gradient(var(--blue),var(--blue)) right bottom/3px 30px no-repeat;opacity:.88}.areas-grid h3{max-width:100%;margin:0;font-size:clamp(1.55rem,2.05vw,2.5rem);font-weight:700;line-height:1.12;overflow-wrap:break-word}
.areas-grid--classic h3{font-size:clamp(1.1rem,1.3vw,1.25rem);line-height:1.12;word-break:normal;overflow-wrap:normal;hyphens:auto}
.team{max-width:var(--max);margin:auto;padding-top:clamp(6rem,10vw,10rem);padding-bottom:clamp(6rem,10vw,10rem)}.team-heading{max-width:1080px;margin-bottom:4rem}.team-heading .section-kicker{margin-bottom:1.25rem}.team-heading h2{margin:0 0 2.5rem;font-size:var(--display-size);line-height:.98}.team-heading>p:last-child{max-width:760px;font-size:var(--body-size);line-height:1.65}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,3vw,3.5rem)}.team-card{display:flex;flex-direction:column}.portrait{aspect-ratio:4/4.5;overflow:hidden;background:#d1e5ef}.portrait img{height:100%;object-fit:cover;transition:transform .5s}.team-card:hover .portrait img,.team-card:focus-visible .portrait img{transform:scale(1.025)}.team-card-caption{flex:1;display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.team-card-caption h2{margin:0 0 .35rem;font-size:clamp(1.55rem,2.5vw,2.6rem);line-height:1.1}.team-card-caption p{margin:0;color:var(--ink-soft);font-size:.85rem}.team-card-caption>span{color:var(--blue);font-size:1.75rem;line-height:1}
.career{min-height:700px;display:grid;grid-template-columns:1fr 1fr;color:#fff;background:#245e82}.career-image{min-height:600px;overflow:hidden}.career-image img{height:100%;object-fit:cover}.career-copy{align-self:center;padding:clamp(4rem,7vw,8rem)}.career-copy .eyebrow{color:#c4e6f8}.career-copy h2{margin:0 0 2.5rem;font-size:var(--display-size);line-height:.98}.career-copy h2 em{color:#a8d7ee}.career-copy p:not(.eyebrow){max-width:620px;color:#e1edf4;font-size:var(--body-size)}.career-copy a{display:inline-flex;margin-top:2rem;padding:1rem 0;border-bottom:1px solid #d8ebf6;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.contact{background:#e7f0f4}.contact-image{height:clamp(280px,36vw,520px);overflow:hidden}.contact-image img{height:100%;object-fit:cover;object-position:center 48%}.contact-content{max-width:var(--max);margin:auto;padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}.contact-heading{max-width:1100px;margin-bottom:5rem}.contact-heading h2{font-size:var(--display-size);line-height:.96}.contact-grid{display:grid;grid-template-columns:minmax(max-content,.9fr) 1fr;gap:6vw;padding-top:2.5rem;border-top:1px solid var(--line)}.contact-address{display:flex;flex-direction:column}.contact-address strong{font-size:clamp(.82rem,1.25vw,1.15rem);white-space:nowrap}.contact-address span{color:var(--ink-soft)}.contact-links a{display:grid;grid-template-columns:.4fr 1fr;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.contact-links a:first-child{padding-top:0}.contact-links span{color:var(--blue);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.contact-links strong{font-size:clamp(.9rem,1.5vw,1.15rem);font-weight:650;overflow-wrap:anywhere}
.site-footer{padding:5rem var(--gutter) 2rem;color:#fff;background:#173e5c}.site-footer .brand{color:#fff}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:5rem}.footer-top>a:last-child{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.25);color:#c5dce9;font-size:.68rem}.footer-bottom p{margin:0}.footer-bottom nav{display:flex;gap:1.8rem}.footer-bottom p:last-child{text-align:right}
.cv-dialog,.news-dialog{width:min(1040px,calc(100% - 2rem));max-height:min(90vh,900px);max-height:min(90dvh,900px);padding:0;border:0;background:#f3f9fc;color:var(--ink);box-shadow:0 30px 90px rgba(8,42,66,.28);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cv-dialog::backdrop,.news-dialog::backdrop{background:rgba(9,43,65,.62)}.dialog-top{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--line);background:#f3f9fc}.dialog-top p{margin:0;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.dialog-top button{width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:2rem;line-height:1;cursor:pointer;touch-action:manipulation}.dialog-layout{display:grid;grid-template-columns:40% 1fr;gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.5rem,4vw,4rem)}.dialog-portrait{height:100%;max-height:590px;overflow:hidden}.dialog-portrait img{height:100%;object-fit:cover}.dialog-layout h2,.news-dialog h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05}.dialog-layout p:not(.section-kicker),.news-dialog-content>p:not(.section-kicker){font-size:1rem;line-height:1.65}.dialog-layout a,.news-dialog-content a{display:inline-block;margin-top:1rem;padding-bottom:.25rem;border-bottom:1px solid var(--blue);color:var(--blue);font-weight:700}.news-dialog{width:min(650px,calc(100% - 2rem))}.news-dialog-content{padding:clamp(2rem,5vw,4rem)}
.split-copy>p:not(.section-kicker):not(.eyebrow),.team-heading>p:last-child,.career-copy>p:not(.eyebrow),.dialog-layout p:not(.section-kicker),.legal-block p{text-align:justify;hyphens:auto;text-wrap:pretty}.split-media,.portrait,.career-image,.contact-image,.dialog-portrait{background:#b8d5e3}.split-media img,.portrait img,.career-image img,.contact-image img,.dialog-portrait img{opacity:.88;filter:grayscale(1) brightness(1.12) contrast(.9);mix-blend-mode:luminosity}
.legal-page{background:var(--pale)}.legal-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);border-bottom:1px solid var(--line);background:#fff}.legal-header>a:last-child{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.legal-main{max-width:1100px;margin:auto;padding:clamp(6rem,10vw,10rem) var(--gutter)}.legal-main h1{margin:0 0 5rem;font-size:clamp(4rem,9vw,9rem);line-height:.85}.legal-main h1 em{color:var(--blue)}.legal-block{padding:2.5rem 0;border-top:1px solid var(--line)}.legal-block h2{margin:0 0 1.5rem;font-size:clamp(1.6rem,2.5vw,2.5rem)}.legal-block h3{margin:1.8rem 0 .5rem;font-size:1rem;letter-spacing:-.01em}.legal-block p,.legal-block li{max-width:780px;color:var(--ink-soft)}.legal-block a{text-decoration:underline;text-underline-offset:.2em}.legal-note{margin-top:3rem;padding:1.2rem;border-left:3px solid var(--blue);background:#d8eaf4}
@media(max-width:1000px){.hero{height:auto;min-height:0;display:flex;flex-direction:column}.hero-message{position:relative;top:auto;left:auto;order:-1;width:100%;padding:3rem var(--gutter) 1rem}.hero-art{position:relative;aspect-ratio:16/9}.hero-art img{object-position:center center}.hero h1{font-size:clamp(3rem,6.5vw,5.25rem)}}
@media(max-width:1100px){.desktop-nav{display:none}.site-header{grid-template-columns:1fr auto}.menu-toggle{display:grid;width:42px;height:42px;padding:0;place-content:center;gap:7px;border:0;background:transparent;cursor:pointer}.menu-toggle>span:not(.sr-only){width:24px;height:2px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;right:0;height:calc(100vh - var(--header-height) + 1px);height:calc(100dvh - var(--header-height) + 1px);overflow-y:auto;flex-direction:column;padding:2rem var(--gutter);background:var(--pale)}.mobile-nav.is-open{display:flex}.mobile-nav a{padding:1rem 0;border-bottom:1px solid var(--line);font-size:clamp(1.7rem,7vw,2.5rem);letter-spacing:-.04em}}
@media(max-width:1200px){.areas-grid--classic{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.areas-grid--classic{grid-template-columns:1fr}}
@media(max-width:720px){html{scroll-padding-top:64px}.site-header{--header-height:72px}.site-header.is-scrolled{--header-height:64px}.legal-header{height:72px}.hero{margin-top:72px}.hero-message{padding:2.7rem var(--gutter) 1.2rem}.hero h1{font-size:clamp(2.45rem,9.6vw,4.4rem)}.hero-kicker{font-size:.62rem;line-height:1.5}.hero-art{aspect-ratio:4/3}.hero-art img{object-position:72% center}.hero-city .hero-city-image{object-position:72% center}.hero-city+.hero-message{width:100%}.hero-city+.hero-message h1{font-size:clamp(2.35rem,9.3vw,4rem)}.hero-city+.hero-message h1 em{font-size:.64em}.split-section,.career{min-height:0;grid-template-columns:1fr}.split-media,.career-image{min-height:420px}.split-copy,.career-copy{padding:4.5rem var(--gutter) 5rem}.firm-section .split-media{order:2}.firm-section .split-copy{order:1}.expertise-story .split-media{order:2}.expertise-story .split-copy{order:1}.split-copy h2{font-size:clamp(3rem,13vw,5rem)}.areas-grid{grid-template-columns:repeat(2,1fr)}.areas-grid li{min-height:160px;padding:1.25rem}.areas-grid li::before,.areas-grid li::after{width:21px;height:21px}.areas-grid li::before{top:.9rem;left:.9rem;background-size:21px 2px,2px 21px;opacity:.55}.areas-grid li::after{right:.9rem;bottom:.9rem;background-size:21px 2px,2px 21px;opacity:.82}.areas-grid h3{font-size:clamp(1.12rem,4.5vw,1.45rem);line-height:1.18}.areas-grid--classic{grid-template-columns:1fr}.areas-grid--classic h3{font-size:clamp(1.05rem,4.5vw,1.25rem)}.team-grid{grid-template-columns:1fr;gap:3rem}.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-links a{grid-template-columns:1fr;gap:.25rem}.footer-top{align-items:flex-start;flex-direction:column;gap:3rem}.footer-bottom{grid-template-columns:1fr}.footer-bottom p:last-child{text-align:left}.dialog-layout{grid-template-columns:1fr}.dialog-portrait{height:clamp(180px,38vh,280px);height:clamp(180px,38dvh,280px);max-height:none}.legal-header>a:last-child{font-size:.58rem}}
@media(max-width:720px){.header-actions{display:flex;align-items:center}}
@media(max-width:720px){.brand{width:min(48vw,190px)}}
@media(max-width:460px){.areas-grid{grid-template-columns:1fr}.areas-grid li{min-height:120px}.areas-grid h3{font-size:1.2rem}.areas-grid--classic h3{font-size:clamp(.98rem,5vw,1.2rem);line-height:1.15}.cv-dialog,.news-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.dialog-top{padding:.65rem 1rem}.dialog-layout{padding:1rem 1.15rem 1.75rem}.dialog-layout h2,.news-dialog h2{font-size:clamp(1.9rem,9vw,2.4rem)}}
@media(prefers-reduced-motion:reduce){.hero-wave-base,.hero-wave-motion,.hero-wave-front{animation:none!important}.hero-wave-base,.hero-wave-motion{transform:none!important}.hero-wave-motion{opacity:0}.hero-wave-front{opacity:1;transform:translateY(-10.5%)!important}html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* WordPress integration: preserve the approved layout, including toolbar offsets. */
.admin-bar .site-header{top:32px}.admin-bar .hero{margin-top:84px}
.huebner-edit-shortcut{position:absolute;z-index:10;top:16px;right:16px;padding:7px 12px;border:1px solid #fff;border-radius:3px;background:#0073aa;color:#fff;font-size:12px;cursor:pointer}
.hero,.firm-section,.expertise-section,.team,.career,.contact,.site-footer{position:relative}
.team-heading>p{max-width:760px;font-size:var(--body-size);line-height:1.65}.hero-art img{height:100%}.legal-block .wp-block-image img{height:auto}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:720px){.admin-bar .hero{margin-top:72px}}
@media(max-width:600px){#wpadminbar{position:fixed}}

/* Top spacing also works when sections are hidden or reordered. */
.home #inhalt{padding-top:84px}.home .hero,.admin-bar.home .hero{margin-top:0}
@media(max-width:720px){.home #inhalt{padding-top:72px}}
