/* Original client logos, optically sized with their transparent margins clipped. */
.client-history { padding: 54px var(--gutter) 30px; border-bottom: 1px solid var(--line); }
.client-history-inner { max-width: 1512px; margin: auto; }
.client-history-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 34px; }
.client-history-heading .micro { font-size: 9px; line-height: 1.6; color: var(--soft); }
.client-history-heading h2 { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.15; letter-spacing: -.055em; margin-top: 12px; }
.client-history-heading .client-history-count { font-size: 13px; padding-bottom: 5px; }
.client-logo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.client-logo { min-width: 0; min-height: 160px; padding: 30px 28px; display: grid; place-items: center; border-top: 1px solid var(--line-soft); }
.client-logo-art { display: block; position: relative; overflow: hidden; width: min(100%, var(--logo-width)); }
.client-logo-art img { position: absolute; display: block; max-width: none; height: auto; filter: grayscale(1) contrast(3); }
.client-history-more { border-top: 1px solid var(--line-soft); }
.client-history-more > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; cursor: pointer; font: 12px/1.5 var(--mono); }
.client-history-more > summary::-webkit-details-marker { display: none; }
.client-history-plus { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--ink); border-radius: 50%; font: 400 24px/1 var(--ff); transition: transform .2s; }
.client-history-hide, .client-history-more[open] .client-history-show { display: none; }
.client-history-more[open] .client-history-hide { display: inline; }
.client-history-more[open] .client-history-plus { transform: rotate(45deg); }
.client-history-more > summary:hover { color: var(--terra-ink); }
.client-history-more > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.client-history-more[open] { padding-bottom: 20px; }
@media (max-width: 1000px) {
  .client-history { padding-top: 40px; }
  .client-logo { min-height: 136px; padding-inline: 20px; }
}
@media (max-width: 699px) {
  .client-history { padding-top: 34px; padding-bottom: 16px; }
  .client-history-heading { margin-bottom: 26px; }
  .client-history-heading .micro { font-size: 8px; }
  .client-history-heading .client-history-count { font-size: 11px; }
  .client-history-heading h2 { font-size: 30px; }
  .client-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-logo { min-height: 112px; padding: 24px 16px; }
  .client-logo-art { max-width: 180px; }
  .client-history-more > summary { min-height: 68px; font-size: 11px; }
}

/* Homepage selection shares the reviewed portfolio assets and bilingual copy. */
.home-work-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 54px; }
.home-work-heading .section-display { margin: 0; }
.home-work-heading > p { max-width: 320px; font-size: 14px; line-height: 1.7; color: var(--soft); padding-bottom: 6px; }
.home-projects { display: grid; grid-template-columns: 1.15fr 1fr; gap: 68px clamp(28px, 5vw, 80px); align-items: start; }
.home-project { min-width: 0; }
.home-project:nth-child(even) { margin-top: 90px; }
.home-project > a { display: block; }
.home-project .work-visual { width: 100%; }
.home-project .work-visual-mappa { aspect-ratio: auto; }
.home-project .work-visual-staffa { aspect-ratio: 1.6; }
.home-project .work-visual-carboni { aspect-ratio: 1.5; }
.home-project-meta { padding-top: 22px; }
.home-project-meta > .micro { font-size: 10px; line-height: 1.6; text-transform: uppercase; color: var(--soft); }
.home-project-meta h3 { font-size: clamp(29px, 3.1vw, 47px); line-height: 1.13; letter-spacing: -.055em; margin: 10px 0; }
.home-project-meta > p:last-of-type { font-size: 15px; color: var(--soft); }
.home-project-meta .home-demo { display: block; margin-top: 12px; font-size: 9px; line-height: 1.5; color: var(--soft); }
.home-project .work-arrow { z-index: 3; transition: transform .25s; }
.home-project > a:hover .work-arrow { transform: rotate(45deg); }
.home-more-work { margin-top:96px; padding:0; scroll-margin-top:35px; }
.home-more-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.home-more-heading .micro { font-size:10px; color:var(--soft); }
.home-more-heading h3 { font-size:clamp(32px,4vw,58px); line-height:1.1; letter-spacing:-.055em; margin-top:14px; }
.home-rail-controls { display:flex; gap:10px; flex:none; }
.home-rail-controls[hidden] { display:none; }
.home-rail-controls button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid var(--ink); border-radius:50%; background:transparent; color:var(--ink); font:28px/1 var(--ff); cursor:pointer; transition:background .2s,color .2s; }
.home-rail-controls button:disabled { opacity:.25; cursor:default; }
.home-rail-controls button:not(:disabled):hover { background:var(--ink); color:var(--paper); }
.home-project-rail { display:flex; gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:6px 6px 22px; margin-inline:-6px; scrollbar-width:thin; scrollbar-color:var(--ink) transparent; }
.home-rail-card { flex:0 0 clamp(340px,38vw,560px); min-width:0; scroll-snap-align:start; scroll-margin-left:6px; }
.home-rail-card>a { display:block; }
.home-rail-card .home-rail-art { width:100%; aspect-ratio:1.35; padding:0; }
.home-rail-meta { position:relative; padding:23px 44px 0 0; }
.home-rail-meta>.micro { font-size:9px; text-transform:uppercase; color:var(--soft); line-height:1.7; }
.home-rail-meta h4 { font-size:clamp(25px,2.5vw,36px); line-height:1.2; letter-spacing:-.05em; margin:9px 0 0; }
.home-rail-arrow { position:absolute; top:48px; right:4px; font-size:30px; line-height:1; transition:transform .2s; }
.home-rail-note { display:block; font-size:10px; color:var(--soft); line-height:1.6; margin-top:12px; }
.home-rail-hint { display:flex; justify-content:space-between; color:var(--soft); font-size:9px; margin-top:16px; }
.home-rail-hint>span { font-size:17px; line-height:1; }
.home-project-rail:focus-visible,.home-rail-controls button:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference){.home-rail-card>a:hover .home-rail-arrow{transform:translate(4px,-4px)}}
@media(prefers-reduced-motion:reduce){.home-rail-controls button,.home-rail-arrow{transition:none}}
.home-work-all { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); margin-top: 38px; padding: 26px 0; font-size: clamp(24px, 3vw, 43px); letter-spacing: -.045em; line-height: 1.2; }
.home-work-all sup { font: 11px var(--mono); letter-spacing: 0; vertical-align: super; margin-left: 6px; }
.home-work-all > span:last-child { font-size: 42px; transition: transform .25s; }
.home-work a:focus-visible { outline: 2px solid var(--ink); outline-offset: 6px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .home-project > a:hover .portfolio-borsari-catalogue { transform: rotate(-3deg) translateY(-4px); }
}
@media (max-width: 1000px) {
  .home-work-heading { display: block; }
  .home-work-heading > p { margin-top: 22px; max-width: none; }
}
@media (max-width: 760px) {
  .home-work-heading { margin-bottom: 35px; }
  .home-work-heading > p { font-size: 13px; margin-top: 18px; }
  .home-projects { grid-template-columns: 1fr; gap: 44px; }
  .home-project:nth-child(even) { margin-top: 0; }
  .home-project .work-visual-staffa { aspect-ratio: 1; }
  .home-project-meta { padding-top: 18px; }
  .home-project-meta h3 { font-size: 31px; margin-block: 8px; }
  .home-project-meta > p:last-of-type { font-size: 14px; }
  .home-more-work { margin-top: 52px; }
  .home-more-heading { margin-bottom:24px; align-items:end; }
  .home-more-heading h3 { font-size:32px; max-width:7.5em; }
  .home-rail-controls { gap:7px; }
  .home-rail-controls button { width:40px; height:40px; font-size:24px; }
  .home-project-rail { gap:16px; margin-inline:calc(-1 * var(--gutter)); padding-inline:var(--gutter); scroll-padding-inline:var(--gutter); }
  .home-rail-card { flex-basis:84vw; scroll-margin-left:0; }
  .home-rail-meta { padding-top:19px; }
  .home-rail-meta h4 { font-size:27px; }
  .home-rail-meta>.micro { font-size:8px; }
  .home-rail-arrow { top:45px; font-size:27px; }
  .home-rail-note { font-size:9px; }
  .home-rail-card .home-rail-art { aspect-ratio:1.15; }
  .home-rail-hint { font-size:8px; }
  .home-work-all { margin-top: 22px; padding-block: 23px; font-size: 27px; }
  .home-work-all > span:last-child { font-size: 34px; }
}
@media (max-width: 380px) {
  .home-more-heading { gap:12px; }
  .home-more-heading h3 { font-size:30px; }
  .home-rail-controls button { width:36px; height:36px; }
  .home-work-all { font-size: 23px; }
}
