/* Web hub: image-led browsing, independent of the PDF/detail layout. */
@media screen{
  :is(.work-home,.collection-page){--hub-muted:#787872;--hub-rule:#deded7;--hub-ease:cubic-bezier(.22,1,.36,1)}
  .hub-nav{display:flex;align-items:center;gap:32px;padding:0 0 22px;margin:0 0 28px;border-bottom:1px solid var(--hub-rule)}
  .hub-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:500;color:var(--hub-muted);white-space:nowrap;transition:color .2s}
  .hub-nav a::after{content:"";position:absolute;height:2px;inset:auto 0 -23px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--hub-ease)}
  .hub-nav a[aria-current="page"]{color:#272724}
  .hub-nav a[aria-current="page"]::after{transform:scaleX(1)}
  .work-home .featured-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:0 48px;margin:0 0 88px;padding:0;min-height:0;overflow:visible;background:transparent;color:#272724;align-items:start}
  .work-home .featured-media{display:block;grid-column:1/-1;grid-row:1;border-radius:6px;overflow:hidden;background:#080808;outline-offset:5px}
  .work-home .featured-media img{display:block;width:100%;height:clamp(320px,43vw,600px);max-height:none;aspect-ratio:auto;object-fit:contain;transition:filter .35s ease}
  .work-home .featured-copy{grid-column:1;grid-row:2;padding:28px 0 0;display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:start;min-width:0}
  .work-home .featured-copy>span{grid-column:1/-1;font-size:11px;letter-spacing:.04em;color:var(--hub-muted)}
  .work-home .featured-copy h2{grid-column:1;max-width:none;font-size:clamp(28px,3vw,44px);line-height:1.15;font-weight:550;letter-spacing:-.04em;margin:12px 0 8px}
  .work-home .featured-copy p{grid-column:1;max-width:none;font-size:14px;line-height:1.65;margin:0;color:var(--hub-muted)}
  .work-home .featured-copy>a{grid-column:2;grid-row:2/4;align-self:center;display:flex;gap:12px;min-height:44px;font-size:12px;white-space:nowrap;border:0;padding:0;color:#55554e}
  .work-home .featured-copy>a span{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--hub-rule);border-radius:50%;transition:transform .25s var(--hub-ease)}
  .work-home .featured-tabs{grid-column:2;grid-row:2;display:flex;flex-direction:column;margin:22px 0 0;border:0;gap:0;min-width:0}
  .work-home .featured-tabs button{display:flex;justify-content:flex-start;align-items:center;gap:16px;min-height:44px;padding:10px 0;margin:0;border:0;border-bottom:1px solid var(--hub-rule);color:#81817a;font-size:11px;letter-spacing:0;transition:color .2s}
  .work-home .featured-tabs button::after{content:"↗";margin-left:auto;opacity:0;transform:translate(-4px,4px);transition:opacity .25s,transform .25s var(--hub-ease)}
  .work-home .featured-tabs button span{font-size:13px;text-align:left;line-height:1.4}
  .work-home .featured-tabs button[aria-pressed="true"]{color:#292925;border-top:0;border-bottom-color:#aaa99f}
  .work-home .featured-tabs button[aria-pressed="true"]::after{opacity:1;transform:translate(0)}
  :is(.work-home,.collection-page) .practice-section{margin:0 0 80px}
  :is(.work-home,.collection-page) .practice-grid{display:block}
  :is(.work-home,.collection-page) .practice-card{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start;padding:28px 0;border-top:1px solid var(--hub-rule)}
  :is(.work-home,.collection-page) .practice-meta{display:flex;flex-direction:column;gap:8px;line-height:1.5;font-size:12px}
  :is(.work-home,.collection-page) .practice-meta>span:first-child{color:#383834;font-size:13px}
  :is(.work-home,.collection-page) .practice-card h3{font-size:clamp(20px,1.8vw,26px);font-weight:520;line-height:1.45;letter-spacing:-.035em;margin:0}
  :is(.work-home,.collection-page) .practice-card p{font-size:14px;line-height:1.85;margin:0;color:#73736d}
  :is(.work-home,.collection-page) .practice-section h2,:is(.work-home,.collection-page) .collection-studies>h2{font-size:15px;font-weight:550;margin-bottom:24px}
  :is(.work-home,.product-hub) .work-toolbar{display:flex;align-items:center;gap:24px;margin-bottom:28px;padding-top:12px}
  :is(.work-home,.product-hub) .work-toolbar h2{font-size:15px;font-weight:550;margin:0}
  :is(.work-home,.product-hub) .filters{display:flex;gap:8px;padding:4px;border-radius:26px;background:#ecece6}
  :is(.work-home,.product-hub) .filters button{border:0;border-radius:22px;min-height:44px;font-size:12px;padding:8px 16px;color:#75756e;transition:background .2s,color .2s}
  :is(.work-home,.product-hub) .filters button[aria-pressed="true"]{background:#fafaf7;color:#282825;box-shadow:0 1px 4px #00000009}
  :is(.work-home,.collection-page) .project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px}
  :is(.work-home,.collection-page) .project-card{min-width:0;display:block}
  :is(.work-home,.collection-page) .card-visual{background:#ecece6;border:0;border-radius:6px;overflow:hidden}
  :is(.work-home,.collection-page) .card-visual img{aspect-ratio:16/10;object-fit:contain;transition:filter .4s ease}
  :is(.work-home,.collection-page) .card-arrow{right:16px;bottom:16px;width:36px;height:36px;opacity:1;background:#fafaf7eb;font-size:20px;transform:none;transition:transform .3s var(--hub-ease),background .3s}
  :is(.work-home,.collection-page) .card-meta{margin-top:18px;font-size:10px;letter-spacing:.035em;color:var(--hub-muted)}
  :is(.work-home,.collection-page) .project-card h2{font-size:clamp(23px,2.2vw,32px);font-weight:520;letter-spacing:-.035em;line-height:1.25;margin:10px 0 8px}
  :is(.work-home,.collection-page) .project-card p{font-size:14px;line-height:1.65;color:var(--hub-muted)}
  .collection-page{padding-top:64px}
  .collection-page .collection-heading{padding:24px 0 8px;margin-bottom:48px}
  .collection-page .collection-heading h1{font-size:clamp(38px,5vw,68px);line-height:1.14;letter-spacing:-.045em;margin:14px 0 20px}
  .collection-page .collection-heading h1 span{color:#92928a}
  .collection-page .collection-heading p{font-size:15px;color:#74746d;line-height:1.8;max-width:540px}
  .floating-contact svg{transition:transform .25s var(--hub-ease,ease)}
}
@media screen and (hover:hover){
  .hub-nav a:hover{color:#292925}
  .work-home .featured-media:hover img{filter:brightness(1.08)}
  .work-home .featured-copy>a:hover span{transform:translate(2px,-2px)}
  :is(.work-home,.collection-page) .project-card:hover .card-arrow{transform:translate(2px,-2px);background:#fff}
  :is(.work-home,.collection-page) .project-card:hover .card-visual img{filter:brightness(1.025)}
  .floating-contact:hover svg{transform:translate(1px,-1px)}
}
@media screen and (max-width:1000px){
  .work-home .featured-stage{grid-template-columns:1fr;gap:0;margin-bottom:64px}
  .work-home .featured-copy{grid-column:1;grid-row:2}
  .work-home .featured-tabs{grid-column:1;grid-row:3;flex-direction:row;gap:24px;margin-top:24px}
  .work-home .featured-tabs button{flex:1;min-width:0;gap:10px}
  :is(.work-home,.collection-page) .practice-card{grid-template-columns:130px minmax(0,1fr);gap:10px 24px}
  :is(.work-home,.collection-page) .practice-meta{grid-row:1/3}
  :is(.work-home,.collection-page) .practice-card p{grid-column:2}
}
@media screen and (max-width:600px){
  .hub-nav{gap:24px;margin-bottom:20px;padding-bottom:12px}
  .hub-nav a{font-size:13px}
  .hub-nav a::after{bottom:-13px}
  .work-home .featured-media{border-radius:4px}
  .work-home .featured-media img{height:auto;aspect-ratio:4/3}
  .work-home .featured-copy{padding-top:20px;column-gap:10px}
  .work-home .featured-copy h2{font-size:29px}
  .work-home .featured-copy p{font-size:13px}
  .work-home .featured-copy>a{grid-column:1/-1;grid-row:4;justify-self:start;gap:16px;margin-top:12px}
  .work-home .featured-tabs{gap:12px;margin-top:18px}
  .work-home .featured-tabs button{align-items:flex-start;flex-direction:column;gap:6px;font-size:10px;min-height:68px;position:relative;padding-right:8px}
  .work-home .featured-tabs button span{font-size:11px;word-break:keep-all}
  .work-home .featured-tabs button::after{position:absolute;right:0;top:10px}
  :is(.work-home,.collection-page) .practice-section{margin-bottom:56px}
  :is(.work-home,.collection-page) .practice-card{grid-template-columns:1fr;gap:12px;padding:24px 0}
  :is(.work-home,.collection-page) .practice-meta{grid-row:auto;flex-direction:row;justify-content:space-between;gap:12px}
  :is(.work-home,.collection-page) .practice-card h3{font-size:22px}
  :is(.work-home,.collection-page) .practice-card p{grid-column:1;font-size:13px}
  :is(.work-home,.product-hub) .work-toolbar{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:24px}
  :is(.work-home,.product-hub) .filters{max-width:100%;gap:4px}
  :is(.work-home,.product-hub) .filters button{min-height:44px;padding:8px 16px}
  :is(.work-home,.collection-page) .project-grid{grid-template-columns:1fr;gap:36px}
  :is(.work-home,.collection-page) .project-card h2{font-size:25px}
  .collection-page{padding-top:32px}
  .collection-page .collection-heading{padding-top:16px;margin-bottom:32px}
  .collection-page .collection-heading h1{font-size:40px}
}
@media(prefers-reduced-motion:reduce){.hub-nav a,.hub-nav a::after,.work-home .featured-tabs button,.work-home .featured-tabs button::after,.work-home .featured-media img,.work-home .featured-copy>a span,:is(.work-home,.collection-page) .card-arrow,:is(.work-home,.collection-page) .card-visual img,.floating-contact svg{transition:none}}

/* Identity: one product, many views; a concise resume in the profile drawer. */
@media screen{
  .identity-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:72px;align-items:center;padding:64px 0 56px;margin-bottom:20px}
  .identity-eyebrow{display:block;font-size:10px;line-height:1.5;letter-spacing:.085em;color:#7d7d75;margin-bottom:22px}
  .identity-copy h1{margin:0;font-size:clamp(34px,3.6vw,56px);font-weight:550;line-height:1.18;letter-spacing:-.055em;word-break:keep-all}
  .identity-copy h1 span{color:#818178}
  .identity-copy>p{font-size:15px;color:#66665f;line-height:1.9;margin:24px 0 0;word-break:keep-all}
  .identity-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px}
  .identity-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:44px;font-size:12px;border-bottom:1px solid #d6d6ce;transition:border-color .2s}
  .identity-links a span{font-size:17px}
  .identity-links a:hover{border-color:#74746d}
  .identity-spectrum{border-left:1px solid #deded7;padding-left:36px;min-width:0}
  .spectrum-caption{font-size:12px;font-weight:500;color:#66665f;margin:0 0 24px}
  .identity-spectrum ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:24px}
  .identity-spectrum li{display:flex;gap:18px;align-items:baseline}
  .spectrum-number{font-size:10px;color:#92928a;font-variant-numeric:tabular-nums}
  .identity-spectrum h2{font-size:19px;font-weight:550;letter-spacing:-.035em;margin:0 0 7px;line-height:1.4}
  .identity-spectrum li p{font-size:12px;line-height:1.7;color:#82827a;margin:0;word-break:keep-all}
  .spectrum-footnote{display:block;font-size:10px;line-height:1.7;color:#92928a;margin-top:28px}
  #profile-panel{width:min(560px,100vw);padding-left:36px;padding-right:36px}
  #profile-panel>.sheet-heading{margin-bottom:28px}
  #profile-panel .profile-identity{gap:18px;margin:0 0 24px}
  #profile-panel .profile-monogram{width:68px;height:68px;background:#eeeee8;color:#3e3e38;font-size:30px;font-weight:600}
  #profile-panel .profile-identity h3{font-size:29px;font-weight:600;line-height:1.2;letter-spacing:-.045em;margin:0 0 8px}
  #profile-panel .profile-identity p{font-size:14px;color:#41413b;margin:0 0 5px}
  .profile-role{font-size:12px;color:#83837b;line-height:1.5}
  .profile-summary{font-size:14px;line-height:1.9;color:#64645e;margin:0 0 18px;word-break:keep-all}
  .profile-focus{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:32px}
  .profile-focus span{display:inline-flex;align-items:center;padding:6px 11px;border-radius:18px;background:#eaeae4;color:#67675f;font-size:11px;line-height:1.4}
  .profile-section{padding:26px 0;border-top:1px solid #deded7}
  .profile-section h4{font-size:12px;font-weight:550;color:#808078;margin:0 0 20px;letter-spacing:-.01em}
  .profile-entry+.profile-entry{margin-top:22px}
  .profile-entry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
  .profile-entry h5{font-size:15px;line-height:1.5;font-weight:550;margin:0;word-break:keep-all}
  .profile-entry-heading>span{font-size:11px;line-height:1.6;color:#86867e;flex-shrink:0;font-variant-numeric:tabular-nums}
  .profile-entry>p{font-size:12px;line-height:1.8;color:#77776f;margin:6px 0 0}
  .profile-entry ul{padding-left:16px;margin:14px 0 0;font-size:12px;color:#6e6e66;line-height:1.85}
  .profile-entry li+li{margin-top:4px}
  .profile-tools{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px 16px;margin:0;font-size:12px;line-height:1.8}
  .profile-tools dt{color:#77776f}.profile-tools dd{margin:0;color:#4d4d46;word-break:keep-all}
  #profile-panel .resume-heading{padding:0;border:0;margin:0 0 16px}
  #profile-panel .resume-heading h4{margin:0}
  #profile-panel .resume-links{gap:8px}
  #profile-panel .resume-links button{background:#edede7;border-radius:6px;min-height:46px;padding:9px 10px;font-size:12px;color:#77776e;gap:8px}
  .platform-arrow{margin-left:auto;color:#a6a69c;font-size:14px}
  #profile-panel .service-monogram{width:24px;height:24px;font-size:15px;font-weight:600;color:#797970}
  .profile-work-link{display:flex;justify-content:space-between;align-items:center;min-height:48px;font-size:13px;color:#55554e;border-top:1px solid #deded7;padding-top:12px;margin-top:8px}
}
@media screen and (max-width:900px){
  .identity-hero{grid-template-columns:1fr;gap:40px;padding:44px 0 36px}
  .identity-spectrum{border-left:0;border-top:1px solid #deded7;padding:24px 0 0}
  .identity-spectrum ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .identity-spectrum li{gap:10px}
  .identity-spectrum h2{font-size:17px}
  .spectrum-caption{margin-bottom:20px}
  .spectrum-footnote{margin-top:20px}
}
@media screen and (max-width:600px){
  .identity-hero{padding-top:36px;gap:28px;margin-bottom:8px}
  .identity-copy h1{font-size:clamp(32px,8.8vw,38px)}
  .identity-eyebrow{font-size:9px;letter-spacing:.065em;margin-bottom:18px}
  .identity-copy>p{font-size:13px;line-height:1.85;margin-top:20px}
  .identity-copy>p br{display:none}
  .identity-links{gap:18px;margin-top:18px}
  .identity-spectrum ol{display:flex;flex-direction:column;gap:18px}
  .identity-spectrum li{gap:16px}
  .identity-spectrum h2{font-size:18px;margin-bottom:3px}
  #profile-panel{width:100vw;padding-left:24px;padding-right:24px}
  #profile-panel .profile-identity h3{font-size:27px}
  .profile-entry-heading{flex-wrap:wrap;gap:3px 16px}
  .profile-tools{grid-template-columns:66px minmax(0,1fr);gap:12px}
  .profile-summary-break{display:none}
}
@media(prefers-reduced-motion:reduce){.identity-links a{transition:none}}
