/* Hepp Research corporate identity — original hexadecimal colors retained. */
:root {color-scheme:light;--ci-blue:#00519c;--ci-light:#9faac4;--ci-black:#1a171b;--ci-orange:#f3ad24;--bulma-primary-h:209deg;--bulma-primary-s:100%;--bulma-primary-l:31%;--bulma-link-h:209deg;--bulma-link-s:100%;--bulma-link-l:31%;--bulma-scheme-main-l:100%;--bulma-text-strong-l:16%;}
html {background:#fff;} body {color:var(--ci-black);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;} a {color:var(--ci-blue);} a:hover{color:#0c4171;} .site-nav{background:#fff;border-bottom:3px solid var(--ci-blue);box-shadow:0 2px 12px #1a171b12;} .site-nav .navbar-brand img{max-height:3rem;width:auto;} .site-nav .navbar-item{color:var(--ci-black);font-weight:600;} .site-nav .navbar-item:hover,.site-nav .navbar-item.is-active{background:#00519c0e;color:var(--ci-blue);} .site-nav .navbar-burger{color:var(--ci-blue);} .site-hero{background:linear-gradient(115deg,#00519c 0%,#0c4171 100%);color:#fff;} .site-hero h1,.site-hero h2,.site-hero p,.site-hero a:not(.button){color:#fff;} .site-hero .title{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.12;} .site-hero .subtitle{color:#fff;line-height:1.6;} .site-hero .hero-illustration{border-radius:12px;max-height:330px;object-fit:cover;box-shadow:0 12px 35px #0003;} .site-hero .button.is-primary,.button.is-primary{background:var(--ci-blue);color:#fff;} .site-hero .button.is-primary{background:var(--ci-orange);color:var(--ci-black);} .button.is-warning{background:var(--ci-orange);color:var(--ci-black);} .site-main{padding-top:2.5rem;padding-bottom:3rem;} .site-main .content h1,.site-main .content h2,.site-main .content h3{color:var(--ci-blue);} .site-main .content h1{font-size:2.15rem;} .site-main .content h2{font-size:1.55rem;} .site-main .content h3{font-size:1.25rem;} .site-main .content p{line-height:1.75;} .site-main .box{height:auto;border:1px solid #9faac455;box-shadow:0 6px 20px #1a171b0a;border-radius:10px;} .site-main .columns>.column>.box{height:100%;} .site-main figure{margin:0 1.25rem 1rem 0;} .site-main figure img{height:auto;max-width:100%;border-radius:5px;} .site-main img{max-width:100%;height:auto;} .site-main .site-image-small{max-width:140px}.site-main .site-image-medium{max-width:220px}.site-main .site-image-large{max-width:460px}.site-main .site-image-framed,.site-main .site-image-shadow{box-shadow:0 4px 14px #1a171b2a;} .site-main .site-text-normal{text-align:left;} .site-main .partners img{max-height:75px;object-fit:contain;} .site-footer{border-top:3px solid var(--ci-light);background:#f7f8fa;padding:2rem 1.5rem;color:var(--ci-black);font-size:.9rem;} .site-footer a{color:var(--ci-blue);} .site-main .table{background:#fff;} .site-main .table td,.site-main .table th{vertical-align:top;} #call{display:inline-block;padding:.65rem 1rem;border:1px solid #ffffff66;border-radius:6px;font-weight:600;color:#fff;} .site-hero .button{margin:.5rem;} .reference-grid{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;} .reference-grid>div{width:110px;} .reference-grid img{max-height:65px;object-fit:contain;} @media(max-width:1023px){.site-nav .navbar-menu{box-shadow:0 8px 15px #0002;} .site-hero .hero-illustration{max-height:230px;} } @media(max-width:768px){.site-main{padding-top:1.5rem}.site-main .content h1{font-size:1.8rem}.site-hero{padding:1.5rem 0}.site-hero .title{font-size:2rem;}}

/* Refinements: Bulma native heading scale and corporate-logo clear space. */
.site-main .content h1.title.is-2,.site-main h1.title.is-2 {font-size:clamp(2rem,3vw,2.65rem);line-height:1.18;font-weight:700;color:var(--ci-blue);margin-bottom:1.25rem;}
.site-main .content h2.title.is-3,.site-main h2.title.is-3 {font-size:clamp(1.55rem,2vw,2rem);line-height:1.24;font-weight:700;color:var(--ci-blue);margin-bottom:1rem;}
.site-main .content h3.title.is-4,.site-main h3.title.is-4 {font-size:clamp(1.3rem,1.7vw,1.65rem);line-height:1.3;font-weight:700;color:var(--ci-blue);margin-bottom:.9rem;}
.site-main .box h2.service-heading {font-size:1.8rem;color:var(--ci-blue);margin-bottom:1rem;}
/* Original logo is kept unmodified and displayed with clear space. */
.site-nav .navbar-brand > .navbar-item {padding:1rem 1.25rem;min-height:5.8rem;}
.site-nav .navbar-brand img {max-height:3.5rem;width:auto;object-fit:contain;}
/* Reference images have large intrinsic whitespace; give them a two-column grid. */
.site-main .partners .client-grid {margin-top:.5rem;}
.site-main .partners .client-grid .column {display:flex;align-items:center;justify-content:center;padding:.5rem;}
.site-main .partners .client-grid figure {margin:0;width:100%;}
.site-main .partners .client-grid img {width:100%;max-width:190px;max-height:none;height:auto;object-fit:contain;}
.site-main .partners .client-note {text-align:center;font-size:1rem;margin:1rem 0 0;}
@media(max-width:768px){.site-nav .navbar-brand > .navbar-item{min-height:5rem;padding:.75rem 1rem}.site-nav .navbar-brand img{max-height:3.1rem}.site-main .box h2.service-heading{font-size:1.6rem}}

/* V3: readable editorial typography, distinct surfaces and narrow-screen gutters. */
html,body {min-width:0;overflow-wrap:break-word;}
.site-main.container {width:calc(100% - 3rem);max-width:1152px;margin-inline:auto;}
.site-main .columns {margin-left:-.75rem;margin-right:-.75rem;}
.site-main .columns > .column {min-width:0;}
.site-main .box {background:#f8fafd;border:1px solid #d8e0ed;box-shadow:0 8px 28px #1a171b0d;border-radius:14px;}
.site-main .box .content {background:transparent;}
.site-main .content {font-size:1rem;line-height:1.65;}
.site-main .content p {line-height:1.7;}
.site-main .bio-sidebar {align-self:flex-start;}
.site-main .bio-box {padding:1.5rem;}
.site-main .bio-box h3.title {font-size:clamp(1.4rem,1.8vw,1.8rem);line-height:1.25;margin-bottom:1.25rem;}
.site-main .bio-box .content {font-size:1rem;line-height:1.65;}
.site-main .bio-box .content p {line-height:1.65;text-align:left;hyphens:auto;overflow-wrap:break-word;}
.site-main .bio-box figure {float:none;margin:0 auto 1.5rem;text-align:center;max-width:100%;}
.site-main .bio-box figure img {display:block;width:min(100%,240px);height:auto;margin-inline:auto;border-radius:10px;box-shadow:0 5px 20px #1a171b22;}
.site-main .contact-cta {margin-top:2rem;padding:1.5rem 1.75rem;}
.site-main .contact-cta p {margin:0 0 .6rem;line-height:1.5;}
.site-main .contact-cta-actions {display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.65rem;}
.site-main .contact-cta-actions .button {white-space:normal;height:auto;min-height:2.5em;text-align:center;}
.site-main .content a {overflow-wrap:anywhere;}
@media(max-width:768px){
 .site-main.container {width:calc(100% - 2.5rem);padding-top:1.75rem;}
 .site-main .columns {margin-left:-.5rem;margin-right:-.5rem;}
 .site-main .columns > .column {padding:.5rem;}
 .site-main .box {padding:1.25rem;}
 .site-main h1.title.is-2 {font-size:clamp(1.75rem,7vw,2.2rem);overflow-wrap:break-word;}
 .site-main .contact-cta {padding:1.25rem;}
 .site-main .bio-box figure img {width:min(100%,220px);}
}
@media(max-width:420px){.site-main.container {width:calc(100% - 2rem);} .site-main .box{padding:1rem;} .site-main .contact-cta-actions{gap:.65rem;}}

/* V4: higher-contrast cards; restore natural card heights; editorial bio layout. */
.site-main .box {background:#f0f4fa;border:1.5px solid #b5c4d9;box-shadow:0 5px 18px rgba(26,23,27,.11);}
/* The legacy equal-height rule caused the consulting CTA to stretch to the sidebar height. */
.site-main .columns > .column > .box.contact-cta {height:auto;min-height:0;align-self:auto;}
.site-main .contact-cta {display:block;max-width:100%;margin-bottom:1.5rem;}
.site-main .bio-box {height:auto;}
.site-main .bio-box .content, .site-main .bio-box .content p {hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal;text-align:left;}
.site-main .bio-box .content {font-size:1rem;line-height:1.65;}
.site-main .bio-box figure {float:none;width:100%;margin:0 0 1.25rem;text-align:left;}
.site-main .bio-box figure img {display:block;width:min(100%,240px);height:auto;margin:0;border-radius:8px;}
.site-main .bio-box .content a {overflow-wrap:anywhere;}
@media(max-width:768px){.site-main .bio-box figure img{width:min(100%,220px);}}

/* V5: align homepage service calls to action independently of copy length. */
.site-main .service-cards > .column {display:flex;}
.site-main .service-cards > .column > .box {display:flex;flex-direction:column;width:100%;height:100%;}
.site-main .service-cards > .column > .box > p:last-child {margin-top:auto;padding-top:1.25rem;margin-bottom:0;}

/* V6: responsive office label/value grid, aligned with address; unified CTA. */
.site-main .office-box address {margin-bottom:1rem;}
.site-main .office-details {display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:1.25rem;row-gap:0;margin:0;padding:0;font-style:normal;}
.site-main .office-details dt,.site-main .office-details dd {margin:0;padding:.55rem 0;border-bottom:1px solid #c8d2e0;min-width:0;}
.site-main .office-details dt {font-weight:650;}
.site-main .office-details dd {overflow-wrap:anywhere;word-break:normal;}
.site-main .office-details dt:nth-last-child(2),.site-main .office-details dd:last-child {border-bottom:0;}
.site-main .office-box .content {min-width:0;}
.site-main .contact-cta {height:auto !important;min-height:0;align-self:flex-start;}
@media(max-width:480px){.site-main .office-details{column-gap:.75rem;grid-template-columns:max-content minmax(0,1fr);}}

/* V7: local presentation helpers; all framework classes are Bulma 1.x. */
.site-main .site-float-right{float:right;margin:0 0 1rem 1.25rem;}
.site-main .site-text-normal{text-align:left;}
.site-main .office-box .office-details{width:100%;max-width:100%;}
.site-main .office-box .office-details dt{overflow-wrap:anywhere;}
@media(max-width:480px){.site-main .office-box .office-details{grid-template-columns:minmax(0, 42%) minmax(0, 58%);column-gap:.5rem;}}

/* V8: imprint office information occupies full width above legal copy. */
.site-main .imprint-layout > .imprint-office {margin:1.5rem 0 2.5rem;max-width:100%;}
.site-main .imprint-layout > .imprint-office > .office-box {height:auto;}
.site-main .imprint-layout > .imprint-office .office-details {grid-template-columns:minmax(11rem, 15rem) minmax(0,1fr);column-gap:1.25rem;}
.site-main .imprint-layout > .imprint-office .office-details dd {overflow-wrap:break-word;}
@media(max-width:600px){.site-main .imprint-layout > .imprint-office .office-details{grid-template-columns:minmax(0, 42%) minmax(0, 58%);column-gap:.6rem;}}
