/* Reusable flex components. Desktop and phone compositions share content. */
.header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.header-inner .brand{order:1;flex:0 1 auto;min-width:0;margin:0}
.header-inner .main-nav{order:2;margin-left:auto;display:flex;gap:24px}
.header-tools{order:4;display:flex;align-items:center;flex:none;gap:12px}
.header-inner .utilities{order:3;display:flex;align-items:center;flex:0 0 auto;gap:20px;margin:0;font-size:12px}
.languages{display:flex;align-items:center;gap:12px}
.languages a,.login-link{display:inline-flex;align-items:center;min-height:44px}
.mobile-menu-toggle{display:none}
.phone-field-control{display:none}
.hero{display:flex;align-items:center;gap:clamp(32px,5vw,80px)}
.hero-copy{flex:1 1 0;min-width:0}
.hero .hero-engraving{flex:0 0 clamp(170px,18vw,250px);max-width:250px;width:100%;align-self:center}
.hero--plain .hero-copy{flex:1 1 100%}
.hero.etude-hero .hero-engraving{flex-basis:205px;max-width:205px}
.company-grid,.principles,.offers,.evidence-grid,.session-pair,.structure-fields{display:flex;flex-wrap:wrap;align-items:stretch}
.company-grid{gap:48px 32px}
.company-grid>.company{flex:0 1 calc((100% - 64px)/3)}
.related .company-grid>.company{flex-basis:calc((100% - 32px)/2)}
.related .company-grid:has(.company:nth-child(3))>.company{flex-basis:calc((100% - 64px)/3)}
.principles{gap:44px}.principles>.principle{flex:1 1 250px}
.offers{gap:38px}.offers>.offer{flex:1 1 250px}
.evidence-grid{gap:40px}.evidence-grid>article{flex:1 1 250px}
.session-pair{gap:48px}.session-pair>.session{flex:1 1 calc((100% - 48px)/2)}
.structure-fields{gap:35px 65px}.structure-fields>.structure-field{flex:1 1 calc((100% - 65px)/2)}
.editorial{display:flex;flex-wrap:wrap;align-items:flex-start;gap:22px 80px}
.editorial>.overline{flex-basis:100%;margin:0}
.editorial>h2{flex:1 1 0;min-width:0}.editorial>.copy{flex:1 1 0;min-width:0}
.thesis-note{display:flex;gap:48px}.thesis-note>h3,.thesis-note>p{flex:1 1 0;min-width:0}
.method-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:18px 25px}
.method-list li::before{flex:0 0 30px}.method-list h3{flex:1 1 230px}.method-list p{flex:1 1 300px}
.research-summary{display:flex;align-items:center;gap:60px}.research-summary>div{flex:1 1 0;min-width:0}.research-summary>figure{flex:0 0 150px}
.account-form{display:flex;flex-direction:column;align-items:stretch;gap:22px}.account-form button{align-self:flex-start}
.portfolio-list a{display:flex;gap:18px}.portfolio-list .numeral{flex:0 0 35px}.portfolio-list .list-name{flex:1;min-width:0}.portfolio-list .list-sector{flex:0 0 180px}.portfolio-list .arrow{flex:none}
.section-head,.field-heading,.filters,.footer-top,.footer-bottom,.section-nav{display:flex;flex-wrap:wrap}
.filters{display:none}.has-js .filters{display:flex}
.section-head>h2{flex:1 1 350px}.section-head>p{flex:0 1 330px}
.footer-top>div{flex:1 1 300px}.footer-nav{flex-wrap:wrap;gap:12px 25px}
.field-heading h3{min-width:0}.field-heading>span{flex:none}
.theme-orb{display:block;position:relative;width:30px;height:30px}
.theme-orb>.theme-sphere{display:block;position:static;width:30px;height:30px;max-width:30px;opacity:1;object-fit:contain;border-radius:50%}
@keyframes sphere-settle{from{opacity:.55}to{opacity:1}}
.theme-changing .theme-orb{animation:sphere-settle .35s ease-out}

@media(min-width:701px) and (max-width:1100px){
 .masthead .header-inner .brand{flex:1 1 calc(100% - 72px)}
 .masthead .header-inner .header-tools{order:2}
 .masthead .header-inner .main-nav{order:5;flex:1 1 100%;margin:0}
 .etude-header .header-inner{gap:12px 22px}.etude-header .brand{flex:1 1 65%}
 .etude-header .main-nav{order:5;flex:1 1 auto;margin:0}.etude-header .utilities{order:6;margin-left:auto}
 .etude-header .header-tools{order:2}.utilities .languages{gap:12px}
 .company-grid>.company,.related .company-grid:has(.company:nth-child(3))>.company{flex-basis:calc((100% - 32px)/2)}
 .editorial{gap:35px}.hero{gap:35px}.hero .hero-engraving{flex-basis:170px}
}

/* Phone UI: one identity row, one utility row, and an expandable navigation. */
@media(max-width:700px){
 :root{--gutter:22px}
 html{scroll-padding-top:150px}
 body{font-size:16px;line-height:1.7}
 .masthead{padding:12px 16px 0}
 .masthead .header-inner{display:flex;flex-wrap:wrap;gap:8px 12px;padding:12px 4px 8px;max-width:none}
 .masthead .brand{order:1;flex:1 1 calc(100% - 60px);min-width:0;gap:9px;margin:0}
 .masthead .brand-mark,.masthead .brand--founder .brand-mark{width:34px;height:44px;flex:0 0 34px}
 .masthead .brand-title{font-size:clamp(18px,4.8vw,23px);line-height:1.13;white-space:normal}
 .masthead .header-tools{order:2;flex:0 0 44px;margin:0}
 .masthead .themes{padding:0;border:0;margin:0}
 .masthead .theme-switch{width:44px;min-width:44px;height:44px;padding:0}
 .masthead .utilities{order:3;display:flex;flex:1 1 calc(100% - 100px);justify-content:flex-start;gap:18px;margin:0;padding:4px 0 0;font-size:12px}
 .languages{gap:4px}.languages a{justify-content:center;min-width:36px;min-height:44px;padding:0 6px}
 .languages a[aria-current=page]{border:0;text-decoration:underline;text-underline-offset:5px}
 .masthead .login-link{min-height:44px;white-space:nowrap;padding:0;border:0;font-size:12px}
 .has-js .mobile-menu-toggle{order:4;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 86px;min-width:0;min-height:44px;padding:0 6px;border:0;background:none;color:var(--ink);font:12px var(--sans);margin:0 0 0 auto}
 .masthead:not(.etude-header) .mobile-menu-toggle{flex-basis:100%;border-top:1px solid var(--fine);padding:0 2px;margin:2px 0 0}
 .masthead .main-nav{order:5;flex:1 1 100%;display:flex;flex-direction:column;gap:0;margin:0;padding:6px 0 10px;border-top:1px solid var(--fine);font-size:16px}
 .has-js .masthead .main-nav{display:none}
 .has-js .masthead[data-menu-open=true] .main-nav{display:flex}
 .masthead .main-nav a{min-height:48px;display:flex;align-items:center;padding:7px 10px;border-bottom:1px solid var(--fine)}
 .masthead .main-nav a::after{display:none}
 .masthead .main-nav a[aria-current=page]{box-shadow:inset 2px 0 var(--line);background:var(--panel)}
 .masthead[data-menu-open=true] .mobile-menu-toggle svg{transform:rotate(90deg)}
 .hero,.hero.etude-hero,.hero--company,.hero--company:not(:has(.hero-engraving)){flex-direction:column;align-items:stretch;gap:26px;padding-top:42px;padding-bottom:48px}
 .hero .hero-copy{flex:none;max-width:none}
 .overline{font:600 15px/1.5 var(--serif);letter-spacing:.13em;margin-bottom:20px}
 h1,.hero--company h1,.etude-hero h1{font-size:clamp(35px,9.6vw,48px);line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
 .hero--company h1{font-size:clamp(29px,8.2vw,41px);line-height:1.15}
 .hero .intro,.hero--company .intro,.etude-hero .intro{font-size:16px;line-height:1.75;margin:24px 0 0;max-width:none}
 .hero .actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:26px}
 .hero .actions>.action,.hero .actions>.text-link{width:100%;justify-content:space-between;min-height:52px;padding:13px 18px;font-size:17px}
 .hero .actions>.text-link{border-bottom:1px solid var(--fine);font-size:14px;padding-inline:0}
 .hero .hero-engraving,.hero.etude-hero .hero-engraving{flex:none;width:104px;max-width:104px;align-self:center;margin:8px auto 0;padding-bottom:14px}
 .hero .hero-engraving img{height:136px;width:100%;object-fit:contain}
 .service-meta{display:flex;flex-direction:column;gap:3px;font-size:12px;margin-top:24px}
 .service-meta span+span{border:0;padding:0}
 .section{padding-bottom:52px}
 .section-head{flex-direction:column;align-items:stretch;gap:15px;padding:23px 0 28px}
 .section-head>h2,.section-head>p{flex:none;max-width:none;margin:0}
 h2,.section-head h2,.editorial h2{font-size:32px;line-height:1.18;text-wrap:balance}
 .section-head>p{font-size:14px;line-height:1.7}
 .company-grid,.principles,.offers,.evidence-grid,.session-pair,.structure-fields{flex-direction:column;flex-wrap:nowrap;gap:28px}
 .company-grid>.company,.related .company-grid>.company,.related .company-grid:has(.company:nth-child(3))>.company,.principles>.principle,.offers>.offer,.evidence-grid>article,.session-pair>.session,.structure-fields>.structure-field{flex:none;width:100%;min-width:0}
 .company{padding:24px 20px 16px;margin-top:8px}
 .company h3{font-size:25px}.company p:not(.sector){font-size:15px;line-height:1.7}.company .sector{font-size:12px}
 .company .company-link{min-height:52px;font-size:14px;border-top:1px solid var(--fine);margin-top:auto}
 .principle{padding-top:22px}.principle .numeral{margin-bottom:12px}.principle h3{font-size:27px}.principle p{font-size:15px;max-width:none}
 .editorial{flex-direction:column;gap:20px;padding-top:24px;padding-bottom:52px}
 .editorial>.overline,.editorial>h2,.editorial>.copy{flex:none;width:100%;max-width:none}
 .editorial .copy p{font-size:15px;line-height:1.75}
 .filters{flex-direction:column;align-items:stretch;gap:20px;margin-bottom:22px}
 .filter-buttons{flex-wrap:nowrap;gap:8px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}
 .filter-buttons{display:none}
 .phone-field-control{display:flex;flex-direction:column;gap:7px;width:100%}
 .phone-field-control label{font-size:12px;color:var(--muted)}
 .phone-field-control select{width:100%;min-height:50px;padding:10px 12px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font:16px var(--sans)}
 .filter-buttons button{flex:none;white-space:nowrap;min-height:44px;padding:8px 12px;border:1px solid var(--fine);font-size:12px}
 .search-field{width:100%}.search-field input{font-size:16px;min-height:48px}.result-count{font-size:12px;margin-bottom:28px}
 .field-heading{gap:12px;padding-bottom:26px}.field-heading h3{font-size:26px}.field-heading>span{font-size:12px;white-space:normal}
 .section-nav{gap:4px 16px}.section-nav>span{flex-basis:100%}.section-nav a{font-size:13px;min-height:48px}
 .portfolio-list a{gap:12px;align-items:center}.portfolio-list .numeral{flex-basis:22px}.portfolio-list .list-sector{display:none}.portfolio-list .list-name{font-size:24px}
 .thesis-note,.research-summary{flex-direction:column;gap:18px}.thesis-note>h3,.thesis-note>p{flex:none;width:100%}
 .thesis-note h3,.session h3,.method-list h3{font-size:27px}.session p,.thesis-note p,.offer>p,.evidence-grid p{font-size:15px;line-height:1.75}
 .session .duration{font-size:40px;margin-bottom:14px}.session .duration span{font-size:14px}
 .method-list li{gap:12px 15px;padding:24px 0}.method-list li::before{flex-basis:22px}.method-list h3{flex:1 1 calc(100% - 40px);margin:0}.method-list p{flex:1 1 100%;margin:0;font-size:15px}
 .offer h3{min-height:0;font-size:28px}.price{font-size:43px;white-space:normal}.price span{display:block;padding:6px 0 0;font-size:14px}
 .offer-details,.note{font-size:14px;line-height:1.7}.research-summary>figure{flex:none;width:86px;align-self:center}
 .references{margin-top:0}.references li{padding:23px 0 23px 30px}.references summary h3{font-size:23px}.references p{font-size:15px}.references .citation{font-size:13px}
 .faq summary{font-size:25px;min-height:44px}.faq details p{padding:0;font-size:15px}
 .account-panel{padding:0 0 52px}.account-form{gap:20px}.account-form input,.account-form textarea{font-size:16px;min-height:50px}.account-form button{width:100%;min-height:52px;align-self:stretch}
 .notice{display:flex;flex-direction:column;gap:16px;padding:24px 0}.notice p{margin:0;font-size:14px}.notice-section{padding-bottom:50px}
 .site-footer{padding-top:10px;padding-bottom:24px}.footer-top{flex-direction:column;gap:25px;padding-top:26px}.footer-top>div{flex:none;width:100%}
 .footer-nav{width:100%;flex-direction:column;gap:0;padding-top:5px;border-top:1px solid var(--fine)}
 .footer-nav a{font-size:14px;min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--fine);padding:8px 0}
 .footer-contact{font-size:13px;max-width:100%}.footer-contact .contact-label{font-size:11px}.registration-number{font-size:12px}.headquarters-note{font-size:12px}
 .footer-bottom{flex-direction:column;gap:10px;padding-top:24px;font-size:12px}.footer-bottom p{margin:0}.footer-bottom a{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.theme-changing .theme-orb{animation:none}}

/* Silver caduceus language selector; full language names appear on demand. */
.header-inner .language-picker{display:block;position:relative;width:44px;height:44px;flex:0 0 44px;padding:0;margin:0}
.language-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;list-style:none;cursor:pointer;border-radius:2px;touch-action:manipulation}
.language-button::-webkit-details-marker{display:none}
.language-button::marker{content:''}
.language-button img{display:block;width:28px;height:36px;max-width:28px;object-fit:contain}
.language-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.language-picker[open] .language-button{background:var(--panel);box-shadow:inset 0 -1px var(--line)}
.language-picker .language-options{position:absolute;top:calc(100% + 6px);left:0;z-index:40;display:flex;flex-direction:column;gap:0;min-width:156px;margin:0;padding:5px;border:1px solid var(--line);background:var(--paper);box-shadow:0 6px 16px #00000012}
.language-picker:not([open]) .language-options{display:none}
.language-picker .language-options a{display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding:9px 13px;border:0;margin:0;text-decoration:none;font:14px/1.4 var(--sans);white-space:nowrap}
.language-picker .language-options a[aria-current=page]{background:var(--panel);box-shadow:inset 2px 0 var(--line);text-decoration:none}
.language-picker .language-options a:hover{background:var(--panel)}

/* v1.0.16-A: the approved demonstration's readable, quiet page structure. */
:root{--max:1320px;--gutter:clamp(22px,6vw,88px)}
body{font-size:17px;line-height:1.65}
.wrap{max-width:var(--max);padding-inline:var(--gutter)}
html{scroll-padding-top:112px}
.masthead{padding:12px 0 0}
.header-rule{max-width:var(--max);margin-inline:auto;border-top:0;padding-top:5px}
.header-rule::before,.header-rule::after{content:'';position:absolute;left:var(--gutter);right:var(--gutter);border-top:1px solid var(--line);top:0}
.header-rule::after{top:4px;border-color:var(--fine)}
.masthead .header-inner{max-width:var(--max);gap:18px 32px;padding:11px var(--gutter) 18px}
.masthead .brand--lockup{gap:13px}
.masthead .brand-mark,.masthead .brand--founder .brand-mark{width:40px;height:60px;flex:0 0 40px}
.masthead .brand-title{font-size:25px;line-height:1.2}
.header-inner .main-nav{gap:27px;font-size:15px;white-space:nowrap}
.main-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 0}
.masthead .themes{border:0;padding:0}
.header-inner .utilities{font-size:14px;gap:18px}
.etude-header .header-inner{gap:18px 25px;padding-inline:var(--gutter)}
.etude-header .main-nav{font-size:15px}
.masthead .login-link{font-size:14px}
.overline{font:13px/1.5 var(--sans);font-variant-caps:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.hero{padding-top:80px;padding-bottom:90px;gap:70px}
.hero h1:not(.company-identity){font-size:clamp(60px,6.8vw,88px);line-height:1.02}
.hero .intro,.hero--company .intro,.etude-hero .intro{font-size:18px;line-height:1.65;max-width:720px}
.hero .hero-engraving{flex:0 0 240px;max-width:240px}
.hero .hero-engraving img{height:364px}
.hero.etude-hero .hero-engraving{flex-basis:205px;max-width:205px}
.hero--company,.hero--company:not(:has(.hero-engraving)){padding-top:50px;padding-bottom:64px}
.hero.hero--company h1{font-family:var(--logo);font-weight:400;font-size:clamp(35px,4vw,58px);line-height:1.18;letter-spacing:0;overflow-wrap:anywhere}
.hero--plain{padding-top:65px;padding-bottom:64px}
.compact-home .intro{max-width:600px;font-size:20px;line-height:1.6;color:var(--ink);margin:30px 0 0}
.hero-detail{max-width:540px;color:var(--muted);margin:14px 0 0;font-size:17px;line-height:1.65}
.compact-home .actions{margin-top:32px;gap:22px 28px}
.action{min-height:52px;padding:10px 20px;font-size:23px;line-height:1.25;border-radius:8px 8px 0 0}
.action::after{display:none}
.action:hover{background:var(--panel)}
.text-link{font-size:15px;min-height:44px}
.hero .text-link{font-size:15px}
.section{padding-bottom:74px}
.section-head{align-items:flex-end;gap:40px 80px;padding:48px 0 34px}
.section-head>h2,.section-head>div{flex:1 1 0;min-width:0;max-width:650px}
.section-head>p{flex:1 1 0;max-width:490px;margin:0;padding-bottom:4px;font-size:17px;line-height:1.7}
h2,.section-head h2,.editorial h2{font-size:clamp(38px,4.2vw,52px);line-height:1.08}
.editorial{gap:24px 80px;padding-top:50px;padding-bottom:74px}
.editorial--ruled::before{left:var(--gutter);right:var(--gutter)}
.editorial .copy{max-width:540px}
.copy p,.editorial .copy p{font-size:17px;line-height:1.7}
.principles{gap:40px}
.principle{padding-top:22px}
.principle .numeral{font-size:15px;margin-bottom:15px}
.principle h3{font-size:32px;line-height:1.15;margin-bottom:13px}
.principle p{font-size:17px;line-height:1.65}
.company-tagline{font-size:32px}
.company-status,.provisional,.breadcrumb,.section-nav>span,.section-nav a{font-size:14px}
.breadcrumb{gap:10px;line-height:1.55}
.breadcrumb a{min-height:44px;display:inline-flex;align-items:center}
.section-nav{gap:12px 26px}
.section-nav a{padding-block:12px}
.structure-root>p:last-child,.structure-note,.field-heading>span{font-size:14px;line-height:1.5}
.structure-field a{font-size:26px;line-height:1.2}
.directory-note{font-size:14px;line-height:1.65}

/* One link per directory entry; names, purpose and naming status stay together. */
.directory .company-grid,.related .company-grid,.related .company-grid:has(.company:nth-child(3)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;padding-top:0}
.company.company-row{display:block;flex:none;width:auto;min-width:0;margin:0;padding:0;border:0;border-top:1px solid var(--fine)}
.company.company-row::before{display:none}
.company-row-link{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;gap:17px;align-items:start;position:relative;min-height:160px;padding:25px 5px 26px 0}
.company-row-link:not(:has(.company-number)){grid-template-columns:minmax(0,1fr) 24px}
.company-row .company-number{font:16px/1.5 var(--serif);color:var(--muted);padding-top:3px}
.company-row .company-copy{min-width:0}
.company.company-row .company-copy h3{font:500 26px/1.12 var(--serif);letter-spacing:-.012em;margin:0;overflow-wrap:anywhere}
.company.company-row .sector{font:13px/1.5 var(--sans);letter-spacing:0;color:var(--muted);margin:9px 0 0}
.company.company-row .company-summary{font-size:16px;line-height:1.5;color:var(--ink);margin:4px 0 0}
.company.company-row .naming-note{font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 0}
.company-row-link>.arrow{width:20px;margin-top:5px;justify-self:end}
.company-row-link:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.company-row-link:hover>.arrow{transform:translate(2px,-2px)}
.company-row-link:focus-visible{outline-offset:2px}
.directory .filters{align-items:flex-end;gap:20px 32px;margin:35px 0 18px}
.directory .search-field{order:1;flex:0 1 300px;width:300px;min-width:190px;gap:9px}
.search-field label,.phone-field-control label{font-size:14px;line-height:1.5}
.directory .search-field input{font-size:16px;min-height:48px;padding:10px 0;border-radius:0}
.directory .filter-fieldset{order:2;flex:1 1 0;min-width:0;padding:0;margin:0;border:0}
.directory .filter-fieldset legend{padding:0;margin:0 0 9px;font-size:14px;line-height:1.5;color:var(--muted)}
.directory .filter-buttons{order:2;display:flex;flex:1 1 0;gap:6px;flex-wrap:wrap;overflow:visible;padding:0}
.filter-buttons button{font-size:14px;min-height:48px;padding:8px 12px;border:1px solid transparent;border-bottom-color:var(--fine);white-space:nowrap}
.filter-buttons button:hover{background:var(--panel)}
.filter-buttons button[aria-pressed=true]{border-color:var(--line);background:var(--panel);box-shadow:none}
.directory .phone-field-control{display:none}
.result-count{font-size:14px;margin:18px 0 10px;min-height:44px;display:flex;align-items:center}
.directory-status{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 10px;min-height:44px}
.directory-status .result-count{margin:0}
.reset-selection{min-height:44px;background:none;border:0;border-bottom:1px solid var(--fine);padding:8px 0;font-size:14px;color:var(--muted)}
.no-results{padding:30px 0 15px}
.no-results p{font-size:17px;line-height:1.65}
.no-results button{font-size:16px;min-height:44px}

/* Practical details use the same readable scale as the Group introduction. */
.service-meta,.offer-details,.note,.price span,.evidence-source,.references .citation,.references summary>span{font-size:14px;line-height:1.65}
.session p,.thesis-note p,.offer>p,.evidence-grid p,.method-list p,.references p,.faq details p{font-size:17px;line-height:1.65}
.offer h3{min-height:0;line-height:1.2}
.offer .sector{font-size:14px}
.price{white-space:normal}
.account-form input,.account-form textarea{font-size:16px;min-height:50px}
.account-form ul.errorlist,.site-status{font-size:14px}
.notice-section{padding-bottom:64px}
.notice p{font-size:16px;line-height:1.65}
.footer-nav,.footer-brand-note,.footer-contact,.footer-bottom{font-size:14px}
.footer-nav a,.contact-email{min-height:44px}
.contact-label,.headquarters-note,.registration-number,.release{font-size:13px;line-height:1.65}
.footer-bottom{gap:16px 25px}
.footer-contact{max-width:420px}
.contact-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:80px;border:1px solid var(--fine);border-radius:50% 50% 0 0 / 10px 10px 0 0;padding:38px 40px}
.contact-panel>div{min-width:0}
.contact-panel h2{font-size:46px;line-height:1.05;letter-spacing:-.015em;margin:16px 0 18px}
.contact-panel p:not(.overline){max-width:420px;color:var(--muted);font-size:17px;line-height:1.65}
.contact-panel .email-link,.contact-panel .contact-email{display:inline-flex;align-items:center;gap:15px;min-height:44px;margin-top:15px;font-size:16px;line-height:1.6;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.contact-panel .email-link .arrow{flex:none}
.contact-panel address{font:17px/1.75 var(--sans);font-style:normal;margin-top:18px}
.contact-panel .postal{padding-top:5px}
.contact-panel .headquarters-note{font-size:14px;max-width:290px;margin-top:18px;line-height:1.6}
.reveal-pending,.reveal-shown{opacity:1;transform:none;transition:none}

/* L’Étude: subjects, commitment and the separate family/company offers. */
.subject-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;padding:0;margin:0;list-style:none}
.subject-list li{border-top:1px solid var(--fine);padding:22px 0;font:500 32px/1.2 var(--serif);min-width:0;overflow-wrap:anywhere}
.weekly-summary>.text-link{margin-top:0}
.offer-group+.offer-group{margin-top:42px}
.offer-group>h3{font-size:32px;line-height:1.15;margin:0 0 25px}
.offer-group .offers{display:grid;gap:38px}
.offer-group .offers--family{grid-template-columns:repeat(2,minmax(0,1fr))}
.offer-group .offers--company{grid-template-columns:minmax(0,1fr)}
.offer-group .offer{min-width:0;padding-top:24px}
.offer-group .offer h4{font:500 32px/1.15 var(--serif);letter-spacing:-.015em;margin:0 0 14px}
.offer-group .offer .price{font-size:48px;line-height:1.15;margin:12px 0 18px}
.offer-group .offer .price span{display:block;padding:6px 0 0;font:14px/1.5 var(--sans);color:var(--muted)}
.offer-group .offer>p{max-width:850px;margin:0 0 24px}
.offer-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px;border-top:1px solid var(--fine);padding-top:18px;margin:auto 0 0}
.offer-totals>div{min-width:0}
.offer-totals dt{font:14px/1.5 var(--sans);color:var(--muted)}
.offer-totals dd{font:500 28px/1.2 var(--serif);margin:7px 0 0;color:var(--ink)}
.offer-terms,.offer-details{font-size:16px;line-height:1.7}
.service-enquiry>.action{margin-right:28px;vertical-align:middle}
.service-enquiry>.text-link{max-width:100%;overflow-wrap:anywhere;vertical-align:middle}

@media(min-width:801px){
 .masthead:not(.etude-header) .header-inner .brand{flex:0 1 auto}
 .masthead:not(.etude-header) .header-inner .main-nav{order:2;flex:0 1 auto;margin-left:auto;flex-direction:row}
 .masthead:not(.etude-header) .header-inner .header-tools{order:4}
}
@media(min-width:1600px){.hero:not(.hero--plain):not(.hero--company){padding-top:100px;padding-bottom:110px}}
@media(max-width:1100px){
 .masthead .header-inner{gap:14px 23px}
 .masthead .brand-title{font-size:23px}
 .header-inner .main-nav{gap:18px;font-size:14px}
 .hero{gap:45px}.hero .hero-engraving{flex-basis:190px;max-width:190px}.hero .hero-engraving img{height:289px}
 .hero.etude-hero .hero-engraving{flex-basis:190px;max-width:190px}
 .editorial,.section-head{column-gap:45px}
 .directory .filters{flex-direction:column;align-items:stretch;gap:20px}
 .directory .search-field{flex-basis:auto;width:100%;max-width:430px}
 .directory .filter-fieldset{flex-basis:auto}
 .directory .filter-buttons{flex-basis:auto}
 .directory .company-grid,.related .company-grid,.related .company-grid:has(.company:nth-child(3)){column-gap:30px}
 .company-row-link{gap:13px}
 .contact-panel{gap:40px;padding:32px}
}
@media(max-width:800px){
 .masthead:not(.etude-header) .header-inner{gap:0 20px;padding-top:11px;padding-bottom:8px}
 .masthead:not(.etude-header) .brand{order:1;flex:1 1 calc(100% - 64px)}
 .masthead:not(.etude-header) .header-tools{order:2;flex:0 0 44px;margin:0}
 .masthead:not(.etude-header) .header-inner .main-nav{order:3;display:flex;flex:1 1 100%;flex-direction:row;justify-content:flex-start;gap:30px;margin:0;padding:4px 0 0;border:0;font-size:15px}
 .masthead:not(.etude-header) .mobile-menu-toggle{display:none}
 .masthead:not(.etude-header) .main-nav a{min-height:44px;padding:8px 0;border:0}
 .masthead:not(.etude-header) .main-nav a::after{display:block;bottom:5px}
 .masthead:not(.etude-header) .main-nav a[aria-current=page]{box-shadow:none;background:none}
 .hero{padding-top:44px;padding-bottom:60px;gap:28px}
 .hero h1:not(.company-identity){font-size:64px}
 .hero.hero--company h1{font-size:clamp(33px,4.5vw,45px)}
 .hero .hero-engraving,.hero.etude-hero .hero-engraving{flex-basis:165px;max-width:165px}
 .hero .hero-engraving img{height:250px}
 .compact-home .intro{font-size:18px;margin-top:25px}
 .hero-detail{font-size:16px}
 .section-head{gap:24px 30px;padding-top:34px}
 .section-head h2,.editorial h2{font-size:42px}
 .company-row-link{grid-template-columns:22px minmax(0,1fr) 20px;gap:12px;min-height:180px}
 .company.company-row .company-copy h3{font-size:24px}
 .principles{gap:25px}.principle h3{font-size:28px}
 .contact-panel{grid-template-columns:1fr;gap:30px}
 .contact-panel .postal{padding-top:26px;border-top:1px solid var(--fine)}
 .contact-panel h2 br{display:none}
 .contact-panel address{margin-top:12px}
 .contact-panel .headquarters-note{max-width:400px}
 .contact-panel p:not(.overline){max-width:100%}
 html{scroll-padding-top:140px}
}
@media(max-width:700px){
 .masthead .header-inner{padding:8px var(--gutter) 8px;gap:8px 12px}
 .masthead .brand--lockup{gap:10px}
 .masthead .brand-mark,.masthead .brand--founder .brand-mark{width:32px;height:46px;flex-basis:32px}
 .masthead .brand-title{font-size:clamp(18px,5.5vw,22px);white-space:normal}
 .masthead:not(.etude-header) .header-inner .main-nav{justify-content:space-between;gap:8px;font-size:14px;margin-top:4px}
 .etude-header .header-inner{gap:8px 12px}
 .etude-header .header-inner .utilities{font-size:14px;gap:18px}
 .masthead.etude-header .login-link{font-size:14px;min-height:44px}
 .has-js .masthead.etude-header .mobile-menu-toggle{font-size:14px}
 .masthead.etude-header .main-nav{font-size:16px;gap:0}
 .hero,.hero.etude-hero,.hero--company,.hero--company:not(:has(.hero-engraving)){padding-top:36px;padding-bottom:48px;gap:26px}
 .hero h1:not(.company-identity),.hero.etude-hero h1{font-size:clamp(48px,11.8vw,66px);line-height:1.02}
 .hero.hero--company h1{font-size:clamp(29px,8.2vw,41px);line-height:1.15}
 .hero .intro,.hero--company .intro,.etude-hero .intro{font-size:18px;line-height:1.65;margin:25px 0 0}
 .hero-detail{font-size:16px;max-width:none}
 .hero .hero-engraving,.hero.etude-hero .hero-engraving{flex:none;width:104px;max-width:104px;margin:8px auto 0;padding-bottom:14px}
 .hero .hero-engraving img{height:158px}
 .compact-home .hero-engraving{margin-top:13px}
 .hero .actions{margin-top:26px;gap:10px}
 .hero .actions>.action{font-size:23px;min-height:54px;padding:10px 20px}
 .hero .actions>.text-link{font-size:15px;min-height:44px;padding:8px 0;border:0;justify-content:flex-start;gap:17px}
 .overline{font-size:13px;margin-bottom:18px}
 .section{padding-bottom:48px}
 .section-head{gap:20px;padding:34px 0 25px}
 .section-head>h2,.section-head>div,.section-head>p{flex:none;max-width:none;width:100%;padding:0}
 h2,.section-head h2,.editorial h2{font-size:40px;line-height:1.1}
 .section-head>p{font-size:17px;line-height:1.65}
 .editorial{gap:20px;padding-top:34px;padding-bottom:48px}
 .editorial .copy p{font-size:17px;line-height:1.65}
 .principles{gap:26px}.principle h3{font-size:30px}.principle p{font-size:17px;max-width:none}
 .company-status,.company .sector,.company .naming-note,.directory-note{font-size:14px}
 .directory .company-grid,.related .company-grid,.related .company-grid:has(.company:nth-child(3)){grid-template-columns:1fr;gap:0}
 .company-row-link{min-height:0;padding:22px 0;grid-template-columns:25px minmax(0,1fr) 22px;gap:14px}
 .company.company-row .company-copy h3{font-size:27px;line-height:1.15}
 .company.company-row .sector,.company.company-row .naming-note{font-size:14px}
 .directory .filters{margin:25px 0 10px;gap:20px}
 .directory .search-field{max-width:none}
 .directory .filter-buttons{display:flex;flex-wrap:wrap;gap:5px;overflow:visible}
 .directory .filter-buttons button{min-height:44px;padding-inline:10px;font-size:14px}
 .directory .phone-field-control{display:none}
 .directory-status{gap:10px;margin-block:10px}
 .result-count{font-size:14px;margin-block:10px}
 .section-nav>span,.section-nav a,.field-heading>span,.structure-note{font-size:14px}
 .session p,.thesis-note p,.offer>p,.evidence-grid p,.method-list p,.references p,.faq details p{font-size:17px;line-height:1.65}
 .service-meta,.offer-details,.note,.references .citation,.price span{font-size:14px}
 .subject-list{grid-template-columns:1fr;gap:0}
 .subject-list li{padding:19px 0;font-size:30px}
 .offer-group+.offer-group{margin-top:34px}
 .offer-group>h3{font-size:30px;margin-bottom:22px}
 .offer-group .offers--family,.offer-group .offers--company{grid-template-columns:1fr;gap:28px}
 .offer-group .offer h4{font-size:30px}
 .offer-group .offer .price{font-size:43px}
 .offer-totals{gap:20px 24px}
 .offer-totals dt{font-size:14px}
 .offer-totals dd{font-size:28px}
 .offer-terms,.offer-details{font-size:16px}
 .service-enquiry>.action{width:100%;justify-content:space-between;margin:0;gap:20px}
 .service-enquiry>.text-link{display:flex;width:100%;margin-top:14px;font-size:16px;gap:15px}
 .notice p{font-size:16px}.notice-section{padding-bottom:48px}
 .contact-panel{padding:27px 23px;gap:23px;border-radius:50% 50% 0 0 / 7px 7px 0 0}
 .contact-panel h2{font-size:38px}
 .contact-panel .email-link,.contact-panel .contact-email{display:block;line-height:1.6;padding-block:8px}
 .contact-panel .email-link .arrow{display:inline-block;margin-left:5px}
 .contact-panel p:not(.overline),.contact-panel address{font-size:16px}
 .contact-panel .headquarters-note{font-size:14px}
 .footer-contact,.footer-brand-note,.footer-bottom,.footer-nav a{font-size:14px}
 .footer-contact .contact-label,.registration-number,.headquarters-note,.release{font-size:13px}
 .site-footer .brand-title{font-size:23px;white-space:normal}
 html{scroll-padding-top:130px}
 html:has(.etude-header){scroll-padding-top:158px}
}
@media(max-width:360px){
 .masthead .brand-title{font-size:18px}
 .masthead:not(.etude-header) .header-inner .main-nav{font-size:13px;gap:5px}
 .hero h1:not(.company-identity),.hero.etude-hero h1{font-size:46px}
 .hero.hero--company h1{font-size:29px}
 .section-head h2,.editorial h2{font-size:37px}
 .company-row-link{gap:11px}
 .company.company-row .company-copy h3{font-size:25px}
 .offer-group .offer h4,.subject-list li{font-size:28px}
 .offer-totals{grid-template-columns:1fr;gap:16px}
 .directory .filter-buttons button{padding-inline:9px}
 .action{gap:20px}
 .contact-panel{padding-inline:18px}
 .contact-panel h2{font-size:36px}
}
@media(prefers-reduced-motion:reduce){.company-row-link:hover>.arrow{transform:none}}
@media print{
 .header-rule{max-width:none}.header-rule::before,.header-rule::after{left:0;right:0}
 .wrap{max-width:none;padding-inline:0}.editorial--ruled::before{left:0;right:0}
 .reset-selection{display:none!important}.directory .company-row[hidden]{display:block!important}
 .company-row-link,.contact-panel{break-inside:avoid}
}

/* Duae linguae, eadem levis forma. */
.masthead:not(.etude-header) .language-options{left:auto;right:0}
@media(max-width:1100px) and (min-width:701px){.masthead:not(.etude-header) .header-inner .brand{flex-basis:calc(100% - 132px)}}
@media(max-width:700px){.masthead:not(.etude-header) .header-inner .brand{flex:1 1 calc(100% - 116px)}.masthead:not(.etude-header) .header-inner .header-tools{flex:0 0 100px}}
