/* Selected direction D: Instrument Serif for editorial headings, with the
   established Roboto body/utility pairing. Font binaries stay unmodified. */
@font-face {
  font-family:'Instrument Serif'; src:url('./fonts/instrument-serif-latin.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face {
  font-family:'Roboto Mono'; src:url('./fonts/roboto-mono-latin.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap;
}
@font-face {
  font-family:'Roboto Flex'; src:url('./fonts/roboto-flex-latin.woff2') format('woff2');
  font-weight:100 1000; font-style:normal; font-display:swap;
}
body.resource-maison.resource-studio {
  --studio-display:'Instrument Serif',serif;
  --studio-type-width:1.18;
  --studio-mono:'Roboto Mono',monospace;
  --maison-serif:var(--studio-display);
  --font-heading:var(--studio-display);
  --font-body:'Roboto Flex',sans-serif;
  --font-data:var(--studio-mono);
  --studio-header-height:85px;
  --maison-ink:#2b302c;
  --maison-muted:#68675f;
  --maison-accent:#8e4c35;
  --maison-gutter:clamp(24px,5.4vw,88px);
  font-synthesis:none;
}
body.resource-studio :is(button,input,select,textarea) { font-family:var(--font-body); }
body.resource-studio .resource-hub :is(h1,h2,h3) { letter-spacing:-.025em; }
body.resource-studio .resource-hub :is(.section-label,.resource-latest__meta) {
  font-family:var(--studio-mono); letter-spacing:.03em; font-weight:400;
}
body.resource-studio .resource-hub :is(.resource-latest__action,.resource-hub__topic-route,.resource-decision__next strong,.resource-hub__rfq-strip .button) {
  font-family:var(--studio-mono); font-size:13px; font-weight:500;
}

/* Three-part navigation, directly on the photograph; the full menu stays one click away. */
body.resource-maison.resource-studio .site-header { display:block; padding:0; border:0; }
body.resource-maison.resource-studio .site-header__masthead {
  display:grid; grid-template-columns:1fr auto 1fr;
  height:85px; min-height:85px; width:100%; max-width:none;
  margin:0; padding:0 var(--maison-gutter); gap:20px;
  border:0; border-bottom:1px solid var(--maison-line);
}
body.resource-maison.resource-studio .site-header__nav-row { display:none; }
body.resource-maison.resource-studio .site-header__utility { display:flex; position:static; transform:none; }
body.resource-maison.resource-studio .site-header__utility--left { grid-column:1; grid-row:1; justify-content:flex-start; }
body.resource-maison.resource-studio .site-header__utility--right { grid-column:3; grid-row:1; gap:30px; justify-content:flex-end; }
body.resource-maison.resource-studio .brand { grid-column:2; grid-row:1; position:static; transform:none; min-width:0; margin:0; }
body.resource-maison.resource-studio .brand-logo { display:none; }
body.resource-studio .studio-wordmark { display:flex; flex-direction:column; align-items:center; color:inherit; font:400 31px/.95 var(--studio-display); letter-spacing:-.02em; }
body.resource-studio .studio-wordmark small { margin-top:7px; font:400 8px/1 var(--studio-mono); letter-spacing:.2em; text-transform:uppercase; }
body.resource-maison.resource-studio .nav-toggle {
  display:flex; flex-direction:row; gap:12px; align-items:center;
  width:auto; min-height:44px; min-width:44px; padding:0; color:inherit;
}
body.resource-maison.resource-studio .nav-toggle b {
  display:block; position:static; width:auto; height:auto; margin:0;
  overflow:visible; clip:auto; white-space:normal;
  color:inherit; font:400 21px/1 var(--studio-display); letter-spacing:0;
}
body.resource-studio .studio-menu-icon { display:block; flex-shrink:0; }
body.resource-studio .studio-header-search { display:flex; align-items:center; min-height:44px; gap:10px; color:inherit; font:400 21px/1 var(--studio-display); text-decoration:none; }
body.resource-studio .studio-header-search svg { display:none; }
body.resource-maison.resource-studio .site-header__quote-link { display:none; }
body.resource-maison.resource-studio .language-selector { border:0; margin:0; padding:0; }
body.resource-maison.resource-studio .language-selector__toggle {
  min-width:44px; min-height:44px; padding:0; gap:7px; border:0; border-radius:0;
  background:transparent; color:inherit; font:400 16px/1 var(--studio-display);
}
body.resource-studio .language-selector__toggle .language-selector__flag { display:none; }
body.resource-studio .language-selector__code { display:inline; }
body.resource-studio .language-selector__menu { font-family:var(--font-body); }
body.resource-maison.resource-studio[data-maison-over-hero='true'] :is(.site-header,.site-header__masthead) { background:transparent; color:#fffdf6; border-color:rgba(255,253,246,.23); }
body.resource-maison.resource-studio[data-maison-over-hero='true'] .brand { color:#fffdf6; }
body.resource-maison.resource-studio[data-maison-over-hero='false'] .brand { color:var(--maison-ink); }

/* The production drawer works at every viewport, with all six destination groups. */
body.resource-maison.resource-studio .mobile-drawer:not([hidden]) { display:flex !important; }
body.resource-maison.resource-studio .mobile-drawer__backdrop:not([hidden]) { display:block !important; }
body.resource-maison.resource-studio .mobile-drawer {
  top:0; left:0; right:auto; width:min(640px,100vw); max-width:100vw;
  height:100dvh; max-height:100dvh; border:0; border-radius:0;
  background:var(--maison-paper); color:var(--maison-ink); box-shadow:none; backdrop-filter:none;
}
body.resource-maison.resource-studio .mobile-drawer__backdrop { top:0; height:100dvh; background:rgb(18 26 22 / 45%); }
body.resource-studio .mobile-drawer__head { padding:20px 40px; min-height:85px; font:400 28px/1.2 var(--studio-display); border-color:var(--maison-line); }
body.resource-maison.resource-studio .mobile-drawer__head,
body.resource-maison.resource-studio .mobile-drawer__head :is(span,strong),
body.resource-maison.resource-studio .mobile-drawer__single,
body.resource-maison.resource-studio .mobile-drawer__single :is(span,strong,svg) { color:var(--maison-ink); }
body.resource-studio .mobile-drawer__close { color:var(--maison-ink); font-family:var(--font-body); }
body.resource-studio .mobile-drawer__nav { padding:16px 40px 28px; }
body.resource-studio .mobile-drawer__group { border-color:var(--maison-line); }
body.resource-studio .mobile-drawer__group summary,
body.resource-studio .mobile-drawer__single { color:var(--maison-ink); font:400 25px/1.3 var(--studio-display); min-height:64px; }
body.resource-studio .mobile-drawer__links { padding:0 0 18px; }
body.resource-studio .mobile-drawer__links p { color:var(--maison-muted); font:400 10px/1.5 var(--studio-mono); }
body.resource-studio .mobile-drawer__links a { font:400 15px/1.5 var(--font-body); color:var(--maison-ink); }
body.resource-studio .mobile-drawer__links a[aria-current='page'] { color:var(--maison-accent); font-weight:500; box-shadow:inset 1px 0 var(--maison-accent); }
body.resource-maison.resource-studio .mobile-drawer__links a[aria-current='page'] { border-color:var(--maison-accent); }
body.resource-studio .mobile-drawer__group.is-current > summary { color:var(--maison-accent); }
body.resource-studio .mobile-drawer__service { padding:18px 40px; border-color:var(--maison-line); background:#eee9df; }
body.resource-studio .mobile-drawer__service a { color:var(--maison-ink); font:400 13px/1.6 var(--font-body); }
body.resource-studio .mobile-drawer__service-label { color:var(--maison-muted); font:400 10px/1.5 var(--studio-mono); }
body.resource-maison.resource-studio .mobile-drawer__contact {
  background:transparent; color:var(--maison-ink); border-color:var(--maison-line);
  padding:22px 0; font:400 23px/1.3 var(--studio-display); box-shadow:none;
}
body.resource-maison.resource-studio .mobile-drawer__contact:is(:hover,:focus-visible) { background:transparent; color:var(--maison-accent); }
body.resource-maison.resource-studio .mobile-drawer__contact .site-header__contact-arrow { color:inherit; }
body.resource-maison.resource-studio .mobile-drawer :focus-visible { outline-color:var(--maison-accent); }

/* Keep the real workshop photograph dominant, with localized contrast only. */
body.resource-maison.resource-studio .maison-hero {
  margin-top:-85px; height:62svh; min-height:480px; max-height:620px;
  padding:130px var(--maison-gutter) 106px;
}
body.resource-studio .maison-hero__image { object-position:50% 80%; }
body.resource-studio .maison-hero::before {
  background:linear-gradient(180deg,rgba(12,24,20,.68) 0%,rgba(12,24,20,.05) 28%,transparent 46%,rgba(12,24,20,.77) 100%),linear-gradient(90deg,rgba(12,24,20,.12),transparent 60%);
}
body.resource-maison.resource-studio .maison-hero h1 {
  font:400 clamp(58px,5.4vw,86px)/.98 var(--studio-display) !important;
  letter-spacing:-.035em !important;
}
body.resource-studio .maison-hero__content p { margin-top:24px; font:500 17px/1.5 var(--font-body); }
body.resource-studio .maison-hero__links { gap:30px; bottom:26px; }
body.resource-studio .maison-hero__links a { font:500 13px/1.5 var(--studio-mono); text-decoration-thickness:1px; text-underline-offset:9px; gap:20px; }
body.resource-studio .maison-hero__credit { font:400 10px/1.5 var(--studio-mono); letter-spacing:0; bottom:37px; }

/* A usable search field in the first screen, before the editorial feature. */
body.resource-maison.resource-studio .studio-find-bar {
  max-width:1600px; margin:0 auto; padding:32px var(--maison-gutter) 28px;
  border-bottom:1px solid var(--maison-line); scroll-margin-top:calc(var(--studio-header-height) + 24px);
}
body.resource-studio .studio-find-bar .maison-finder-top { grid-template-columns:.9fr 1.65fr; gap:6%; padding:0; border:0; }
body.resource-studio .studio-find-bar .maison-finder-head h2 { font-size:34px; }
body.resource-studio .studio-find-bar .maison-finder-head p { margin-top:10px; }
body.resource-studio .studio-find-bar .resource-decision__panel-title { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.resource-studio .studio-find-bar .resource-hub__search { margin-top:0; }
body.resource-studio .studio-find-bar .resource-decision__panel--search { position:relative; }
body.resource-studio .studio-find-bar .resource-hub__search-status { padding-right:125px; }
body.resource-studio .studio-search-results {
  position:absolute; right:0; bottom:0; display:flex; align-items:center; gap:12px;
  min-height:36px; color:var(--maison-accent); font:500 12px/1.5 var(--studio-mono);
  text-decoration:underline; text-underline-offset:5px;
}

/* One generous feature, then compact rows. Scientific thumbnails remain uncropped. */
body.resource-maison.resource-studio .resource-latest { padding-block:64px 60px; }
body.resource-studio .resource-latest__head { align-items:end; margin-bottom:36px; }
body.resource-studio .resource-latest__head h2 { font-size:42px; }
body.resource-studio .resource-latest__head > p { max-width:240px; }
body.resource-maison.resource-studio .resource-latest__feature {
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.65fr);
  gap:6%; align-items:center;
}
body.resource-studio .resource-latest__feature-copy { gap:23px; }
body.resource-studio .resource-latest__feature-copy > strong { font:400 clamp(32px,2.7vw,42px)/1.16 var(--studio-display); letter-spacing:0; }
body.resource-studio .resource-latest__summary { font-size:14px; line-height:1.65; }
body.resource-studio .resource-latest__media { aspect-ratio:16/9; }
body.resource-studio .resource-latest__media picture { display:block; width:100%; height:100%; }
body.resource-studio .resource-latest__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 90%; }
body.resource-studio .maison-photo-credit { font-size:10px; }
body.resource-studio .resource-latest__list {
  grid-template-columns:1fr; gap:0; margin-top:52px; padding-top:0;
  border:0; border-top:1px solid var(--maison-line);
}
body.resource-studio .resource-latest__list > a {
  display:grid; grid-template-columns:152px minmax(0,1fr) 20px; gap:28px; align-items:center;
  padding:20px 0; border-bottom:1px solid var(--maison-line);
}
body.resource-studio .resource-latest__thumb { width:152px; aspect-ratio:3/2; background:#f1eee7; }
body.resource-studio .resource-latest__thumb img { object-fit:contain; }
body.resource-studio .resource-latest__list-copy { gap:8px; }
body.resource-studio .resource-latest__list-copy > strong { font:400 29px/1.2 var(--studio-display); letter-spacing:0; max-width:880px; }
body.resource-studio .resource-latest__list-copy > small { max-width:880px; }
body.resource-studio .resource-latest__list > a > .resource-icon:last-child { margin-top:0; }
body.resource-studio .resource-latest__list .resource-latest__meta { display:flex; flex-wrap:wrap; gap:5px 10px; }

/* The established finder/library interactions remain intact below the visual opening. */
body.resource-studio :is(.resource-library__intro h2,.maison-finder-head h2) { font-size:clamp(34px,3.3vw,48px); }
body.resource-maison.resource-studio .resource-hub__article-card h3 { font:400 27px/1.2 var(--studio-display); letter-spacing:0; }
body.resource-studio .resource-recommendations__copy strong { font:400 23px/1.25 var(--studio-display); }
body.resource-studio .resource-evidence__routes strong { font:400 23px/1.25 var(--studio-display); }
body.resource-studio .resource-hub__library-nav a { font-size:16px; }
body.resource-studio :is(.resource-hub__search kbd,.resource-hub__search-help button,.resource-hub__search button) { font-family:var(--studio-mono); font-size:11px; }
body.resource-studio .resource-hub__article-card p { font-size:14px; line-height:1.6; }
body.resource-studio .resource-hub__article-link { font-family:var(--studio-mono); font-size:12px; }
body.resource-studio .resource-hub__rfq-strip h2 { font-size:33px; }
body.resource-studio .footer-service__cta { font-family:var(--studio-mono); font-size:13px; }

@media (max-width:1100px) {
  body.resource-studio .resource-latest__feature { gap:5%; }
  body.resource-studio .resource-latest__feature-copy > strong { font-size:33px; }
  body.resource-studio .resource-latest__list-copy > strong { font-size:27px; }
  body.resource-studio .resource-hub__library-nav a { font-size:14px; }
}
@media (max-width:760px) {
  body.resource-maison.resource-studio { --maison-gutter:24px; --studio-header-height:69px; }
  body.resource-maison.resource-studio .site-header__masthead { height:69px; min-height:69px; gap:12px; padding-inline:24px; }
  body.resource-maison.resource-studio .site-header__utility--right { gap:12px; }
  body.resource-maison.resource-studio .nav-toggle { gap:8px; }
  body.resource-maison.resource-studio .nav-toggle b { font-size:16px; }
  body.resource-studio .studio-menu-icon { width:18px; height:18px; }
  body.resource-studio .studio-wordmark { font-size:25px; }
  body.resource-studio .studio-wordmark small { font-size:6px; margin-top:5px; }
  body.resource-studio .studio-header-search { min-width:32px; justify-content:center; }
  body.resource-studio .studio-header-search span { display:none; }
  body.resource-studio .studio-header-search svg { display:block; }
  body.resource-maison.resource-studio .language-selector__toggle { min-width:35px; font-size:14px; gap:4px; }
  body.resource-maison.resource-studio .maison-hero {
    margin-top:-69px; height:54svh; min-height:380px; max-height:460px;
    padding:100px 24px 112px;
  }
  body.resource-studio .maison-hero__image { top:-180px; height:calc(100% + 180px); object-position:54% bottom; }
  body.resource-maison.resource-studio .maison-hero h1 { font-size:clamp(43px,11.5vw,65px) !important; }
  body.resource-studio .maison-hero__content p { font-size:14px; max-width:260px; margin-top:15px; }
  body.resource-studio .maison-hero__links { left:24px; right:auto; bottom:53px; gap:24px; }
  body.resource-studio .maison-hero__links a { font-size:11px; gap:12px; }
  body.resource-studio .maison-hero__credit { bottom:21px; font-size:9px; }
  body.resource-maison.resource-studio .studio-find-bar { padding:26px 24px; }
  body.resource-studio .studio-find-bar .maison-finder-top { grid-template-columns:1fr; gap:18px; }
  body.resource-studio .studio-find-bar .maison-finder-head h2 { font-size:30px; }
  body.resource-studio .studio-find-bar .maison-finder-head p { margin-top:8px; font-size:14px; }
  body.resource-maison.resource-studio .resource-latest { padding:40px 24px; }
  body.resource-studio .resource-latest__head { margin-bottom:32px; }
  body.resource-studio .resource-latest__head h2 { font-size:34px; }
  body.resource-maison.resource-studio .resource-latest__feature { display:flex; flex-direction:column; gap:28px; }
  body.resource-studio .resource-latest__feature-copy { gap:17px; }
  body.resource-studio .resource-latest__feature-copy > strong { font-size:33px; }
  body.resource-studio .maison-feature-photo { order:-1; }
  body.resource-studio .resource-latest__list { grid-template-columns:1fr; gap:0; margin-top:36px; padding-top:0; }
  body.resource-studio .resource-latest__list > a { grid-template-columns:88px minmax(0,1fr) 14px; gap:14px; align-items:start; padding:20px 0; }
  body.resource-studio .resource-latest__thumb { width:88px; }
  body.resource-studio .resource-latest__list-copy > strong { font-size:23px; }
  body.resource-studio .resource-latest__list .resource-latest__meta { font-size:9px; }
  body.resource-studio .resource-latest__list > a > .resource-icon:last-child { margin-top:3px; }
  body.resource-studio .resource-hub__library-nav a { font-size:13px; padding-inline:6px; }
  body.resource-studio .resource-hub__group-head h2 { font-size:24px; }
  body.resource-maison.resource-studio .resource-hub__article-card h3 { font-size:25px; }
  body.resource-studio .resource-hub__rfq-strip h2 { font-size:28px; }
  body.resource-studio .mobile-drawer__head { min-height:69px; padding:12px 24px; }
  body.resource-studio .mobile-drawer__nav { padding:12px 24px 24px; }
  body.resource-studio .mobile-drawer__service { padding:16px 24px; }
}
@media (max-width:360px) {
  body.resource-maison.resource-studio .site-header__masthead { padding-inline:20px; }
  body.resource-maison.resource-studio .nav-toggle b { display:none; }
  body.resource-maison.resource-studio .maison-hero { padding-inline:20px; }
  body.resource-studio .maison-hero__links { left:20px; gap:17px; }
  body.resource-studio .maison-hero__links a { font-size:10px; gap:9px; }
  body.resource-studio .maison-hero__credit { left:20px; }
  body.resource-maison.resource-studio .studio-find-bar { padding-inline:20px; }
  body.resource-studio .resource-latest__list > a { grid-template-columns:72px minmax(0,1fr) 12px; gap:12px; }
  body.resource-studio .resource-latest__thumb { width:72px; }
}

/* Instrument Serif has no width axis. Expand the outlines horizontally and
   reserve the unscaled measure so line wrapping uses the final visible width.
   This leaves original guide markup, hit areas, photos and data untouched. */
body.resource-maison.resource-studio .resource-hub :is(h1,h2,h3),
body.resource-studio :is(.resource-latest__feature-copy > strong,.resource-latest__list-copy > strong,.resource-recommendations__copy strong,.resource-evidence__routes strong),
body.resource-studio .footer-service__copy h2 {
  width:calc(100% / var(--studio-type-width));
  max-width:calc(100% / var(--studio-type-width));
  transform:scaleX(var(--studio-type-width));
  transform-origin:left center;
  letter-spacing:0;
}
/* Explicit tracks reserve the count/toggle column beside expanded headings. */
body.resource-studio .resource-hub__group-head {
  display:grid; grid-template-columns:minmax(0,1fr) auto;
}
body.resource-studio .resource-decision__application-head {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px;
}
body.resource-studio .resource-latest__head > div { flex:1; min-width:0; }
body.resource-studio .resource-recommendations__copy,
body.resource-studio .resource-latest__list-copy { min-width:0; }
body.resource-studio .resource-recommendations__copy strong,
body.resource-studio .resource-evidence__routes strong { display:block; }
body.resource-maison.resource-studio .maison-hero h1 {
  font-size:clamp(68px,6.4vw,104px) !important;
  line-height:.98 !important; letter-spacing:0 !important;
}
body.resource-studio .studio-wordmark {
  font-size:36px; letter-spacing:.035em;
  transform:scaleX(1.12); transform-origin:center;
}
body.resource-studio .studio-wordmark small { transform:scaleX(.892857); }
body.resource-maison.resource-studio .nav-toggle b,
body.resource-studio .studio-header-search span {
  font-size:25px; letter-spacing:.01em; transform:scaleX(1.12); transform-origin:left center;
}
body.resource-studio .studio-header-search { padding-right:8px; }
body.resource-studio .studio-find-bar .maison-finder-head h2 { font-size:39px; }
body.resource-studio .resource-latest__head h2 { font-size:48px; }
body.resource-studio .resource-hub__library-nav a { font-family:var(--font-body); }
body.resource-studio :is(.resource-decision__choice-grid,.resource-decision__application-grid) button strong { font-family:var(--font-body); }
@media (max-width:760px) {
  body.resource-maison.resource-studio .maison-hero h1 { font-size:clamp(53px,14.4vw,76px) !important; }
  body.resource-studio .studio-wordmark { font-size:30px; }
  body.resource-maison.resource-studio .nav-toggle b { font-size:20px; }
  body.resource-studio .studio-header-search { padding-right:0; }
  body.resource-studio .studio-find-bar .maison-finder-head h2 { font-size:35px; }
  body.resource-studio .resource-latest__head h2 { font-size:40px; }
}
