:root{--paper:#ffffff;--white:#fff;--ink:#222222;--muted:#6c6c6c;--line:#dedede;--gold:#ba9b48;--gold-text:#8e722e;--brand-gold:#d4af36;--dark:#000000;--font:'Inter','Avenir Next','Helvetica Neue',Arial,sans-serif;--display:'Inter Display','Inter','Avenir Next','Helvetica Neue',Arial,sans-serif;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-text);outline-offset:5px}::selection{background:#e5d8b0;color:var(--ink)}[hidden]{display:none!important}.wrap{width:min(calc(100% - 112px),var(--max));margin-inline:auto}.skip{position:fixed;left:15px;top:-100px;padding:12px;background:#fff;z-index:200}.skip:focus{top:10px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:500;text-transform:uppercase;line-height:1.6}.muted{color:var(--muted)}.gold{color:var(--gold-text)}.text-link{display:inline-block;position:relative;border:0;border-bottom:1px solid var(--gold);border-radius:0;background:none;padding:6px 0;color:var(--ink);font-size:12px;letter-spacing:.015em;transition:color .2s,border-color .2s}.text-link:hover{color:var(--gold-text);border-color:var(--ink)}.text-button{background:none;border:0;padding:6px 0;font-size:12px}.text-button:hover{text-decoration:underline;text-underline-offset:6px}.small{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap;border:0}
/* Identity is present in the geometry, not in ornamental controls. */
.header{position:sticky;z-index:40;top:0;background:rgba(250,251,249,.96);backdrop-filter:blur(16px)}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;gap:14px;align-items:center;flex-shrink:0}.brand img{width:57px;height:40px;object-fit:contain}.brand-type{display:flex;flex-direction:column}.brand-name{font-size:18px;font-weight:400;letter-spacing:.14em;line-height:1.2;white-space:nowrap}.brand-sub{font-size:7px;letter-spacing:.36em;line-height:1.4;margin-top:6px;color:var(--gold-text);font-weight:500}.header-nav{display:flex;align-items:center;gap:33px;font-size:12px}.header-nav>a,.header-nav>button{padding:12px 0;position:relative;white-space:nowrap}.header-nav>a:after,.header-nav>button:after{content:'';position:absolute;bottom:5px;left:0;width:0;height:1px;background:var(--gold);transition:width .2s}.header-nav>a:hover:after,.header-nav>button:hover:after{width:100%}.nav-company{border:0;background:none;font-size:12px}.nav-company sup{font-size:8px;margin-left:4px;color:var(--gold-text);vertical-align:super}.header-right{display:flex;align-items:center;gap:26px}.langs{display:flex;align-items:center;gap:11px;font-size:10px}.langs button{border:0;background:none;font-size:10px;letter-spacing:.05em;padding:8px 0;color:#909090}.langs .divider{height:11px;width:1px;background:#cecece}.langs button[aria-pressed=true]{color:var(--ink);border-bottom:1px solid var(--gold)}.mobile-open{display:none;border:0;border-bottom:1px solid var(--gold);padding:6px 0;background:none;font-size:12px}
/* A centered masthead and a photographic interpretation of the double O. */
.hero{padding-top:40px;padding-bottom:46px;overflow:hidden;position:relative}.hero-kicker{text-align:center;color:#797979;margin:0 0 20px}.hero h1{font-family:var(--display);font-weight:300;font-size:clamp(52px,5.7vw,85px);letter-spacing:-.037em;line-height:1.08;text-align:center;margin:0;position:relative;z-index:1}.hero h1>span{display:block}.hero h1 em{font-weight:300;font-style:normal;color:var(--gold-text)}.hero-scene{position:relative;max-width:1320px;margin:17px auto 0;height:350px;display:flex;align-items:center;justify-content:center}.hero-art{width:520px;height:352px;position:relative;animation:reveal-art 1.2s ease both}.hero-art svg{width:100%;height:100%;overflow:visible}.hero-edge{position:absolute;top:48%;font-size:11px;line-height:1.8;color:#7c7c7c;max-width:200px}.hero-edge span{display:block}.hero-edge strong{display:block;font-size:12px;letter-spacing:.12em;color:#424242;font-weight:400;margin-bottom:9px}.edge-left{left:0}.edge-right{right:0;text-align:right}.hero-edge:before{content:'';display:block;width:38px;height:1px;background:#d0b66f;margin-bottom:17px}.edge-right:before{margin-left:auto}.hero-foot{text-align:center;position:relative;z-index:2}.hero-foot p{font-size:13px;line-height:1.9;color:#6e6e6e;max-width:470px;margin:13px auto 17px}.hero-foot .text-link{font-size:12px;padding:4px 0 8px}.hero-baseline{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0 21px;margin-top:22px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#7d7d7d}.hero-baseline span:last-child{color:var(--gold-text)}
/* Editorial group introduction: spacious type, no cards or counters. */
.group{padding:80px 0 96px}.group-inner{display:grid;grid-template-columns:25% 1fr;column-gap:8%}.group-aside{padding-top:9px}.group-aside .eyebrow{color:var(--gold-text);margin:0 0 31px}.group-aside p{max-width:205px;font-size:14px;line-height:1.8;margin:0;color:#7c7c7c}.group-statement{font-family:var(--display);font-size:clamp(25px,2.55vw,38px);font-weight:300;line-height:1.52;letter-spacing:-.023em;margin:0 0 29px;max-width:850px}.group-statement span{color:#848484}.group-body{max-width:710px;color:#707070;font-size:14px;line-height:1.95;margin:0 0 25px}.group-details{border-top:1px solid var(--line)}.group-details details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.group-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;padding:17px 0}.summary-action{font-size:10px;color:var(--gold-text)}.summary-action .is-open{display:none}details[open] .summary-action .is-open{display:inline}details[open] .summary-action .is-closed{display:none}.group-details details>p{color:#6e6e6e;font-size:13px;line-height:1.95;max-width:650px;margin:0 0 22px}.value-words{display:flex;flex-wrap:wrap;gap:12px 25px;padding:0 0 22px;color:#6c6c6c;font-size:13px}
/* One collection, fourteen distinct businesses. */
.portfolio{background:#f1f1f1;padding:85px 0 90px}.portfolio-top{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:36px}.portfolio-top .eyebrow{margin:0 0 24px;color:var(--gold-text)}.portfolio-top h2{margin:0;font:300 clamp(36px,4vw,59px)/1.15 var(--display);letter-spacing:-.034em}.portfolio-top h2 span{display:block;color:#838383}.portfolio-intro{max-width:290px;color:#767676;font-size:13px;line-height:1.9;margin:0 0 5px}.filter-line{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d0d0d0;margin-bottom:29px;gap:20px}.filters{display:flex;gap:24px;overflow:auto;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:15px 0 15px;white-space:nowrap;color:#757575;font-size:10px;font-weight:400}.filters button[aria-pressed=true]{border-bottom-color:var(--gold-text);color:var(--ink)}.filters button:hover{color:var(--gold-text)}.portfolio-count{font-size:9px;color:#757575;white-space:nowrap}.directory{display:grid;grid-template-columns:1fr 1.05fr;gap:8%;align-items:start}.company-list{padding:0;margin:0;list-style:none}.company-row{border-bottom:1px solid #d8d8d8}.company-choice{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;width:100%;padding:16px 0;text-align:left;border:0;background:none;min-height:62px;transition:padding .25s,color .25s;position:relative}.company-choice:before{content:'';position:absolute;left:0;top:21px;bottom:21px;width:2px;background:var(--gold);opacity:0;transition:opacity .2s}.company-name{font:300 22px/1.3 var(--display);letter-spacing:-.015em;color:#6f6f6f;transition:color .2s}.company-domain{font-size:9px;text-align:right;max-width:125px;color:#838383;line-height:1.5}.company-choice[aria-pressed=true]{padding-left:19px}.company-choice[aria-pressed=true]:before{opacity:1}.company-choice[aria-pressed=true] .company-name,.company-choice:hover .company-name{color:#292929}.company-choice[aria-pressed=true] .company-domain{color:#8e722e}.company-preview{position:sticky;top:122px;align-self:start;scroll-margin-top:110px}.preview-picture{aspect-ratio:1.18;position:relative;background:#e6e6e6;overflow:hidden;margin:0}.preview-picture img{width:100%;height:100%;object-fit:cover;transition:opacity .25s;filter:saturate(.7)}.preview-caption{position:absolute;bottom:15px;left:17px;color:#fff;background:rgba(0,0,0,.65);padding:4px 8px;font-size:8px;letter-spacing:.07em;backdrop-filter:blur(5px)}.preview-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.1em;color:#7f7f7f;text-transform:uppercase;margin:25px 0 12px}.preview-meta span:first-child{color:var(--gold-text)}.preview-title{font:300 clamp(24px,2.9vw,39px)/1.18 var(--display);letter-spacing:-.028em;margin:0 0 12px;overflow-wrap:break-word}.preview-sub{font-size:13px;line-height:1.8;color:#717171;max-width:450px;margin:0 0 15px}.preview-desc{font-size:12px;line-height:1.95;color:#7a7a7a;max-width:480px;margin:0 0 15px}.preview-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}.preview-actions .text-link{font-size:11px}.preview-actions small{font-size:9px;letter-spacing:.07em;color:#7b7b7b}.directory-note{margin:34px 0 0;display:flex;justify-content:space-between;gap:35px;font-size:10px;line-height:1.8;color:#808080}.directory-note p{margin:0;max-width:650px}.directory-note span{white-space:nowrap;font-size:9px;letter-spacing:.13em;color:#6d6d6d}
/* A single dark chapter, used as contrast rather than a default canvas. */
.connections{background:var(--dark);color:#f0f0f0;position:relative;overflow:hidden;padding:95px 0}.connections-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #4d4d4d;padding-bottom:27px;margin-bottom:50px}.connections-top .eyebrow{margin:0;color:#c1c1c1}.connections-top>span{font-size:10px;letter-spacing:.08em;color:#a5a5a5}.connections-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.connections-title h2{font:300 clamp(43px,5.3vw,77px)/1.08 var(--display);letter-spacing:-.035em;margin:0 0 28px}.connections-title h2 span{display:block;color:#c7b06f}.connections-title>p{font-size:13px;line-height:1.95;color:#c2c2c2;max-width:350px;margin:0}.principle{padding:22px 0 25px;border-bottom:1px solid #4a4a4a}.principle:first-child{padding-top:0}.principle h3{font:300 23px/1.4 var(--display);letter-spacing:-.012em;margin:0 0 7px;color:#eaeaea}.principle p{font-size:12px;line-height:1.9;color:#b6b6b6;max-width:420px;margin:0}.connections-foot{border-top:1px solid #4d4d4d;padding-top:27px;margin-top:60px;display:flex;align-items:center;justify-content:space-between;gap:40px}.connections-foot>p{margin:0;max-width:680px;color:#b6b6b6;font-size:11px;line-height:1.9}.connections-foot img{width:72px;opacity:.7}
/* A quiet ending, with a genuine choice of contact channels. */
.contact{background:var(--paper);padding:100px 0 45px}.contact-top{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;padding-bottom:48px;border-bottom:1px solid var(--line)}.contact-top .eyebrow{margin:0 0 25px;color:var(--gold-text)}.contact-top h2{font:300 clamp(50px,7.1vw,102px)/1.1 var(--display);letter-spacing:-.045em;margin:0}.contact-top p{font-size:13px;line-height:1.9;color:#7c7c7c;max-width:355px;margin:20px 0 0}.contact-top .text-link{margin-bottom:7px;padding-bottom:10px;font-size:13px}.contact-addresses{display:grid;grid-template-columns:1.3fr 1fr 1.1fr;gap:60px;padding:43px 0 49px}.contact-addresses .eyebrow{font-size:9px;margin:0 0 18px;color:#7f7f7f}.contact-addresses a{font-size:16px;font-weight:300}.contact-addresses a:hover{color:var(--gold-text)}.contact-addresses p{font-size:12px;color:#787878;line-height:1.9;margin:7px 0 0}.contact-addresses address{font-style:normal;font-size:13px;line-height:1.9}.contact-addresses .small-link{font-size:10px;margin-top:9px;display:inline-block;border-bottom:1px solid #cfc6a8}.footer{background:var(--paper)}.footer-main{padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line)}.footer-brand{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.12em}.footer-brand img{width:42px;height:29px}.footer-main>p{font-size:9px;letter-spacing:.1em;color:#8d8d8d;margin:0}.footer-main>.text-button{font-size:10px;color:#707070}.footer-end{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 27px;color:#898989;font-size:9px}.footer-end button{font-size:9px;color:#7b7b7b}
/* Native dialogs keep keyboard, touch, and escape behaviour predictable. */
dialog{color:var(--ink);border:0;padding:0;max-width:none;max-height:none}dialog::backdrop{background:rgba(25,33,24,.4);backdrop-filter:blur(7px)}.menu-dialog{position:fixed;inset:0;width:100vw;height:100dvh;margin:0;background:var(--paper);overflow:auto}.menu-top{display:flex;align-items:center;justify-content:space-between;height:93px;border-bottom:1px solid var(--line)}.dialog-close{border:0;background:none;border-bottom:1px solid var(--gold);padding:5px 0;font-size:12px}.menu-main{display:grid;grid-template-columns:.75fr 1.7fr;gap:10%;padding:65px 0}.menu-intro .eyebrow{color:var(--gold-text);margin:0 0 20px}.menu-intro h2{font:300 45px/1.17 var(--display);letter-spacing:-.03em;margin:0 0 25px}.menu-intro h2 span{display:block;color:#929292}.menu-intro p{font-size:13px;color:#7a7a7a;max-width:255px;line-height:1.9}.menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:35px}.menu-links a{font-size:13px}.menu-links a:hover{color:var(--gold-text)}.menu-companies{columns:2;column-gap:65px}.menu-group{break-inside:avoid;margin-bottom:33px}.menu-group h3{font-size:9px;font-weight:500;color:var(--gold-text);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}.menu-group button{display:block;border:0;background:none;text-align:left;font-size:15px;font-weight:300;padding:6px 0;line-height:1.6}.menu-group button:hover{color:var(--gold-text)}.menu-bottom{border-top:1px solid var(--line);padding:24px 0;font-size:11px;color:#858585;display:flex;justify-content:space-between;gap:20px}.company-dialog{width:min(1080px,calc(100vw - 70px));margin:auto;background:var(--paper);max-height:calc(100dvh - 65px);overflow:auto}.company-dialog-layout{display:grid;grid-template-columns:1fr 1fr;min-height:610px}.detail-photo{margin:0;min-height:500px;position:relative;background:#e5e5e5}.detail-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.detail-copy{padding:38px 47px 45px;display:flex;flex-direction:column}.detail-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:65px}.detail-top img{width:46px}.detail-sector{color:var(--gold-text);margin:0 0 18px;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.detail-copy h2{font:300 40px/1.15 var(--display);letter-spacing:-.03em;margin:0 0 17px;overflow-wrap:break-word}.detail-sub{color:#6e6e6e;font-size:13px;line-height:1.8;margin:0 0 25px}.detail-body{font-size:13px;line-height:1.95;color:#7d7d7d;margin:0 0 28px}.detail-note{font-size:10px;line-height:1.8;color:#818181;padding-top:20px;border-top:1px solid var(--line);margin:25px 0 0}.detail-copy>.text-link{align-self:flex-start;margin-top:auto;font-size:12px}.contact-dialog{width:min(690px,calc(100vw - 50px));max-height:calc(100dvh - 50px);margin:auto;background:var(--paper);overflow:auto;padding:35px 50px 45px}.contact-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.contact-dialog-top .eyebrow{color:var(--gold-text);margin:0}.contact-dialog h2{font:300 37px/1.2 var(--display);letter-spacing:-.025em;margin:0 0 30px}.form-double{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:21px}.field label{font-size:11px;color:#707070}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid #c4c4c4;border-radius:0;background:transparent;color:#2e2e2e;padding:10px 0;font-size:13px;outline-offset:4px}.field textarea{resize:vertical;min-height:80px;max-height:200px}.field input::placeholder,.field textarea::placeholder{color:#999999}.form-disclaimer{font-size:10px;color:#7d7d7d;line-height:1.8;margin:23px 0 0}.form-status{font-size:12px;color:var(--gold-text);margin:16px 0 0;min-height:0}.form-submit{font-size:12px;margin-top:6px}.copy-message{margin-left:25px;font-size:11px;color:#7d7d7d}.form-result{margin-top:15px}.form-result a{font-size:11px;text-decoration:underline}.model-dialog{width:min(650px,calc(100vw - 45px));margin:auto;padding:40px;background:var(--paper);max-height:85dvh;overflow:auto}.model-dialog h2{font:300 32px var(--display);margin:20px 0}.model-dialog p{font-size:13px;color:#787878;line-height:1.95}.model-dialog-top{text-align:right}
@keyframes reveal-art{from{opacity:.1;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1650px){.hero h1{font-size:88px}.hero-art{width:560px;height:379px}.hero-scene{height:380px}}
@media(max-width:1200px){.wrap{width:calc(100% - 72px)}.header-nav{gap:23px}.header-inner{gap:20px}.brand-name{font-size:16px}.brand img{width:49px}.directory{gap:5%}.company-name{font-size:20px}.company-domain{max-width:95px;font-size:8px}.filters{gap:18px}.hero-art{width:485px;height:328px}.hero-scene{height:330px}.hero-edge{max-width:170px}.group-inner{grid-template-columns:22% 1fr}.menu-companies{column-gap:35px}}
@media(max-width:1000px){.header-nav{display:none}.mobile-open{display:inline-block}.header-inner{height:83px}.hero{padding-top:38px}.hero h1{font-size:65px}.hero-edge{max-width:135px;font-size:9px}.hero-edge strong{font-size:10px}.hero-art{width:440px;height:298px}.hero-scene{height:305px}.hero-baseline{font-size:8px}.portfolio-top{gap:45px}.portfolio-intro{max-width:250px}.company-domain{display:none}.company-name{font-size:19px}.company-choice{padding:14px 0;min-height:57px}.company-choice:before{top:18px;bottom:18px}.preview-picture{aspect-ratio:1}.preview-title{font-size:30px}.preview-desc{font-size:11px}.preview-meta{margin-top:18px}.contact-addresses{gap:27px}.contact-addresses a{font-size:13px}.contact-top h2{font-size:75px}.menu-main{gap:7%;grid-template-columns:.7fr 1.3fr}.menu-intro h2{font-size:36px}.menu-companies{column-gap:28px}.menu-group button{font-size:13px}.detail-copy{padding:30px}.detail-copy h2{font-size:32px}.company-dialog-layout{min-height:590px}.connections-grid{gap:7%}}
@media(max-width:760px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 40px)}.header-inner{height:76px}.brand{gap:10px}.brand img{width:43px;height:31px}.brand-name{font-size:14px;letter-spacing:.12em}.brand-sub{font-size:6px;margin-top:4px}.header-right{gap:18px}.langs{gap:9px}.langs button{font-size:9px}.mobile-open{font-size:10px}.hero{padding-top:32px;padding-bottom:22px}.hero-kicker{font-size:8px;letter-spacing:.13em;margin-bottom:23px}.hero h1{font-size:clamp(36px,7.2vw,57px);letter-spacing:-.038em;line-height:1.15}.hero-scene{margin-top:22px;height:270px}.hero-art{width:390px;height:264px;max-width:90%}.hero-edge{display:none}.hero-foot p{max-width:410px;font-size:12px;margin:16px auto 14px}.hero-foot .text-link{font-size:11px}.hero-baseline{margin-top:29px;font-size:7px;letter-spacing:.08em;gap:25px;padding-bottom:20px}.hero-baseline>span{max-width:48%}.hero-baseline>span:last-child{text-align:right}.group{padding:43px 0 58px}.group-inner{grid-template-columns:1fr;gap:27px}.group-aside .eyebrow{margin:0}.group-aside>p:not(.eyebrow){display:none}.group-statement{font-size:28px;line-height:1.5;margin-bottom:20px}.group-body{font-size:13px}.group-details summary{font-size:12px}.portfolio{padding:57px 0}.portfolio-top{display:block;margin-bottom:20px}.portfolio-top .eyebrow{font-size:9px;margin-bottom:20px}.portfolio-top h2{font-size:39px}.portfolio-intro{max-width:460px;font-size:12px;margin:20px 0 0}.filter-line{margin-bottom:23px;gap:12px}.filters{gap:23px}.filters button{font-size:10px;padding:14px 0}.portfolio-count{font-size:8px}.directory{display:flex;flex-direction:column;gap:24px}.company-preview{position:relative;top:auto;width:100%;order:0}.company-list{order:1;width:100%;max-height:340px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #d2d2d2;scrollbar-width:thin;scrollbar-color:#a6a6a6 transparent;padding-right:8px}.company-choice{min-height:53px;padding:13px 0}.company-choice:before{top:17px;bottom:17px}.company-name{font-size:19px}.company-domain{display:block;max-width:110px;font-size:8px}.preview-picture{aspect-ratio:1.6}.preview-meta{font-size:8px;margin:20px 0 9px}.preview-title{font-size:31px}.preview-sub{font-size:12px;margin-bottom:9px}.preview-desc{display:none}.preview-actions{margin-top:14px}.preview-actions .text-link{font-size:11px}.directory-note{margin-top:24px;display:block;font-size:9px}.directory-note>span{display:none}.connections{padding:55px 0}.connections-top{padding-bottom:20px;margin-bottom:32px}.connections-top .eyebrow{font-size:9px}.connections-top>span{font-size:8px;max-width:125px;text-align:right}.connections-grid{grid-template-columns:1fr;gap:36px}.connections-title h2{font-size:53px;margin-bottom:22px}.connections-title>p{max-width:470px;font-size:12px}.principle h3{font-size:23px}.principle p{font-size:12px}.principle{padding:20px 0}.connections-foot{margin-top:35px;gap:30px;align-items:flex-start}.connections-foot>p{font-size:10px}.connections-foot img{width:46px;flex-shrink:0}.contact{padding:61px 0 15px}.contact-top{display:block;padding-bottom:32px}.contact-top .eyebrow{font-size:9px;margin-bottom:20px}.contact-top h2{font-size:clamp(44px,10vw,70px)}.contact-top p{font-size:12px;max-width:400px}.contact-top .text-link{margin:22px 0 0;font-size:12px;padding-bottom:7px}.contact-addresses{grid-template-columns:1fr 1fr;gap:30px;padding:33px 0}.contact-addresses>div:last-child{grid-column:1/-1}.contact-addresses .eyebrow{font-size:8px;margin-bottom:11px}.contact-addresses a{font-size:13px}.contact-addresses p{font-size:11px}.contact-addresses address{font-size:12px}.footer-main{padding:22px 0;gap:15px;flex-wrap:wrap}.footer-main>p{font-size:8px;order:3;width:100%;margin:5px 0 0}.footer-brand{font-size:10px;gap:10px}.footer-brand img{width:36px;height:25px}.footer-main>.text-button{font-size:9px}.footer-end{font-size:8px;align-items:flex-start;gap:22px}.footer-end>span{max-width:240px}.footer-end button{font-size:8px;white-space:nowrap}.menu-top{height:77px}.menu-main{padding:35px 0;grid-template-columns:1fr;gap:35px}.menu-intro h2{font-size:35px}.menu-intro>p{display:none}.menu-intro .eyebrow{font-size:9px;margin-bottom:17px}.menu-links{flex-direction:row;flex-wrap:wrap;gap:10px 26px;margin-top:25px}.menu-links a{font-size:12px}.menu-companies{columns:2;column-gap:28px}.menu-group h3{font-size:8px}.menu-group button{font-size:13px}.menu-group{margin-bottom:25px}.menu-bottom{font-size:9px;display:block}.menu-bottom>span{display:block;margin-top:8px}.company-dialog{width:calc(100vw - 30px);max-height:calc(100dvh - 30px)}.company-dialog-layout{grid-template-columns:1fr;min-height:0}.detail-photo{min-height:220px;height:220px}.detail-copy{padding:25px}.detail-top{margin-bottom:30px}.detail-copy h2{font-size:32px}.detail-body{font-size:12px}.detail-note{margin-top:22px}.detail-sub{margin-bottom:20px}.contact-dialog{width:calc(100vw - 30px);padding:27px 24px 32px;max-height:calc(100dvh - 30px)}.contact-dialog h2{font-size:31px}.contact-dialog-top .eyebrow{font-size:8px}.contact-dialog-top{margin-bottom:25px}.form-double{grid-template-columns:1fr;gap:0}.field{margin-bottom:17px}.model-dialog{padding:25px}.model-dialog h2{font-size:28px}.model-dialog p{font-size:12px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.header-right{gap:13px}.langs{gap:7px}.brand img{width:36px}.brand-name{font-size:12px}.brand-sub{font-size:5px}.brand{gap:8px}.hero h1{font-size:33px}.hero-kicker{font-size:7px}.hero-art{max-width:95%;height:auto}.hero-scene{height:237px}.hero-foot p{font-size:11px}.group-statement{font-size:25px}.portfolio-top h2{font-size:34px}.company-domain{display:none}.company-name{font-size:17px}.contact-addresses{grid-template-columns:1fr}.contact-addresses>div:last-child{grid-column:auto}.preview-title{font-size:27px}.connections-title h2{font-size:47px}.menu-companies{column-gap:16px}.menu-group button{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:760px){.langs button{min-height:40px;min-width:20px}.mobile-open{min-height:40px}.hero-foot .text-link{min-height:40px;padding-top:8px}.dialog-close{min-height:40px}.contact-top .text-link{min-height:40px}.preview-actions .text-link{min-height:40px}}

/* V3.1: keep the gallery identity, make the reading order explicit. */
:root{--header-space:112px}
html{scroll-padding-top:var(--header-space)}
section[id]{scroll-margin-top:var(--header-space)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.header-nav a{position:relative;padding:12px 0}
.header-nav a[aria-current="location"]{color:var(--gold-text)}
.header-nav a[aria-current="location"]:after{content:"";position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--gold)}
.header-nav .nav-company{display:inline-flex;align-items:baseline;gap:4px}
.mobile-sections{display:none}
.hero-foot p{max-width:690px;font-size:14px;line-height:1.85}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap}
.hero-actions .text-link{font-size:12px}
.hero-actions .text-link:first-child{color:var(--muted);border-bottom-color:#c0c0c0}
.group{padding-top:86px;padding-bottom:90px}
.group-aside .eyebrow{font-size:11px;letter-spacing:.12em}
.group-aside>p:not(.eyebrow){font-size:14px;color:#797979}
.group-statement{font-size:clamp(30px,2.8vw,41px);line-height:1.38;max-width:810px;margin-bottom:30px}
.group-statement span{display:block}
.group-statement span:first-child{color:var(--ink)}
.group-statement span:last-child{color:#7c7c7c!important}
.group-body{font-size:15px;line-height:1.9;max-width:740px;color:#666666;margin:0 0 20px}
.group-purpose{margin-top:38px;border-top:1px solid var(--line)}
.group-purpose article{display:grid;grid-template-columns:155px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}
.group-purpose h3,.group-values h3{font-size:17px;line-height:1.5;font-weight:400;margin:0;color:#323232}
.group-purpose p,.group-values>p{font-size:14px;line-height:1.9;color:#6a6a6a;margin:0;max-width:650px}
.group-values{padding:28px 0 0}
.group-values>p{margin:12px 0 13px;max-width:690px}
.group-values summary{font-size:12px;color:var(--gold-text);width:max-content;max-width:100%;padding:7px 0;border-bottom:1px solid #c3ae75;line-height:1.6}
.group-values .is-open{display:none}
.group-values details[open] .is-open{display:inline}
.group-values details[open] .is-closed{display:none}
.values-explained{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;margin:26px 0 5px}
.values-explained h4{font-weight:400;font-size:14px;margin:0 0 6px;color:var(--ink)}
.values-explained p{font-size:13px;line-height:1.8;color:#6d6d6d;margin:0}
.chapter-next{margin-top:32px;font-size:12px}
.portfolio-top{align-items:start;gap:60px;margin-bottom:23px}
.portfolio-intro{max-width:400px;font-size:14px;line-height:1.9;margin-top:44px;color:#6a6a6a}
.portfolio-navigation{display:flex;justify-content:flex-end;margin:0 0 12px}
.portfolio-navigation .text-link{font-size:11px}
.filters{flex-wrap:wrap;overflow:visible;gap:7px 24px}
.filters button{font-size:11px;padding:12px 0}
.portfolio-count{font-size:10px}
.directory{gap:7%;grid-template-columns:1fr 1.03fr}
.directory-guide{font-size:12px;color:#6a6a6a;margin:0 0 15px;line-height:1.8;min-height:22px}
.mobile-guide{display:none}
.company-name{color:#595959}
.company-domain{font-size:10px;color:#747474;max-width:135px}
.company-choice{padding:16px 0;transition:color .2s}
.company-choice[aria-pressed=true]{padding-left:18px}
.company-preview{position:sticky;top:var(--header-space);scroll-margin-top:var(--header-space);width:100%}
.preview-selection{margin:0 0 15px;font-size:9px;letter-spacing:.12em;color:#6f6f6f;line-height:22px}
.preview-picture{height:clamp(160px,29vh,320px);aspect-ratio:auto}
.preview-picture img{object-position:center}
.preview-meta{margin:20px 0 9px}
.preview-title{font-size:clamp(27px,2.5vw,36px);margin-bottom:9px}
.preview-sub{font-size:13px;line-height:1.8;margin-bottom:12px;color:#5f5f5f}
.preview-desc{display:block;font-size:14px;line-height:1.85;max-width:100%;color:#686868;margin-bottom:16px}
.preview-actions{margin-top:15px}
.preview-actions .text-link{font-size:12px}
.preview-actions small{font-size:10px}
.directory-note{align-items:start;margin-top:38px;padding-top:25px;border-top:1px solid #d5d5d5;font-size:11px;color:#6c6c6c}
.directory-note p{max-width:640px}
.directory-note .chapter-next{margin-top:0;font-size:11px;flex-shrink:0}
.connections-title h2{font-size:clamp(42px,4.5vw,65px);line-height:1.17;max-width:540px}
.connections-title>p{max-width:480px;font-size:14px;line-height:1.95;color:#c6c6c6;margin-bottom:20px}
.connections-grid{gap:9%}
.principle h3{font-size:24px;font-weight:300}
.principle p{font-size:14px;line-height:1.9;max-width:100%;color:#c2c2c2}
.perspective-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:54px;padding-top:40px;border-top:1px solid #4d4d4d}
.perspective-grid h3{font:300 25px/1.4 var(--display);letter-spacing:-.015em;margin:0 0 16px;color:#d7c694;max-width:430px}
.perspective-grid p{font-size:14px;line-height:1.95;color:#c4c4c4;margin:0;max-width:535px}
.connections-foot{margin-top:35px;padding-top:26px;border:0}
.connections-foot .text-link{color:#ececd7;border-bottom-color:#b9a260;font-size:12px}
.connections-foot img{width:55px}
.contact-top p{font-size:15px;line-height:1.9;max-width:690px;color:#6c6c6c}
.contact-addresses p{font-size:12px}
.detail-scope h3{font-weight:400;font-size:12px;color:var(--gold-text);margin:0 0 8px}
.detail-scope{margin:25px 0}
.detail-body{font-size:14px;line-height:1.9}
.detail-note{font-size:11px;line-height:1.85}
@media(max-width:1100px){.portfolio-intro{max-width:360px}.directory{gap:5%}.company-name{font-size:20px}.company-domain{max-width:100px}.directory-note{display:block}.directory-note .chapter-next{display:inline-block;margin-top:20px}.group-purpose article{grid-template-columns:130px 1fr;gap:20px}}
@media(max-width:1000px){:root{--header-space:145px}.mobile-sections{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);height:42px}.mobile-sections a{position:relative;font-size:11px;line-height:42px;white-space:nowrap;color:#737373}.mobile-sections a[aria-current="location"]{color:var(--gold-text)}.mobile-sections a[aria-current="location"]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold)}.portfolio-top{gap:35px}.portfolio-intro{margin-top:38px}.company-domain{display:none}.hero-actions{gap:28px}}
@media(max-width:760px){:root{--header-space:134px}.mobile-sections{height:40px;gap:12px}.mobile-sections a{font-size:10px;line-height:40px}.hero-foot p{font-size:13px;line-height:1.9;max-width:510px;margin:18px auto}.hero-actions{gap:22px}.hero-actions .text-link{font-size:11px}.group{padding:57px 0 65px}.group-inner{gap:21px}.group-aside .eyebrow{font-size:10px}.group-statement{font-size:29px;line-height:1.4;margin-bottom:24px}.group-body{font-size:14px;line-height:1.9;margin-bottom:20px}.group-purpose{margin-top:30px}.group-purpose article{grid-template-columns:1fr;gap:10px;padding:23px 0}.group-purpose h3,.group-values h3{font-size:17px}.group-purpose p,.group-values>p{font-size:14px;line-height:1.9}.values-explained{gap:22px 20px}.values-explained p{font-size:13px}.chapter-next{font-size:12px;margin-top:26px}.portfolio-top{display:block}.portfolio-intro{max-width:100%;font-size:14px;line-height:1.9;margin:22px 0 0}.portfolio-top h2{font-size:38px}.portfolio-navigation{justify-content:flex-start;margin:25px 0 16px}.filters{flex-wrap:wrap;gap:0 22px;overflow:visible}.filters button{font-size:11px;padding:10px 0;min-height:40px}.filter-line{align-items:flex-start;gap:8px;margin-bottom:24px}.portfolio-count{font-size:9px;padding-top:14px}.directory{display:block}.directory-guide{font-size:12px;margin:0 0 18px}.desktop-guide{display:none}.mobile-guide{display:inline}.directory-index{width:100%}.company-list{max-height:none;overflow:visible;overscroll-behavior:auto;padding:0;border-top:1px solid #d2d2d2}.company-choice{min-height:62px;padding:15px 0;gap:12px}.company-name{font-size:21px;line-height:1.4}.company-domain{display:block;font-size:9px;max-width:100px}.company-choice:before{top:20px;bottom:20px}.company-choice[aria-pressed=true]{padding-left:17px}.company-preview{position:static;top:auto;order:initial;padding:0 0 25px;margin:0;width:100%;border:0}.preview-selection{display:none}.preview-picture{height:210px;aspect-ratio:auto;margin-top:9px}.preview-meta{font-size:9px;margin:18px 0 9px}.preview-title{font-size:29px}.preview-sub{font-size:13px;margin-bottom:10px}.preview-desc{display:block;font-size:14px;line-height:1.85;margin-bottom:15px}.preview-actions{margin-top:12px}.preview-actions .text-link{font-size:12px;min-height:40px;padding-top:7px}.directory-note{font-size:11px;margin-top:26px}.connections{padding:60px 0}.connections-title h2{font-size:45px}.connections-title>p{font-size:14px;max-width:100%;line-height:1.95}.connections-grid{gap:25px}.principle h3{font-size:23px}.principle p{font-size:14px;line-height:1.9}.perspective-grid{grid-template-columns:1fr;gap:30px;padding-top:29px;margin-top:34px}.perspective-grid h3{font-size:25px;margin-bottom:13px}.perspective-grid p{font-size:14px;line-height:1.9}.connections-foot{margin-top:24px;padding-top:7px;align-items:center}.connections-foot .text-link{font-size:12px}.connections-foot img{width:43px}.contact-top p{font-size:14px;line-height:1.9}.detail-body{font-size:14px}.contact-addresses a{overflow-wrap:anywhere}}
@media(max-width:380px){.mobile-sections{gap:8px}.mobile-sections a{font-size:9px}.hero-actions{gap:14px}.hero-actions .text-link{font-size:10px}.group-statement{font-size:27px}.portfolio-top h2{font-size:34px}.company-name{font-size:19px}.company-domain{max-width:80px;font-size:8px}.connections-title h2{font-size:39px}.values-explained{grid-template-columns:1fr}.preview-picture{height:185px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

section[id]{scroll-margin-top:0}

/* V3.2: the supplied gold sculpture is confined to the existing banner.
   No fixed canvas, nested scrolling document or full-page height overrides. */
.hero-art.hero-art--3d { isolation:isolate; background:transparent; }
#orbis3dCanvas { position:absolute; inset:0; width:100%; height:100%; display:block; opacity:0; background:transparent; touch-action:pan-y; cursor:grab; filter:drop-shadow(0 14px 15px rgba(70,46,10,.10)); outline-offset:-6px; }
#orbis3dCanvas.dragging { cursor:grabbing; }
#orbis3dCanvas:focus-visible { outline:1px solid var(--gold-text); }
#orbis3dFallback { position:absolute; inset:7% 5%; display:flex; align-items:center; justify-content:center; pointer-events:none; filter:drop-shadow(0 12px 13px rgba(70,46,10,.09)); }
#orbis3dFallback svg { width:100%; height:100%; }
#orbis3dFallback[hidden] { display:none; }
.orbis3d-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; padding:0; border:0; }
@media(max-width:380px) { .hero-art.hero-art--3d { height:237px; } }


/* V3.3 | Orbis black, white and gold. The approved layout and typography remain. */
.header { background:#000000; color:#ffffff; backdrop-filter:none; }
.header-inner { border-bottom-color:#292929; }
.header .brand-name { color:#ffffff; }
.header .brand-sub, .header .nav-company sup { color:#d4af36; }
.header .brand img { filter:none; opacity:1; }
.header-nav>a, .header-nav>button { color:#e5e5e5; }
.header-nav>a:hover, .header-nav>button:hover,
.header-nav a[aria-current="location"] { color:#d4af36; }
.header-nav>a:after, .header-nav>button:after,
.header-nav a[aria-current="location"]:after { background:#d4af36; }
.header .langs button { color:#adadad; }
.header .langs button:hover, .header .langs button[aria-pressed="true"] { color:#f3d477; }
.header .langs button[aria-pressed="true"] { border-bottom-color:#d4af36; }
.header .langs .divider { background:#454545; }
.header .mobile-open { color:#ffffff; border-bottom-color:#d4af36; }
.header .mobile-sections { border-bottom-color:#292929; }
.header .mobile-sections a { color:#d0d0d0; }
.header .mobile-sections a:hover,
.header .mobile-sections a[aria-current="location"] { color:#f3d477; }
.header .mobile-sections a[aria-current="location"]:after { background:#d4af36; }
.header :focus-visible { outline-color:#f3d477; }
.portfolio { background:#ffffff; }
.portfolio .portfolio-intro, .portfolio .directory-guide,
.portfolio .preview-desc { color:#626262; }
.portfolio .company-name { color:#505050; }
.portfolio .company-domain, .portfolio .preview-selection,
.portfolio .directory-note { color:#6a6a6a; }
.portfolio .company-choice[aria-pressed="true"] .company-name,
.portfolio .company-choice:hover .company-name { color:#111111; }
.portfolio .company-choice[aria-pressed="true"] .company-domain { color:var(--gold-text); }
.portfolio .preview-sub { color:#535353; }
.portfolio .preview-picture { background:#f3f3f3; }
.portfolio .company-list, .portfolio .company-row,
.portfolio .filter-line, .portfolio .directory-note { border-color:#dedede; }
.connections { background:#000000; color:#ffffff; }
.connections-top, .principle, .perspective-grid { border-color:#303030; }
.connections-top .eyebrow { color:#d4af36; }
.connections-top>span { color:#b4b4b4; }
.connections-title h2 { color:#ffffff; }
.connections-title h2 span { color:#d1b86d; }
.connections-title>p, .principle p,
.perspective-grid p, .connections-foot>p { color:#c6c6c6; }
.principle h3 { color:#ffffff; }
.perspective-grid h3 { color:#d1b86d; }
.connections-foot .text-link { color:#ffffff; border-bottom-color:#ba9b48; }
.connections-foot .text-link:hover { color:#f3d477; }
.connections-foot img { opacity:1; }
.connections :focus-visible { outline-color:#f3d477; }

/* Overscan is a larger transparent render surface, NOT a smaller model.
   Stage width/height and camera distance are unchanged. Extra breathing room
   keeps the original-size sculpture clear of the headline and intro as it turns. */
.hero, .hero-scene, .hero-art.hero-art--3d { overflow:visible; }
.hero-scene { margin-top:52px; margin-bottom:36px; }
.hero-art.hero-art--3d { cursor:grab; touch-action:pan-y; }
.hero-art.hero-art--3d.dragging { cursor:grabbing; }
#orbis3dCanvas {
  inset:auto; left:50%; top:50%; transform:translate(-50%,-50%);
  max-width:none; pointer-events:none; outline:none;
}
.hero-art--3d:has(#orbis3dCanvas:focus-visible) { outline:1px solid var(--gold-text); outline-offset:8px; }
@media(max-width:760px) {
  .hero-scene { margin-top:44px; margin-bottom:28px; }
}


/* V3.4: complete original horizontal logo, including its original lettering.
   No replacement type, background rectangles, cropping or aspect distortion. */
.brand.brand--full, .footer-brand.brand--full {
  display:inline-flex; align-items:center; gap:0; flex-shrink:0;
  padding:0; line-height:0; background:transparent;
}
.header .brand.brand--full img, .menu-top .brand.brand--full img,
.footer-brand.brand--full img {
  display:block; width:260px; height:auto; max-width:none;
  aspect-ratio:2047 / 506; object-fit:contain; object-position:center;
  border:0; border-radius:0; padding:0; background:transparent;
  opacity:1; filter:none;
}
.footer-brand.brand--full img { width:265px; }
@media(max-width:1200px) {
  .header .brand.brand--full img, .menu-top .brand.brand--full img { width:230px; }
}
@media(max-width:760px) {
  .header .brand.brand--full img, .menu-top .brand.brand--full img { width:205px; }
  .footer-brand.brand--full img { width:225px; }
  .header-inner { gap:15px; }
}
@media(max-width:380px) {
  .header .brand.brand--full img, .menu-top .brand.brand--full img { width:175px; }
  .footer-brand.brand--full img { width:200px; }
  .header-inner { gap:10px; }
}
