:root{--ink:#2f3a44;--orange:#F5A216;--paper:#fff;--muted:#2f3a44;--line:#2f3a4433;--page-gutter:max(6%,calc((100vw - 1268px)/2));font-family:Aptos,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}header{height:108px;max-width:none;margin:0;padding:20px var(--page-gutter);display:flex;align-items:center;justify-content:space-between;background:#fff;gap:30px}.brand img{display:block;width:154px;height:auto}nav{display:flex;align-items:center;gap:40px;font-size:1rem}nav a:hover{color:#2f3a44}.nav-contact{background:var(--ink);color:#fff;padding:15px 22px}.nav-contact span{margin-left:24px}.nav-contact:hover{background:#2f3a44;color:#fff}.hero{max-width:none;margin:0;padding:55px var(--page-gutter) 0;display:grid;grid-template-columns:1.12fr 1fr;column-gap:50px;overflow:hidden}.eyebrow{font-size:.8125rem;letter-spacing:.13em;font-weight:650;line-height:1.7;margin:0 0 25px}h1{font-size:clamp(3.256rem,6.072vw,5.808rem);line-height:1.02;letter-spacing:-.048em;margin:0;font-weight:650}h1 .hero-verstehen,h1 .hero-handeln{color:var(--ink)}h1 .hero-vollenden{color:var(--orange)}.intro{max-width:485px;font-size:1.125rem;line-height:1.65;margin:30px 0}.button{display:inline-flex;align-items:center;gap:28px;background:var(--ink);color:white;padding:18px 22px;font-size:1rem;transition:background .2s}.button:hover{background:#2f3a44}.hero-visual{position:relative;margin-top:10px;align-self:stretch;margin-bottom:10px;min-height:460px;padding:26px 0 26px 22px}.hero-visual:before{content:"";position:absolute;inset:0 -90px 0 32%;background:var(--orange);transform:skewX(-16deg);z-index:-1}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);position:absolute;inset:26px 0 26px 22px;height:calc(100% - 52px);width:calc(100% - 22px)}.image-caption{position:absolute;bottom:26px;left:22px;right:0;background:#2f3a44;color:#fff;padding:22px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.8125rem;letter-spacing:.035em}.image-caption span:first-child{font-weight:700}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:64px;padding:23px 0;color:var(--muted);font-size:.875rem}.section{padding:100px var(--page-gutter);scroll-margin-top:20px}h2{font-size:clamp(2.1rem,3.5vw,3.3rem);line-height:1.13;letter-spacing:-.03em;font-weight:600;margin:0 0 25px}p{line-height:1.65}.services{display:grid;grid-template-columns:1fr 1.12fr;gap:80px;background:#f2f2f2}.section-heading>p:last-child{font-size:1.0625rem;max-width:410px;color:var(--muted)}.service-list{border-top:1px solid #2f3a4433}details{border-bottom:1px solid #2f3a4433}summary{display:flex;align-items:center;list-style:none;cursor:pointer;gap:24px;padding:24px 0}summary::-webkit-details-marker{display:none}.number{font-size:.8125rem;color:var(--muted)}h3{font-size:1.2rem;line-height:1.3;margin:0;font-weight:600}summary h3{flex:1}.toggle{width:16px;height:16px;position:relative;flex-shrink:0}.toggle:before,.toggle:after{content:"";position:absolute;background:var(--ink);top:7px;left:0;width:16px;height:2px}.toggle:after{transform:rotate(90deg)}details[open] .toggle:after{display:none}details[open] .number{color:#2f3a44}details p{padding:0 32px 26px 42px;margin:0;color:var(--muted);font-size:1rem}.partner-heading{max-width:760px}.partner-heading>p:last-child{color:var(--muted);font-size:1.125rem}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:52px}.person{border-top:4px solid var(--orange);display:flex;flex-direction:column;padding-top:22px}.person-top{display:flex;justify-content:space-between;gap:20px;font-size:.8125rem;letter-spacing:.08em;color:var(--muted);margin-bottom:24px}.person h3{font-size:2rem;letter-spacing:-.02em}.role{margin:8px 0 20px;color:var(--muted);min-height:52px;font-size:1rem}.person-lead{font-size:1.1875rem;margin:0 0 20px;min-height:94px}.person ul{padding-left:19px;line-height:1.6;margin:0 0 28px;color:var(--muted)}.person li{padding-left:4px;margin-bottom:12px}.person li::marker{color:#F5A216}.person-contact{border-top:1px solid var(--line);padding-top:22px;margin-top:auto;display:grid;gap:14px;font-size:1rem}.person-contact a{overflow-wrap:anywhere}.person-contact a:first-child{display:flex;justify-content:space-between;gap:16px}.person-contact a:hover{text-decoration:underline}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1.25fr 1fr;gap:80px;position:relative;border-top:8px solid var(--orange)}.contact .eyebrow{color:var(--orange)}.contact h2{font-size:clamp(2.2rem,4vw,3.75rem)}.contact p{color:#fff;font-size:1.0625rem}.contact-address{padding-top:48px}.contact-address h3{font-size:1.25rem}.contact-address p{margin:12px 0 28px}.contact-address a{border-top:1px solid #ffffff55;padding:19px 0;display:flex;justify-content:space-between;gap:20px;font-size:1rem}.contact-address a:hover{color:var(--orange)}footer{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 6%;font-size:.875rem;color:var(--muted)}footer img{width:108px;height:auto}.skip{position:absolute;left:10px;top:-100px;background:#fff;padding:15px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.section{padding-left:max(6%,calc((100vw - 1268px)/2));padding-right:max(6%,calc((100vw - 1268px)/2))}}@media(max-width:1000px){.hero{column-gap:25px}.hero-visual{min-height:430px}.services{gap:35px}.section{padding-top:75px;padding-bottom:75px}.partner-grid{gap:35px}.contact{gap:40px}}@media(max-width:700px){header{height:88px;padding:15px 6%;gap:15px}.brand img{width:112px}nav{gap:17px;font-size:.875rem}.nav-contact{padding:10px 13px}.nav-contact span{display:none}.hero{display:block;padding-top:35px}.eyebrow{font-size:.75rem;letter-spacing:.09em}h1{font-size:clamp(3.08rem,11.44vw,4.4rem)}.hero-visual{height:330px;min-height:0;margin-top:40px;margin-left:-22px;margin-right:14px}.hero-bottom{margin-top:35px;font-size:.8125rem;flex-direction:column;gap:8px}.section{padding:60px 6%}.services,.contact{grid-template-columns:1fr;gap:30px}.partner-grid{grid-template-columns:1fr;gap:45px}.person-lead,.role{min-height:0}.person h3{font-size:1.75rem}.contact-address{padding-top:0}summary{gap:16px}summary h3{font-size:1.0625rem}details p{padding-left:34px;padding-right:10px}.desktop{display:none}footer{flex-wrap:wrap;gap:20px}footer span{font-size:.8125rem}footer a{width:100%;border-top:1px solid var(--line);padding-top:18px}}@media(max-width:370px){nav{gap:10px}nav a{font-size:.8125rem}.brand img{width:93px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-visual{isolation:isolate}

/* EFFX logoguide: explicit hexadecimal brand values take precedence over slide theme swatches. */
h1,h2,h3{font-family:"Aptos Display",Aptos,"Segoe UI",Arial,sans-serif}h1,h2{font-weight:600;letter-spacing:-.025em}
.brand img{width:clamp(229px,26.7vw,409px);max-width:42vw}header{height:auto;min-height:108px;padding-top:32px;padding-bottom:20px;align-items:flex-start}.brand{display:block;flex-shrink:0}footer img{width:136px}

nav a:hover{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:6px}.nav-contact:hover,.button:hover{box-shadow:inset 0 -4px 0 var(--orange)}
.hero-visual:before{inset:0 -35px 0 12%;transform:none;clip-path:polygon(62% 0,100% 0,38% 100%,0 100%)}
.hero-visual:after{content:"";position:absolute;inset:0 auto auto 0;width:24%;height:22%;background:var(--ink);clip-path:polygon(0 0,100% 0,0 100%);z-index:-1}
.section-heading:before,.partner-heading:before{content:"";display:block;width:84px;height:16px;background:var(--ink);clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);margin-bottom:22px}
.contact{border-top:0}.contact:before{content:"";position:absolute;inset:0 0 auto;height:16px;background:var(--orange);clip-path:polygon(0 0,65% 0,100% 100%,0 100%)}
@media(max-width:1000px){.brand img{width:270px}}
@media(max-width:700px){.brand img{width:300px;max-width:46vw}header{min-height:88px}footer img{width:136px}}
@media(max-width:480px){header{flex-wrap:wrap;justify-content:center;gap:0;padding-bottom:18px}nav{width:100%;justify-content:space-between;gap:14px}.brand img{width:clamp(200px,50vw,250px);max-width:72vw}}

/* Simple text navigation with restrained brand-gray separators. */
nav{gap:0;color:var(--ink)}nav a{color:var(--ink)}nav a:hover{text-decoration-color:var(--ink)}.nav-separator{color:var(--ink);margin:0 12px}
@media(max-width:480px){nav{justify-content:flex-end;gap:0}.nav-separator{margin:0 8px}}

/* Legal page follows the existing EFFX brand. */
.legal-page{max-width:1200px;margin:auto;padding:60px 6% 80px;border-top:4px solid var(--orange)}
.legal-page h1{font-size:clamp(2.5rem,6vw,4.5rem);overflow-wrap:anywhere}
.legal-intro{font-size:1rem;margin:24px 0 44px}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 60px;margin-bottom:44px}
.legal-grid section{min-width:0;border-top:1px solid var(--line);padding-top:24px}
.legal-grid h2{font-size:1.375rem;line-height:1.3;margin:0 0 16px;letter-spacing:0}
.legal-grid p{font-size:1rem;margin:0 0 20px}
.legal-grid a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.legal-page{padding-top:40px;padding-bottom:60px}.legal-grid{grid-template-columns:1fr;gap:20px}}

.footer-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-right:auto}

footer .footer-legal{font-size:.875rem;font-weight:400;width:auto;border:0;padding:0}
.legal-warning{background:#fff3d6;border:2px solid #a34b00;border-left-width:8px;color:#542800;padding:24px;margin:0 0 44px}
.legal-warning h2{font-size:1.5rem;line-height:1.3;letter-spacing:0;margin:0 0 12px}
.legal-warning p{font-size:1rem;margin:0 0 16px}
.legal-warning strong{display:block;font-size:1.125rem;line-height:1.5}
@media(max-width:700px){.footer-meta{flex-basis:100%}.legal-warning{padding:20px}}

/* Footer: brand origin left, legal information centered, return link right. */
footer{max-width:none;margin:0;padding:42px var(--page-gutter);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:32px}
.footer-brand{justify-self:start;min-width:0}footer .footer-brand img{display:block;width:168px;height:auto}.footer-origin{margin:10px 0 0;font-size:.875rem;line-height:1.45;font-style:italic;white-space:nowrap}.footer-origin span{font-size:inherit}.footer-meta{justify-self:center;margin:0;gap:8px}.footer-top{justify-self:end}
@media(max-width:900px){.footer-origin{white-space:normal}}
@media(max-width:700px){footer{grid-template-columns:1fr;align-items:start;gap:26px}.footer-brand{justify-self:start}.footer-meta{justify-self:center;flex-basis:auto}.footer-top{justify-self:end;text-align:right}}

/* Refined vertical rhythm at the end of the hero and throughout the footer. */
.hero{padding-bottom:55px}.footer-origin{margin-top:36px}.footer-origin,.footer-meta,.footer-top{line-height:1.45}
@media(max-width:700px){.hero{padding-bottom:35px}}

/* Composite hero based on the supplied 16:9 brand artwork. */
.site-header{min-height:72px;padding:20px var(--page-gutter);align-items:center;justify-content:flex-end}.hero.hero-composite{position:relative;display:block;width:auto;margin:0 var(--page-gutter);aspect-ratio:16/9;min-height:620px;padding:0;isolation:isolate;overflow:hidden;background-color:#d9dde0;background-image:url("assets/effx-hero-16x9.png");background-position:center;background-repeat:no-repeat;background-size:cover}.hero.hero-composite:before{content:"";position:absolute;inset:0;z-index:1;background-image:url("assets/x-logo-overlay-16x9.jpg");background-position:center;background-repeat:no-repeat;background-size:cover;opacity:.7}.hero-brand{position:absolute;z-index:2;top:7%;right:clamp(24px,4vw,64px);width:clamp(300px,31vw,500px)}.hero-brand img{display:block;width:100%;height:auto}.hero.hero-composite .hero-copy{position:absolute;z-index:2;right:clamp(24px,4vw,64px);bottom:6%;width:min(44vw,590px);background:rgba(255,255,255,.96);padding:24px 28px 28px}.hero.hero-composite .eyebrow{margin-bottom:22px}.hero.hero-composite h1{font-size:clamp(3.256rem,5.5vw,5.808rem)}.hero.hero-composite .intro{max-width:none;margin:24px 0 0}
@media(max-width:700px){.site-header{min-height:64px;padding-top:16px;padding-bottom:16px;justify-content:flex-end}.hero.hero-composite{aspect-ratio:auto;min-height:760px;padding:0}.hero-brand{top:34px;right:6%;width:min(72vw,300px)}.hero.hero-composite .hero-copy{right:6%;bottom:34px;width:88%;padding:22px 22px 24px}.hero.hero-composite .eyebrow{margin-bottom:16px}.hero.hero-composite h1{font-size:clamp(3.08rem,11.44vw,4.4rem)}.hero.hero-composite .intro{font-size:1rem;margin-top:18px}}

/* Shared right-column axis: partner grid defines the alignment for services and hero. */
.services{grid-template-columns:1fr 1fr;gap:60px}.hero.hero-composite{--right-column-start:calc(50% + 30px);--hero-block-width:min(35.2vw,472px)}.hero-brand,.hero.hero-composite .hero-copy{left:var(--right-column-start);right:auto;width:var(--hero-block-width)}.hero.hero-composite .hero-copy{padding:19px 22px 22px}.hero.hero-composite .eyebrow{margin-bottom:18px}.hero.hero-composite h1{font-size:clamp(2.605rem,4.4vw,4.646rem)}.hero.hero-composite .intro{font-size:1rem;margin-top:19px}
@media(max-width:1000px){.services{gap:35px}.hero.hero-composite{--right-column-start:calc(50% + 17.5px)}}
@media(max-width:700px){.services{grid-template-columns:1fr;gap:30px}.hero.hero-composite{--right-column-start:0;--hero-block-width:92%}.hero-brand{top:34px}.hero.hero-composite .hero-copy{bottom:34px;padding:18px 18px 20px}.hero.hero-composite h1{font-size:clamp(2.464rem,9.152vw,3.52rem)}.hero.hero-composite .intro{font-size:1rem;margin-top:16px}}

/* Hero panel mirrors the supplied layout: one continuous white surface and one content axis. */
.hero.hero-composite{min-height:0}
.hero-panel{position:absolute;z-index:2;top:5.4%;right:2.3%;bottom:4.4%;width:37.7%;display:flex;flex-direction:column;background:#fff;padding:clamp(24px,3vw,38px) clamp(22px,2.2vw,30px)}
.hero-panel .hero-brand,.hero-panel .hero-copy{position:static;display:block;width:100%}
.hero-panel .hero-brand img{display:block;width:100%;height:auto}
.hero.hero-composite .hero-copy{background:transparent;padding:0}
.hero.hero-composite .eyebrow{margin:14px 0 0;font-size:clamp(.625rem,.86vw,.8125rem);line-height:1.45;letter-spacing:.11em;white-space:nowrap}
.hero.hero-composite h1{margin-top:42px;font-family:Aptos,"Segoe UI",Arial,sans-serif;font-size:50px;font-weight:700;line-height:1.34;letter-spacing:2.8px}
.hero.hero-composite .intro{margin:24px 0 0;font-size:clamp(.875rem,1.08vw,1rem);line-height:1.6}
@media(max-width:1100px){.hero-panel{top:4%;right:2.5%;bottom:4%;width:43%;padding:3% 2.2%}.hero.hero-composite .eyebrow{margin-top:10px;white-space:normal}.hero.hero-composite h1{margin-top:22px;font-size:clamp(32px,4vw,44px);line-height:1.22;letter-spacing:2.2px}.hero.hero-composite .intro{margin-top:16px;font-size:clamp(.8125rem,1.4vw,.9375rem);line-height:1.42}}
@media(max-width:700px){.hero.hero-composite{min-height:760px;background-position:center}.hero-panel{top:32px;right:4%;bottom:32px;left:4%;width:auto;padding:28px 24px}.hero-panel .hero-brand{width:min(100%,420px)}.hero.hero-composite .eyebrow{margin-top:14px}.hero.hero-composite h1{margin-top:38px;font-size:clamp(34px,10vw,46px);line-height:1.28;letter-spacing:2px}.hero.hero-composite .intro{margin-top:24px;font-size:1rem;line-height:1.55}}

/* Reduce the complete desktop panel to 85% and align its content with the lower right column. */
.hero.hero-composite{--panel-pad-x:clamp(19px,1.87vw,26px)}
.hero-panel{left:calc(var(--right-column-start) - var(--panel-pad-x));right:auto;top:12%;bottom:11.5%;width:32%;padding:clamp(20px,2.55vw,32px) var(--panel-pad-x)}
.hero.hero-composite .eyebrow{margin-top:12px;font-size:12px}
.hero.hero-composite h1{margin-top:36px;font-size:42.5px;line-height:1.34;letter-spacing:2.38px}
.hero.hero-composite .intro{margin-top:20px;font-size:14px;line-height:1.6}
.hero.hero-composite .hero-panel .hero-copy{position:static;left:auto;right:auto;bottom:auto;width:100%}
@media(max-width:1100px){.hero.hero-composite{--panel-pad-x:clamp(18px,2vw,22px)}.hero-panel{left:calc(var(--right-column-start) - var(--panel-pad-x));right:auto;top:10%;bottom:9%;width:38%;padding:clamp(18px,2.5vw,27px) var(--panel-pad-x)}.hero.hero-composite .eyebrow{margin-top:10px;font-size:12px}.hero.hero-composite h1{margin-top:24px;font-size:clamp(32px,3.4vw,37.4px);line-height:1.25;letter-spacing:2px}.hero.hero-composite .intro{margin-top:16px;font-size:14px;line-height:1.5}}
@media(max-width:700px){.hero-panel{top:80px;right:8%;bottom:80px;left:8%;width:auto;padding:24px 20px}.hero.hero-composite .eyebrow{margin-top:12px}.hero.hero-composite h1{margin-top:30px;font-size:clamp(31px,8.5vw,39px);line-height:1.28;letter-spacing:1.7px}.hero.hero-composite .intro{margin-top:20px;font-size:14px;line-height:1.55}}

/* The unchanged specialty line defines the desktop content width. */
.hero.hero-composite .intro{text-align:justify;text-align-last:left;hyphens:auto}
@media(min-width:1101px){
  .hero.hero-composite{min-height:680px}
  .hero.hero-composite .hero-panel{left:auto;right:5%;top:12%;bottom:auto;width:max-content;max-width:90%;min-height:76.5%;display:grid;grid-template-columns:max-content;align-content:start;padding:32px 26px}
  .hero.hero-composite .hero-panel .hero-copy{display:contents}
  .hero.hero-composite .hero-panel .hero-brand{position:static;width:0;min-width:100%;margin:0}
  .hero.hero-composite .hero-panel .hero-brand img{width:100%;height:auto}
  .hero.hero-composite .eyebrow{white-space:nowrap;width:max-content;margin:12px 0 0}
  .hero.hero-composite h1{width:0;min-width:100%;margin-top:32px;font-size:45px;letter-spacing:3px;line-height:1.3;white-space:nowrap}
  .hero.hero-composite .intro{width:0;min-width:100%;max-width:none;margin-top:20px}
}

/* Matching portrait formats continue the partner columns and orange accent. */
.partners .person{border-top:0;padding-top:0;min-width:0}
.person-portrait-frame{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:5/4;margin-bottom:24px;border-bottom:4px solid var(--orange);background:#2f3a44}


.person-portrait{position:absolute;display:block;width:auto;max-width:none;height:114.5%;left:50%;top:-12%;transform:translateX(-50%)}
.person-portrait--janthur{width:100%;height:92%;left:0;top:8%;transform:none;object-fit:cover;object-position:center top;mask-image:linear-gradient(to bottom,transparent,#000 4%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 4%)}
.person-portrait-frame--janthur{background:#2f3a44 url("assets/erik-janthur-final.png") center/cover no-repeat}

.legal-footer{grid-template-columns:1fr;justify-items:center}.legal-footer .footer-meta{justify-content:center;text-align:center}

/* Align the legal navigation with the 1200px orange rule. */
.site-header.legal-header{justify-content:space-between;align-items:flex-start;padding-top:32px;padding-bottom:20px;padding-right:max(0px,calc((100% - 1200px)/2))}
.legal-header nav{margin-left:auto;flex-shrink:0}
@media(max-width:480px){.site-header.legal-header{justify-content:center;gap:20px}.legal-header nav{width:100%;justify-content:flex-end}}
