/* SFBA — institutional design system. Original brand palette, unified geometric typography. */
@font-face{font-family:BDO;src:url('/assets/font-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:BDO;src:url('/assets/font-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:BDO;src:url('/assets/font-DemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--brand-blue:#253238;--photo-radius:20px;--ink:#161618;--body:#3a3a3e;--muted:#6b6b6e;--line:#dedede;--soft:#f5f5f5;--white:#fff;--serif:var(--sans);--sans:BDO,Arial,sans-serif;--max:1200px;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--white);color:var(--ink);font:400 1.0625rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:auto;max-width:100%;height:auto}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}::selection{background:#3a3a3e;color:#fff}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.15}h1{font-size:clamp(2.375rem,3.8vw,3.25rem)}h2{font-size:clamp(1.875rem,3vw,2.5rem)}h3{font-size:1.1875rem;font-weight:500;line-height:1.4;letter-spacing:-.025em}h1 em{font-weight:400;font-style:italic}p{color:var(--body)}p+p{margin-top:1.15rem}ul{padding-left:1.2rem}address{font-style:normal}svg{display:block;flex-shrink:0}main{overflow:clip}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.section{padding-block:86px}.soft{background:var(--soft)}.eyebrow{display:flex;align-items:center;gap:13px;font:500 .75rem/1.7 var(--sans);text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:23px}.eyebrow:before{content:'';display:block;width:25px;height:1px;background:currentColor;flex:0 0 25px}.label{font-size:.875rem;color:var(--muted)}.small{font-size:.875rem}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:white;color:var(--ink);padding:12px 20px}.skip:focus{top:12px}.arrow{flex:none;transition:transform .25s var(--ease)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;min-height:50px;padding:13px 21px;border:1px solid var(--ink);background:var(--ink);color:white;font-size:.875rem;font-weight:500;line-height:1.5;transition:background .2s,border-color .2s}.button:hover{background:#3a3a3e;border-color:#3a3a3e}.button:hover .arrow{transform:translateX(3px)}.button.outline{background:transparent;color:var(--ink);border-color:#c8c8c8}.button.outline:hover{border-color:var(--ink)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;font-size:.875rem;font-weight:500;line-height:1.6;padding:8px 0;border-bottom:1px solid #a5a5a7;transition:border-color .2s}.text-link:hover{border-color:currentColor}.text-link:hover .arrow{transform:translateX(3px)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:23px;margin-top:31px}
/* Rounded photographs: clip overlays with their image, preserving the logo. */
.hero-photo,.person-photo,.intro-image img,.profile-portrait,.society-photo,.location-panel>img{border-radius:var(--photo-radius)}
.related-person img{border-radius:8px}
@font-face{font-family:BDO;src:url('/assets/font-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
/* Masthead */
.header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .25s}.header.is-scrolled{box-shadow:0 5px 18px #00000008}.header-inner{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:38px}.brand{display:block;flex:none}.brand img{width:158px;height:auto}.nav{display:flex;align-items:center;gap:32px;font-size:.875rem;font-weight:400}.nav a{position:relative;padding:12px 0;white-space:nowrap}.nav a:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.nav .nav-contact{padding:10px 19px;border:1px solid #ababaf;margin-left:5px;transition:background .2s,border-color .2s}.nav .nav-contact:after{display:none}.nav .nav-contact:hover,.nav .nav-contact[aria-current=page]{background:var(--ink);border-color:var(--ink);color:#fff}.menu-toggle{display:none;align-items:center;gap:14px;background:white;border:0;padding:12px 0 12px 14px;font-size:.875rem}.menu-icon{position:relative;display:block;width:23px;height:14px}.menu-icon:before,.menu-icon:after{content:'';position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:transform .2s,top .2s}.menu-icon:before{top:3px}.menu-icon:after{top:10px}.menu-toggle[aria-expanded=true] .menu-icon:before{top:7px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{top:7px;transform:rotate(-45deg)}
/* Opening composition */
.hero{background:var(--brand-blue);color:#fff;padding-top:36px}.hero-grid{display:grid;grid-template-columns:.91fr 1.09fr;align-items:center;gap:0;min-height:510px}.hero-copy{padding:27px 52px 33px 0}.hero .eyebrow{color:#b7b7ba;font-size:.75rem;letter-spacing:.145em;margin-bottom:29px;gap:10px}.hero .eyebrow:before{width:20px;flex-basis:20px}.hero h1{font-size:clamp(2.625rem,3.9vw,3.25rem);line-height:1.13;max-width:18ch;letter-spacing:-.025em;margin-bottom:26px}.hero h1 em{color:#d3d3d6}.hero p{font-size:1rem;line-height:1.8;color:#ccc;max-width:40ch}.hero .actions{gap:24px;row-gap:16px;margin-top:30px}.hero .button{background:white;border-color:white;color:var(--ink);padding-inline:20px;gap:24px}.hero .button:hover{background:#e6e6e6;border-color:#e6e6e6}.hero .text-link{color:#eee;border-color:#6b6b6e;font-weight:400}.hero .text-link:hover{border-color:#fff}.hero-photo{align-self:stretch;position:relative;min-height:510px;overflow:hidden;background:#232325}.hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:57% center}.photo-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;color:#fff;background:linear-gradient(transparent,#0009);padding:55px 27px 23px;font-size:.75rem;line-height:1.5;letter-spacing:.04em}.hero-base{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-block:23px;color:#aeb0b3;font-size:.75rem;letter-spacing:.08em;line-height:1.65}.hero-base span:first-child{font-size:.75rem;letter-spacing:.17em}.hero-base span:last-child{letter-spacing:.02em}
/* Home / Society */
.intro{display:grid;grid-template-columns:.96fr 1.04fr;gap:80px;align-items:center}.intro-image{position:relative;padding:0 25px 0 0}.intro-image:after{content:'';position:absolute;right:0;top:25px;bottom:53px;width:1px;background:var(--line)}.intro-image img{aspect-ratio:1.25;width:100%;object-fit:cover;object-position:center}.intro-image figcaption{font-size:.75rem;color:var(--muted);line-height:1.6;margin-top:17px}.intro-copy h2{margin-bottom:25px}.intro-copy p{max-width:52ch;font-size:1rem;line-height:1.85}.intro-copy .text-link{margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:17px}.section-heading-side{max-width:330px;flex-shrink:0}.section-heading-side p{font-size:1rem;line-height:1.8}.section-heading-side .text-link{margin-top:16px}.areas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:58px}.area-card{display:grid;grid-template-columns:25px 1fr 32px;column-gap:18px;border-top:1px solid #ccc;position:relative;padding:28px 0 30px;isolation:isolate}.area-card:before{position:absolute;content:'';height:1px;background:var(--ink);top:-1px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.area-card:hover:before,.area-card:focus-visible:before{transform:scaleX(1)}.number{font:400 .8125rem/1.8 var(--serif);color:var(--muted);padding-top:4px}.area-card :is(h2,h3){font-family:var(--serif);font-size:1.5rem;font-weight:400;letter-spacing:-.025em;line-height:1.22;max-width:29ch}.area-card p{font-size:1rem;color:var(--muted);line-height:1.75;margin-top:12px;max-width:43ch}.area-arrow{align-self:start;display:grid;place-items:center;width:32px;height:32px;color:var(--muted);transition:color .2s,background .2s}.area-arrow .arrow{width:18px;height:18px}.area-card:hover .area-arrow{color:var(--ink)}.area-card:hover .area-arrow .arrow{transform:translate(2px,-2px)}.areas-directory{padding-top:22px}.areas-directory .areas-grid{grid-template-columns:1fr}.areas-directory .area-card{grid-template-columns:60px 1fr 48px;gap:26px;padding-block:30px}.areas-directory .area-card:first-child{border-top:0}.areas-directory .area-card:before{display:none}.areas-directory .area-copy{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.areas-directory .area-card :is(h2,h3){font-size:1.75rem;max-width:30ch}.areas-directory .area-card p{margin:0;font-size:1rem;max-width:40ch}.areas-directory .number{font-size:1rem}.areas-directory .area-arrow{width:44px;height:44px;border:1px solid var(--line);align-self:center;border-radius:50%;color:var(--ink)}.areas-directory .area-card:hover .area-arrow{background:var(--ink);border-color:var(--ink);color:white}.society-figure{margin-top:34px}.society-photo{aspect-ratio:2.45;object-fit:cover;object-position:center 23%;width:100%}.society-figure figcaption{font-size:.75rem;color:var(--muted);margin-top:15px;letter-spacing:.025em}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding:36px 0;border-top:1px solid var(--line)}.story:first-child{padding-top:0;border-top:0}.story:last-child{padding-bottom:0}.story h2{font-size:2rem;max-width:18ch}.story p{max-width:64ch;line-height:1.85;font-size:1rem}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.principles article{padding:25px 0 0;border-top:1px solid #c8c8c8}.principles h3{font-family:var(--serif);font-size:1.75rem;font-weight:400;margin-bottom:17px}.principles p{font-size:1rem;line-height:1.8}
/* People */
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}.person-photo{position:relative;aspect-ratio:4/4.65;overflow:hidden;background:#efefef;margin-bottom:21px}.person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 32%;transition:transform .55s var(--ease)}.person-main:hover .person-photo img{transform:scale(1.025)}.person-heading{border-top:1px solid var(--line);padding-top:17px}.person :is(h2,h3){font-family:var(--sans);font-size:1.0625rem;font-weight:500;letter-spacing:-.025em;line-height:1.4;margin-bottom:5px}.person .role{font-size:.8125rem;color:var(--muted);letter-spacing:.03em}.person-email{display:block;overflow-wrap:anywhere;font-size:.875rem;color:var(--body);margin-top:11px;line-height:1.7;width:fit-content}.person-email:hover{text-decoration:underline;text-underline-offset:4px}.portrait-link{position:absolute;bottom:16px;right:16px;left:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 15px;font-size:.8125rem;line-height:1.4;opacity:0;transform:translateY(5px);transition:transform .25s,opacity .25s}.portrait-link .arrow{width:16px;height:16px}.person-main:hover .portrait-link,.person-main:focus-visible .portrait-link{opacity:1;transform:none}.team-page{padding-top:45px}.team-page .person-photo{aspect-ratio:3/4}.profile{display:grid;grid-template-columns:360px 1fr;gap:82px;padding-top:44px}.profile-aside{height:fit-content;position:sticky;top:138px}.profile-portrait{width:100%;aspect-ratio:4/4.9;object-fit:cover;object-position:center 32%}.profile-contact{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.profile-contact .eyebrow{margin-bottom:11px}.profile-contact .text-link{font-size:.9375rem;overflow-wrap:anywhere;gap:18px}.profile-main h1{margin-bottom:28px;max-width:15ch}.profile-main .eyebrow{margin-bottom:18px}.profile-main .bio p{font-size:1rem;line-height:1.85;max-width:66ch}.profile-meta{margin-top:33px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr 1fr;gap:45px}.profile-meta h2{font-family:var(--sans);font-size:.875rem;letter-spacing:.025em;font-weight:500;margin-bottom:17px}.plain-list{list-style:none;padding:0;margin:0}.plain-list li{padding:6px 0;font-size:.9375rem;line-height:1.6;color:var(--body)}
/* Interior page architecture */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.75rem;color:var(--muted);padding-top:27px;line-height:1.6}.breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumb>span[aria-hidden]{color:#b1b1b4}.page-head{padding:41px 0 45px;border-bottom:1px solid var(--line)}.page-head .eyebrow{margin-bottom:18px}.page-head-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}.page-head h1{max-width:25ch}.page-head p{font-size:1rem;line-height:1.85;max-width:47ch;padding-bottom:3px}.page-area-detail .page-head-grid{grid-template-columns:1.2fr .8fr}.page-area-detail h1{max-width:24ch}.detail-grid{display:grid;grid-template-columns:1fr 320px;gap:85px;padding-top:46px}.detail-grid h2{font-size:1.875rem;margin-bottom:28px}.service-list{list-style:none;margin:0;padding:0}.service-list li{position:relative;border-top:1px solid var(--line);padding:22px 0 22px 27px;font-size:1rem;line-height:1.8}.service-list li:before{content:'—';position:absolute;left:0;color:var(--muted)}.detail-aside{background:var(--soft);padding:29px;height:fit-content;position:sticky;top:132px;border-top:2px solid var(--ink)}.detail-aside h2{font-family:var(--sans);font-size:.875rem;letter-spacing:.02em;font-weight:500;margin-bottom:20px}.related-person{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:18px 0;font-size:.875rem;line-height:1.6}.related-person img{width:52px;height:65px;object-fit:cover;object-position:center 30%}.related-person .label{font-size:.75rem}.related-person:hover>span{text-decoration:underline;text-underline-offset:3px}.detail-aside .button{width:100%;font-size:.875rem;margin-top:18px;gap:10px;padding-inline:16px}
/* Contacts */
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:45px;align-items:start}.contact-detail{border-top:1px solid var(--line);padding:25px 0}.contact-detail:first-child{border-top:0;padding-top:0}.contact-detail h2{font-family:var(--sans);font-size:.75rem;line-height:1.7;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:13px}.contact-detail>a:not(.text-link){font-family:var(--serif);font-size:1.8125rem;letter-spacing:-.025em;line-height:1.5}.contact-detail a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.contact-detail address{font-size:1rem;line-height:1.9}.contact-detail .small{font-size:.75rem;margin-top:8px;color:var(--muted)}.contact-detail .text-link{font-size:.875rem;margin-top:16px}.contact-form{padding:32px;background:var(--soft);border-top:2px solid var(--ink)}.contact-form h2{font-size:1.875rem;margin-bottom:16px}.contact-form>p{font-size:1rem;line-height:1.8;margin-bottom:26px}.field{margin-bottom:20px}.field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;line-height:1.6}.field input,.field textarea{display:block;width:100%;background:white;color:var(--ink);border:1px solid #c8c8c8;border-radius:0;padding:12px 13px;font-size:1rem;line-height:1.6;transition:border-color .2s}.field input:hover,.field textarea:hover{border-color:#8c8c90}.field textarea{resize:vertical;min-height:130px}.form-note{font-size:.875rem!important;line-height:1.75!important;color:var(--muted);margin:18px 0 22px!important}.form-note a{color:var(--body);text-decoration:underline;text-underline-offset:3px}.contact-form .button{width:100%;text-align:left}.contact-form .form-status{font-size:.875rem;line-height:1.7;border-left:2px solid var(--ink);padding-left:16px;margin:20px 0 0}.location-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:74px;align-items:center}.location-panel>img{width:100%;aspect-ratio:1.5;object-fit:cover}.location-panel h2{margin-bottom:23px}.location-panel p{font-size:1rem;line-height:1.8;max-width:41ch}.location-panel .text-link{margin-top:24px}
/* Source-grounded figures, with a stable accessible value during counting. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.numbers-section{padding-bottom:70px}.numbers-inner{display:grid;grid-template-columns:.8fr 3fr;gap:45px;border-top:1px solid var(--line);padding-top:36px;align-items:start}.numbers-inner h2{font-size:1.5rem;line-height:1.35;padding-top:9px}.numbers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0}.stat{display:flex;flex-direction:column;gap:13px;border-left:1px solid var(--line);padding-left:28px}.stat dt{order:2;font-size:1rem;line-height:1.6;color:var(--body)}.stat dd{order:1;margin:0;color:var(--brand-blue);font:400 clamp(2.5rem,4vw,3.25rem)/1.1 var(--sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums}.stat-visual{white-space:nowrap}.stat-counter{display:inline-block;min-width:2ch;text-align:right}.stat-counter[data-target="5000"]{min-width:4ch}.stat-suffix{font-size:.62em;letter-spacing:0;margin-left:3px}
@media(max-width:950px){.numbers-inner{grid-template-columns:1fr;gap:28px}.numbers-inner h2{padding:0}.stat:first-child{border-left:0;padding-left:0}}
@media(max-width:760px){.numbers-section{padding-bottom:55px}.numbers-inner{padding-top:28px}.numbers-grid{gap:20px}.stat{padding-left:20px}.stat dd{font-size:2.5rem}}
@media(max-width:600px){.numbers-inner{gap:24px}.numbers-grid{grid-template-columns:1fr;gap:0}.stat{display:grid;grid-template-columns:minmax(125px,.85fr) 1.15fr;align-items:center;gap:24px;border-left:0;border-top:1px solid var(--line);padding:22px 0}.stat:first-child{border-top:0;padding-top:0}.stat:last-child{padding-bottom:0}.stat dd{grid-column:1;grid-row:1}.stat dt{grid-column:2;grid-row:1}}
/* Closing / footer */
.contact-band{background:var(--brand-blue);color:#fff;padding:58px 0 61px}.contact-band-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.contact-band .eyebrow{color:#bcbcbf;margin-bottom:18px}.contact-band h2{font-size:2.5rem;line-height:1.15;max-width:23ch}.contact-band p{font-size:1rem;color:#bcbcbf;margin-top:20px}.band-contacts{border-left:1px solid #49494c;padding-left:55px;display:flex;flex-direction:column;align-items:flex-start}.band-email{font-family:var(--serif);font-size:1.875rem;letter-spacing:-.025em;display:flex;align-items:center;gap:25px;line-height:1.5}.band-email:hover{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.band-phone{color:#ccc;font-size:1rem;margin-top:9px}.band-phone:hover{color:#fff}.band-contacts .text-link{color:#ddd;border-color:#6b6b6e;font-size:.8125rem;margin-top:26px;font-weight:400}.band-contacts .text-link:hover{color:white;border-color:white}.footer{background:white;padding-top:54px}.footer-grid{display:grid;grid-template-columns:1.22fr .85fr 1.3fr 1fr;gap:40px;padding-bottom:40px}.footer .brand img{width:151px}.footer-caption{font-size:.75rem;line-height:1.85;color:var(--muted);margin-top:19px;max-width:30ch}.footer-title{font-size:.75rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;margin-bottom:17px}.footer a:not(.brand){display:block;font-size:.875rem;line-height:1.75;margin:7px 0;overflow-wrap:anywhere}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer address{font-size:.875rem;line-height:1.85;color:var(--body)}.footer-bottom{border-top:1px solid var(--line);padding:19px 0 25px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:.75rem;line-height:1.6;color:var(--muted)}.footer-bottom div{display:flex;gap:26px}.footer-bottom a{font-size:.75rem!important}
/* Legal pages retain their source text and visible review notes. */
.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:80px;padding-top:46px}.legal-nav{height:fit-content;position:sticky;top:132px}.legal-nav a{display:block;padding:14px 0;font-size:.875rem;border-bottom:1px solid var(--line);line-height:1.65}.legal-nav a:hover{text-decoration:underline;text-underline-offset:4px}.legal-content{max-width:75ch;font-size:1rem;overflow-wrap:anywhere}.legal-content h2,.legal-content h3{font-family:var(--sans);font-size:1.125rem;font-weight:500;letter-spacing:-.015em;line-height:1.4;margin:30px 0 16px}.legal-content p{margin:0 0 16px}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-notice{border-left:2px solid var(--ink);background:var(--soft);padding:20px 24px;margin-bottom:32px;font-size:.875rem;line-height:1.8}.legal-notice p{margin:0}.review-list{max-width:1000px;padding-top:20px}.review-list article{border-bottom:1px solid var(--line);padding:30px 0}.review-list h2{font-family:var(--sans);font-size:1.25rem;font-weight:500;line-height:1.5;letter-spacing:-.02em;margin-bottom:17px}.review-list p{max-width:76ch;font-size:1rem;line-height:1.85}.error-page{padding-block:95px;min-height:55vh}.error-page h1{max-width:22ch}.error-page p{margin:25px 0 30px;max-width:54ch}
/* Motion never gates content. */
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:enter .65s var(--ease) both}.hero-photo{animation:enter .8s var(--ease) both}@keyframes enter{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
/* Tablet */
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header-inner{gap:25px}.nav{gap:23px}.brand img{width:147px}.hero-copy{padding-right:35px}.hero h1{font-size:2.9375rem}.hero .eyebrow{font-size:.75rem;letter-spacing:.1em}.hero-photo{min-height:490px}.hero-grid{min-height:490px}.hero .actions{gap:16px}.hero .button{gap:16px;padding-inline:17px}.intro{gap:55px}.intro-image{padding-right:22px}.section-heading{gap:45px}.section-heading-side{max-width:300px}.areas-grid{column-gap:40px}.team-grid{gap:20px}.person :is(h2,h3){font-size:1rem}.profile{grid-template-columns:310px 1fr;gap:55px}.page-head-grid{gap:55px}.detail-grid{gap:55px;grid-template-columns:1fr 295px}.contacts-grid{gap:60px}.location-panel{gap:55px}.footer-grid{gap:28px}.band-contacts{padding-left:37px}.band-email{font-size:1.75rem}.areas-directory .area-copy{gap:40px}.areas-directory .area-card{gap:22px;grid-template-columns:45px 1fr 44px}.areas-directory .area-card :is(h2,h3){font-size:1.625rem}}
@media(max-width:950px){.header-inner{min-height:89px}.nav{gap:18px;font-size:.875rem}.nav .nav-contact{padding:9px 14px;margin-left:0}.brand img{width:132px}.hero-copy{padding-right:27px}.hero h1{font-size:2.6875rem}.hero .eyebrow:before{display:none}.hero .eyebrow{font-size:.75rem;letter-spacing:.09em}.hero .actions{align-items:flex-start;flex-direction:column;gap:11px}.hero-photo{min-height:475px}.hero-grid{min-height:475px}.hero p{font-size:1rem}.hero-base{font-size:.75rem}.hero-base span:first-child{font-size:.75rem}.section{padding-block:65px}.intro{gap:37px}.intro-copy h2{font-size:2rem}.intro-copy p{font-size:1rem}.section-heading{gap:35px}.section-heading-side{max-width:270px}.section-heading h2{font-size:2.1rem}.areas-grid{column-gap:32px}.area-card{grid-template-columns:20px 1fr 25px;gap:12px}.area-card :is(h2,h3){font-size:1.4rem}.area-card p{font-size:1rem}.area-arrow{width:25px;height:28px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:37px 27px}.person-photo,.team-page .person-photo{aspect-ratio:4/4.5}.person :is(h2,h3){font-size:1.1875rem}.person-email{font-size:.875rem}.profile{grid-template-columns:280px 1fr;gap:38px}.profile-main h1{font-size:2.625rem}.profile-meta{gap:28px}.page-head-grid{gap:35px;grid-template-columns:1.15fr .85fr}.page-head h1{font-size:2.625rem}.page-head p{font-size:1rem}.story{gap:55px}.story h2{font-size:1.875rem}.principles{gap:32px}.detail-grid{gap:35px;grid-template-columns:1fr 270px}.detail-aside{padding:23px}.contacts-grid{gap:37px}.contact-form{padding:27px}.contact-detail>a:not(.text-link){font-size:1.625rem}.location-panel{gap:37px}.contact-band-inner{gap:40px;grid-template-columns:1fr 1fr}.contact-band h2{font-size:2.25rem}.band-contacts{padding-left:35px}.band-email{font-size:1.625rem;gap:15px}.footer-grid{grid-template-columns:1.2fr 1fr;gap:33px 60px}.footer-bottom{gap:20px}.legal-layout{gap:45px;grid-template-columns:195px 1fr}.areas-directory .area-copy{gap:30px}.areas-directory .area-card :is(h2,h3){font-size:1.5rem}.areas-directory .area-card p{font-size:1rem}}
/* Compact navigation and single-column reading */
@media(max-width:760px){:root{--photo-radius:16px}.wrap{width:calc(100% - 40px)}html{scroll-padding-top:100px}.header-inner{min-height:82px;flex-wrap:wrap;gap:0 20px}.brand img{width:131px}.menu-toggle{display:flex;min-height:48px}.nav{width:100%;align-items:stretch;flex-direction:column;gap:0;padding:10px 0 22px;font-size:.875rem;max-height:calc(100dvh - 82px);overflow:auto}.nav a{padding:13px 2px;border-bottom:1px solid var(--line)}.nav a:after{display:none}.nav a[aria-current=page]{font-weight:500}.nav .nav-contact{margin-top:13px;text-align:center;padding:12px}.js .nav{display:none}.js .nav.is-open{display:flex}.hero{padding-top:0}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:39px 0 34px;max-width:580px}.hero h1{font-size:2.875rem;max-width:22ch;margin-bottom:23px}.hero .eyebrow{font-size:.75rem;letter-spacing:.14em;margin-bottom:24px}.hero .eyebrow:before{display:block}.hero p{font-size:1rem;max-width:48ch}.hero .actions{flex-direction:row;align-items:center;gap:24px;margin-top:26px}.hero-photo{min-height:0;aspect-ratio:1.65}.hero-photo>img{object-position:60% 50%}.photo-caption{padding:45px 20px 18px}.hero-base{font-size:.75rem;padding-block:19px;align-items:flex-start;flex-direction:column;gap:3px}.hero-base span:first-child{font-size:.75rem;letter-spacing:.12em}.section{padding-block:55px}.intro{grid-template-columns:1fr;gap:30px}.intro-image{padding:0;order:2}.intro-image:after{display:none}.intro-image img{aspect-ratio:1.65}.intro-image figcaption{margin-top:12px}.intro-copy{order:1}.intro-copy h2{font-size:2.25rem;margin-bottom:23px}.intro-copy p{font-size:1rem;max-width:60ch}.intro-copy .text-link{margin-top:17px}.section-heading{align-items:flex-start;flex-direction:column;gap:21px;margin-bottom:33px}.section-heading h2{font-size:2.25rem}.section-heading-side{max-width:50ch;flex-shrink:1}.section-heading-side p{font-size:1rem}.section-heading-side .text-link{margin-top:10px}.area-card{grid-template-columns:21px 1fr 21px;gap:12px;padding:26px 0}.area-card :is(h2,h3){font-size:1.375rem}.area-card p{font-size:1rem}.area-card .number{font-size:.8125rem}.area-arrow .arrow{width:16px;height:16px}.team-grid{gap:30px 20px}.person :is(h2,h3){font-size:1.0625rem}.person-email{font-size:.875rem}.person-photo{margin-bottom:17px}.person-heading{padding-top:14px}.profile{grid-template-columns:1fr;padding-top:30px;gap:36px}.profile-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}.profile-portrait{aspect-ratio:4/5}.profile-contact{border-top:1px solid var(--line);margin:0 0 10px;padding-top:20px}.profile-contact .text-link{font-size:.875rem;gap:10px;max-width:100%;overflow-wrap:anywhere}.profile-main h1{font-size:2.75rem;max-width:20ch}.profile-meta{grid-template-columns:1.4fr 1fr}.breadcrumb{padding-top:23px;font-size:.75rem;gap:9px}.page-head{padding:29px 0 32px}.page-head .eyebrow{margin-bottom:16px}.page-head-grid,.page-area-detail .page-head-grid{grid-template-columns:1fr;gap:21px}.page-head h1{font-size:2.625rem;max-width:23ch}.page-head p{max-width:63ch;font-size:1rem;padding:0}.society-figure{margin-top:25px}.society-photo{aspect-ratio:1.7;object-position:center 18%}.society-figure figcaption{font-size:.75rem;line-height:1.7}.story{grid-template-columns:1fr;gap:21px;padding-block:29px}.story h2{max-width:none;font-size:1.875rem}.principles{grid-template-columns:1fr;gap:29px}.principles article{padding-top:21px}.principles h3{font-size:1.625rem;margin-bottom:12px}.areas-directory{padding-top:8px}.areas-directory .area-card{grid-template-columns:28px 1fr 39px;gap:15px;padding-block:25px}.areas-directory .area-copy{display:block}.areas-directory .area-card :is(h2,h3){font-size:1.625rem;max-width:31ch}.areas-directory .area-card p{margin-top:10px;font-size:1rem;max-width:50ch}.areas-directory .area-arrow{width:38px;height:38px;align-self:start}.detail-grid{grid-template-columns:1fr;padding-top:33px;gap:40px}.detail-aside{position:static;padding:28px}.detail-grid h2{font-size:1.75rem;margin-bottom:24px}.detail-aside h2{font-size:.9375rem}.related-person{font-size:1rem;gap:18px}.related-person img{width:56px;height:70px}.related-person .label{font-size:.8125rem}.detail-aside .button{width:fit-content;gap:35px}.contacts-grid{grid-template-columns:1fr;gap:34px;padding-top:33px}.contact-detail{padding-block:22px}.contact-detail>a:not(.text-link){font-size:1.875rem}.contact-form{padding:28px}.location-panel{grid-template-columns:1fr;gap:28px}.location-panel>img{aspect-ratio:1.6}.location-panel h2{font-size:2.25rem}.location-panel p{max-width:50ch}.contact-band{padding:43px 0}.contact-band-inner{grid-template-columns:1fr;gap:33px}.contact-band h2{font-size:2.25rem}.band-contacts{padding:27px 0 0;border-left:0;border-top:1px solid #49494c;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:30px}.band-email{font-size:1.75rem;grid-column:1/-1}.band-phone{font-size:.9375rem;margin-top:13px}.band-contacts .text-link{margin-top:13px;font-size:.8125rem}.footer{padding-top:41px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 40px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:7px}.footer-bottom div{gap:23px;flex-wrap:wrap}.footer-caption{max-width:35ch}.legal-layout{grid-template-columns:1fr;gap:27px;padding-top:24px}.legal-nav{position:static;display:flex;gap:25px}.legal-nav a{font-size:.875rem}.legal-notice{padding:19px 21px}.review-list{padding-top:0}}
@media(max-width:500px){.hero h1{font-size:2.625rem;line-height:1.15}.hero-copy{padding-top:32px}.hero .eyebrow{font-size:.75rem;letter-spacing:.1em;gap:9px}.hero .eyebrow:before{width:18px;flex-basis:18px}.hero .actions{gap:19px}.hero .button{padding:12px 15px;gap:12px;font-size:.8125rem}.hero .text-link{font-size:.8125rem;gap:13px}.hero p{font-size:1rem}.hero-photo{aspect-ratio:1.25}.photo-caption{font-size:.75rem;padding-inline:17px}.hero-base span:first-child{font-size:.75rem;letter-spacing:.08em}.eyebrow{margin-bottom:19px;font-size:.75rem}.intro-copy h2,.section-heading h2{font-size:2rem}.areas-grid{grid-template-columns:1fr;gap:0}.area-card{grid-template-columns:25px 1fr 27px;column-gap:15px;padding:24px 0}.area-card :is(h2,h3){font-size:1.5rem;max-width:26ch}.area-card p{font-size:1rem;max-width:36ch}.area-arrow .arrow{width:18px;height:18px}.team-grid{gap:27px 17px}.person-photo,.team-page .person-photo{aspect-ratio:3/4}.person :is(h2,h3){font-size:1rem;line-height:1.45}.person-email{font-size:.875rem}.person .role{font-size:.8125rem}.person-heading{padding-top:13px}.portrait-link{left:10px;right:10px;bottom:10px;padding:9px 10px;font-size:.75rem}.portrait-link .arrow{width:14px;height:14px}.profile-aside{display:block}.profile-portrait{aspect-ratio:1.05;object-position:center 29%}.profile-contact{margin-top:22px;margin-bottom:0;padding-top:18px}.profile-contact .text-link{font-size:.9375rem}.profile-main h1{font-size:2.5rem}.profile-meta{grid-template-columns:1fr;gap:25px}.profile-main .bio p{font-size:1rem}.page-head h1{font-size:2.375rem}.society-photo{aspect-ratio:auto;object-fit:contain}.areas-directory .area-card :is(h2,h3){font-size:1.5rem}.areas-directory .area-card{grid-template-columns:24px 1fr 31px;gap:12px}.areas-directory .area-arrow{width:31px;height:31px}.areas-directory .area-card p{font-size:1rem}.contact-form{padding:24px 21px}.contact-form .button{font-size:.8125rem;padding-inline:15px;gap:15px}.contact-form h2{font-size:1.75rem}.band-contacts{display:flex;align-items:flex-start}.band-email{font-size:1.8125rem}.band-contacts .text-link{margin-top:22px}.footer-grid{gap:28px 25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-caption{max-width:none}.footer a:not(.brand){font-size:.875rem}.footer address{font-size:.875rem}.footer-title{font-size:.75rem;margin-bottom:12px}.legal-nav{gap:19px;flex-wrap:wrap}.legal-content{font-size:1rem}}
@media(max-width:350px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:2.375rem}.hero .actions{align-items:flex-start;flex-direction:column;gap:12px}.hero .eyebrow{font-size:.75rem;letter-spacing:.04em}.hero .eyebrow:before{display:none}.team-grid{grid-template-columns:1fr}.person-photo,.team-page .person-photo{aspect-ratio:1.05}.person :is(h2,h3){font-size:1.1875rem}.person-email{font-size:.875rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:1!important}.band-email{font-size:1.625rem}.page-head h1{font-size:2.125rem}}
@media(hover:none){.portrait-link{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Final refinements: quieter portraits, clear names and comfortable touch targets. */
.person-main{display:block}.person-details,.person-summary,.profile-main{min-width:0}.person :is(h2,h3){text-wrap:balance}.person-heading a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.person .role{font-size:.875rem}.person-photo,.profile-photo{border-radius:12px;overflow:hidden}.profile-portrait{border-radius:0}.person-photo img,.profile-portrait{object-position:var(--portrait-x,50%) 32%;transform:scale(var(--portrait-scale,1));transform-origin:50% var(--portrait-origin-y,70%)}.person-main:hover .person-photo img{transform:scale(calc(var(--portrait-scale,1)*1.015))}.related-person img{object-position:var(--portrait-x,50%) 30%;flex:none}.related-person-text{padding-left:66px}.related-person .label{display:inline-block;line-height:1.55}.portrait-link{border-radius:6px}.person-email{min-height:44px;padding-block:10px;margin-top:1px}.person.person-text{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:45px;border-top:1px solid var(--line);padding-top:28px;margin-top:15px}.person-text .person-heading{border-top:0;padding-top:0}.person-summary p{font-size:1rem;line-height:1.8;max-width:60ch}.person-summary .text-link{margin-top:12px}.profile.profile-text{grid-template-columns:minmax(0,1fr);max-width:820px}.profile-text .profile-main h1{max-width:100%}.profile-text .profile-contact{margin-top:28px}.profile-contact .text-link{min-height:44px}.band-phone{display:inline-flex;align-items:center;min-height:44px;margin-top:0}
@media(max-width:760px){.person.person-text{gap:25px}.related-person-text{padding-left:74px}.footer a:not(.brand){min-height:44px;display:flex;align-items:center;margin-block:0}.footer-bottom{gap:10px}.nav a{min-height:48px}.band-contacts .text-link{min-height:44px}}
@media(max-width:600px){.team-grid{grid-template-columns:minmax(0,1fr);gap:28px}.person:not(.person-text){display:grid;grid-template-columns:minmax(100px,.9fr) minmax(0,1.2fr);gap:20px;align-items:center}.person-photo,.team-page .person-photo{aspect-ratio:4/4.65;margin-bottom:0}.person-heading{border-top:0;padding-top:0}.person :is(h2,h3){font-size:1.0625rem;line-height:1.45}.person .role{margin-top:8px;display:block}.person-email{margin-top:3px;font-size:.875rem}.portrait-link{display:none}.person.person-text{grid-template-columns:1fr;gap:12px;padding-top:25px;margin-top:0}.person-text .person-email{margin-top:2px}.person-summary .text-link{margin-top:5px}.profile-meta{grid-template-columns:minmax(0,1fr);gap:25px}}
/* One geometric family throughout, following the SILKA brand reference. */
h1,h2,h3{font-family:var(--sans);font-weight:500;letter-spacing:-.025em;line-height:1.2}h1 em,.hero h1 em{font-style:normal;font-weight:500}.hero h1{line-height:1.16}.area-card :is(h2,h3),.principles h3{font-weight:500}.contact-band h2{font-weight:500;line-height:1.2}.person :is(h2,h3){letter-spacing:-.015em}.eyebrow,.footer-title,.contact-detail h2{letter-spacing:.1em}.page-head h1,.story h2,.section-heading h2{text-wrap:balance}.legal-content a{overflow-wrap:anywhere}
.team-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
@media(max-width:1100px) and (min-width:951px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px) and (min-width:601px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.team-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:380px){.page-head h1,.profile-main h1{font-size:1.875rem;line-height:1.2}.hero h1{font-size:2.125rem}}
@media(max-width:500px){.profile-portrait[src$="pedro-sousa-ferreira.jpg"]{object-position:50% 20%}}
/* Opening signature and vertically arranged contact actions. */
.hero .actions{flex-direction:column;align-items:flex-start;gap:12px}
.hero-base{display:block;font-size:.875rem;letter-spacing:.025em;line-height:1.65}
.hero .hero-signature{margin:0;max-width:none;font:inherit;letter-spacing:inherit;color:inherit}
@media print{.header,.footer,.contact-band,.actions,.contact-form,.legal-nav,.breadcrumb,.portrait-link{display:none}.wrap{width:100%}.hero{background:white;color:black}.hero p,.hero .eyebrow,.hero h1 em{color:black}.hero-photo{min-height:300px}body{font-size:11pt}.section{padding:20px 0}h1{font-size:30pt}h2{font-size:23pt}.profile{grid-template-columns:200px 1fr;gap:30px}.profile-aside,.detail-aside{position:static}.person-photo{break-inside:avoid}}
