/* Onepage composition: retain the approved SSLD³ typography, palette and imagery. */
.home-hero .portrait-pair.is-single{display:block;width:min(100%,440px);margin-inline:auto}
.home-hero .portrait-pair.is-single::before{display:none}
.home-hero .portrait-pair.is-single .portrait{width:100%;margin:0;transform:none}
.home-hero .portrait-pair.is-single .portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.home-hero .hero-visual .founder-caption{width:100%;max-width:440px;margin-inline:auto;padding-inline:0}
.home-portraits{display:grid;gap:16px;width:100%;max-width:580px;margin-inline:auto}
.home-portraits .portrait{width:100%;margin:0;min-width:0;min-height:0;transform:none}
.home-portraits .portrait img{display:block;width:100%;height:100%;object-fit:cover}
.home-portraits figcaption{overflow-wrap:anywhere}
.home-portraits.photo-count-1{max-width:440px;aspect-ratio:1}
.home-portraits.photo-count-2{grid-template-columns:repeat(2,minmax(0,1fr));aspect-ratio:1.4}
.home-portraits.photo-count-2 .portrait{border-radius:75px 75px 8px 8px}
.home-portraits.photo-count-3{grid-template-columns:repeat(3,minmax(0,1fr));aspect-ratio:2.1}
.home-portraits.photo-count-3 .portrait{border-radius:60px 60px 8px 8px}
.home-hero .home-portraits:not(.photo-count-1)+.founder-caption{max-width:580px}
@media(max-width:650px){.home-portraits{gap:10px}.home-portraits.photo-count-2 .portrait{border-top-left-radius:50px;border-top-right-radius:50px}.home-portraits.photo-count-3 .portrait{border-top-left-radius:28px;border-top-right-radius:28px}.home-portraits figcaption{padding:28px 10px 10px;font-size:12px}.home-portraits.photo-count-3 figcaption{padding:24px 6px 8px;font-size:11px}}
html{scroll-padding-top:130px}
.site-header{background:#fff}
.desktop-nav a[aria-current=location]{color:var(--teal);text-decoration:underline;text-underline-offset:7px}
.page-home .home-hero{padding-bottom:30px}
.page-home .hero-actions{flex-wrap:wrap}
.page-home .services{padding-block:80px}
.page-home .planning{padding-block:85px}
.one-service-note{font-size:14px;max-width:790px;margin:30px auto 0;color:var(--muted);text-align:center}
.service-expanded{padding:8px 0 35px 62px}
.service-overview{max-width:900px;margin-bottom:32px}
.one-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}
.collapse-detail{border:0;background:none;color:var(--teal);font:inherit;font-size:13px;font-weight:600;padding:13px 0;cursor:pointer;display:inline-flex;align-items:center;gap:15px}
.collapse-detail:hover{text-decoration:underline;text-underline-offset:5px}
.one-disclosure{border-bottom:1px solid var(--line)}
.one-disclosure>summary{display:flex;align-items:center;gap:25px;padding:25px 0;list-style:none;cursor:pointer;justify-content:space-between}
.one-disclosure>summary::-webkit-details-marker{display:none}
.one-disclosure>summary h3{font-size:21px;line-height:1.4;margin:0;letter-spacing:-.025em}
.one-summary-description{display:block;font-size:13px;color:var(--muted);margin-top:6px;line-height:1.6}
.one-disclosure .plus{flex-shrink:0;position:relative;height:26px;width:26px;margin-left:auto}
.one-disclosure[open]>summary .plus:after{transform:rotate(0)}
.one-disclosure[open]>summary h3{color:var(--teal)}
.one-disclosure-body{padding:18px 0 28px}
.one-disclosure-body>.collapse-detail{margin-top:24px}
.one-about-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:center;margin-bottom:45px}
.one-about-overview h2{font-size:38px;line-height:1.3;margin-bottom:24px}
.one-about-overview p:not(.eyebrow){font-size:15px}
.one-about-image img{display:block;width:100%;height:330px;object-fit:cover;border-radius:12px}
.one-careers{background:var(--paper)}
.one-careers .section-heading{margin-bottom:35px}
.one-careers .career-modes{padding:28px 32px;background:#fff;border:1px solid var(--line);margin-bottom:35px}
.one-careers .career-modes>h3{font-size:25px;margin-bottom:20px}
.one-careers .career-modes>div:not(.disclosures){display:none}
.one-privacy{padding-block:15px 35px}
.one-privacy>details>summary h3{font-size:17px}
.one-privacy .one-summary-description{font-size:12px}
.one-detail .wrap{width:100%;max-width:none}
.one-detail h4{font-size:27px;line-height:1.35;letter-spacing:-.025em;color:var(--navy);font-weight:500;margin:0 0 20px}
.one-detail h5{font-size:21px;line-height:1.45;letter-spacing:-.02em;color:var(--navy);font-weight:500;margin:25px 0 14px}
.one-detail h6{font-size:18px;line-height:1.5;color:var(--navy);margin:22px 0 12px}
.one-detail p,.one-detail li{font-size:15px;line-height:1.8}
.one-detail .section,.one-detail .content-section{padding-block:28px}
.one-detail .section:first-child{padding-top:0}
.one-detail .page-hero{padding-block:25px}
.one-detail .page-hero h4{font-size:32px;max-width:750px}
.one-detail .service-hero{padding:20px 0 28px;gap:35px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.one-detail .service-hero h4{font-size:29px}
.one-detail .service-hero p:not(.eyebrow){font-size:15px}
.one-detail .service-visual{border-radius:100px 100px 10px 10px}
.one-detail .service-visual img{height:300px}
.one-detail .service-body{padding-bottom:0}
.one-detail .service-body .content-section{padding-top:28px}
.one-detail .content-grid{gap:25px}
.one-detail .service-body img{max-height:360px;object-fit:cover}
.one-detail .service-penze .content-section:first-child{display:block}
.one-detail .service-penze .content-section:first-child>div{margin-top:22px}
.one-detail .intro{display:block}
.one-detail .intro h4{max-width:850px}
.one-detail .intro-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:30px}
.one-detail .intro-stats p{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.one-detail .intro-stats strong{font-size:30px}
.one-detail .about-story{display:block}
.one-detail .about-story>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.one-detail .about-story>div:last-child>div:first-child{grid-column:1/-1}
.one-detail .about-story img{max-height:300px;object-fit:cover}
.one-detail .about-values{padding:28px;background:var(--paper)}
.one-detail .assurance{padding:30px;margin-block:28px}
.one-detail .assurance>.wrap{display:block}
.one-detail .assurance p{max-width:850px}
.one-detail .values-intro{display:block}
.one-detail .contact-feature{padding:30px;margin-top:24px;border-radius:12px}
.one-detail .contact-feature h4,.one-detail .contact-feature p{color:#fff}
.one-detail .contact-brand{max-width:190px;padding:22px}
.one-detail .interview{grid-template-columns:240px minmax(0,1fr);gap:45px}
.one-detail .interview-profile{top:130px}
.one-detail .interview-profile h5{font-size:18px}
.one-detail .interview-profile p{font-size:13px}
.one-detail .founder-intro{gap:35px}
.one-detail .disclosures summary{font-size:16px;line-height:1.6}
.one-detail .history .content-grid{gap:24px}
.one-detail .history strong{font-size:29px}
.one-detail .history h5{font-size:20px}
.one-detail .career-intro-cards{margin-top:0}
.one-detail .career-intro-cards h4{font-size:22px}
.one-detail .career-identity{padding:28px}
.one-detail .career-identity strong{font-size:27px}
.one-detail .career-values{display:block}
.one-detail .career-benefits .content-grid,.one-detail .career-audience .content-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.one-detail .career-process article>div:last-child{grid-template-columns:45px minmax(0,1fr);gap:20px}
.one-detail .legal-content{padding:0;max-width:850px;margin:auto}
.one-detail .legal-content h4{font-size:25px;line-height:1.45}
.one-detail .legal-content p{font-size:14px;overflow-wrap:anywhere}
.one-detail .legal-content .content-section{margin:0;padding-block:20px}
.one-detail section,.one-detail div,.one-detail article{min-width:0}
@media(max-width:960px){
 html{scroll-padding-top:114px}
 .service-expanded{padding-left:0}
 .one-about-overview{gap:35px}
 .one-about-overview h2{font-size:32px}
 .one-about-image img{height:300px}
 .one-detail .interview{grid-template-columns:200px minmax(0,1fr);gap:30px}
 .one-detail .service-hero{gap:28px}
 .one-detail .service-visual img{height:260px}
}
@media(max-width:650px){
 html{scroll-padding-top:108px}
 .page-home .services,.page-home .planning{padding-block:60px}
 .one-service-note{text-align:left;font-size:13px;margin-top:24px}
 .one-about-overview{grid-template-columns:1fr;gap:25px;margin-bottom:25px}
 .one-about-overview h2{font-size:31px}
 .one-about-image img{height:240px}
 .one-disclosure>summary{padding-block:22px;gap:16px}
 .one-disclosure>summary h3{font-size:18px}
 .one-summary-description{font-size:12px}
 .one-careers .career-modes{padding:24px 20px}
 .one-careers .career-modes>h3{font-size:23px}
 .service-expanded{padding:6px 0 25px}
 .service-overview{font-size:15px;margin-bottom:20px}
 .one-detail h4,.one-detail .legal-content h4{font-size:24px}
 .one-detail h5{font-size:20px}
 .one-detail .service-hero{grid-template-columns:1fr;padding:10px 0 25px}
 .one-detail .service-hero h4,.one-detail .page-hero h4{font-size:27px}
 .one-detail .service-visual{width:100%;border-radius:12px}
 .one-detail .service-visual img{height:235px}
 .one-detail .intro-stats{grid-template-columns:1fr;gap:0}
 .one-detail .intro-stats p{flex-direction:row;align-items:center}
 .one-detail .intro-stats strong{font-size:28px}
 .one-detail .about-story>div:last-child{display:block}
 .one-detail .about-story>div:last-child>div{margin-bottom:20px}
 .one-detail .about-values,.one-detail .assurance,.one-detail .contact-feature{padding:24px 18px}
 .one-detail .interview{grid-template-columns:1fr;gap:24px}
 .one-detail .interview-profile{position:static;max-width:280px}
 .one-detail .interview-profile img{max-height:280px}
 .one-detail .career-benefits .content-grid,.one-detail .career-audience .content-grid{grid-template-columns:1fr}
 .one-detail .career-identity{padding:24px 18px}
 .one-detail .career-identity strong{font-size:23px}
 .one-detail .career-process article>div:last-child{grid-template-columns:28px minmax(0,1fr);gap:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Numbered hero mottos: from zero to five entries. */
.hero-bottom.hero-mottos{display:flex;flex-wrap:wrap;gap:24px 30px;align-items:flex-start}
.hero-mottos>span{display:flex;align-items:baseline;gap:14px;flex:1 1 160px;min-width:0;line-height:1.6}
.hero-mottos .motto-number{flex:none;font-size:12px;color:var(--teal)}
.hero-mottos b{margin-left:0;font-size:14px;overflow-wrap:anywhere}
@media(max-width:650px){.hero-bottom.hero-mottos{gap:18px;padding-block:26px}.hero-mottos>span{flex-basis:100%}}

/* Shared identity in the homepage and director headers. */
.page-home .header-inner{gap:24px;height:auto;min-height:112px;padding-block:8px}
.page-home .logo{padding-right:0}
.director-identity{min-width:0;flex:0 1 300px;display:flex;align-items:center;line-height:1.25}
.director-identity-text{display:grid;grid-template-rows:1fr auto 1fr;width:fit-content;max-width:100%;gap:5px}.director-identity-text::before{content:"";grid-row:1}.director-name{grid-row:2;text-align:right;font-size:30px;font-weight:600;letter-spacing:-.7px;color:var(--navy);overflow-wrap:anywhere}
.director-role{grid-row:3;align-self:start;font-size:11px;text-align:right;color:var(--muted);overflow-wrap:anywhere}
.page-home .desktop-nav{flex-shrink:0;gap:24px}
.page-home .header-button{flex-shrink:0}
.page-home .mobile-menu{position:absolute;top:100%;height:calc(100dvh - var(--director-header-height,94px))}
.director-mobile-cta{display:none!important}
@media(max-width:1100px) and (min-width:961px){.page-home .header-inner{gap:18px}.page-home .desktop-nav{gap:18px}.director-name{font-size:25px}.page-home .header-button{padding-inline:16px}}
@media(max-width:960px){.page-home .header-inner{min-height:94px;gap:18px}.director-identity{flex:1}.page-home .menu-button{flex-shrink:0}}
@media(max-width:650px){.page-home .header-inner{display:grid;grid-template-columns:62px minmax(0,1fr) 40px;gap:12px;min-height:88px;padding-block:10px}.page-home .logo{padding:0}.page-home .logo img{width:62px;height:56px}.director-name{font-size:22px;letter-spacing:-.4px}.director-role{font-size:10px}.page-home .header-button{display:none}.page-home .menu-button{width:40px;padding:8px}.director-mobile-cta{display:block!important}}

.home-identity{flex:1;min-width:0}

/* Equal space above and below the name keeps its center aligned with the logo; the role sits below. */

.director-identity{text-decoration:none;color:var(--navy)}
.director-identity:focus-visible{outline:2px solid var(--teal);outline-offset:5px;border-radius:4px}

.inquiry-form fieldset{border:0;padding:0;margin:0;min-width:0}.inquiry-form .form-help{font-size:13px;line-height:1.8}.inquiry-form .form-help a{color:var(--teal);text-decoration:underline}.inquiry-form .form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.inquiry-form .form-status{margin-top:20px;font-weight:600;overflow-wrap:anywhere}.inquiry-form .form-status:empty{display:none}.inquiry-form .form-status[data-error=true]{color:#a7193e}
