/* Portfolio carousel: transparent stage, CSS perspective and JS positioning. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.hero { padding-top:56px; }
.hero__art { opacity:.24; mask-image:linear-gradient(#000 0%,#0008 28%,transparent 67%); }
.hero__grid { opacity:.2; mask-image:linear-gradient(#000,transparent 72%); }
.hero__title { font-size:clamp(2.35rem,4.15vw,3.75rem); }
.hero__description { margin-top:25px; }
.hero__actions { margin-top:23px; }
.hero__note { margin-top:16px; }
.portfolio-orbit { position:relative; margin-top:34px; outline-offset:-5px; }
.portfolio-orbit__stage { display:flex; gap:20px; overflow-x:auto; padding:20px var(--page-gutter); scrollbar-width:thin; }
.project-card { width:280px; flex:0 0 280px; user-select:none; -webkit-user-select:none; }
.project-card__preview { overflow:hidden; background:white; border:1px solid #15223818; border-radius:12px; box-shadow:0 18px 32px -20px #15223855,0 3px 8px #15223808; height:259px; }
.project-card__browser { display:flex; gap:4px; align-items:center; height:17px; padding:0 8px; background:#f4f4f5; border-bottom:1px solid #00000008; }
.project-card__browser>span:not(.project-card__browser-line) { width:3px; height:3px; background:#c1c3c8; border-radius:100%; }
.project-card__browser-line { width:45%; height:5px; background:#e7e7e9; border-radius:10px; margin:auto; }
.project-card__site-nav { height:37px; display:flex; align-items:center; justify-content:space-between; padding:0 15px; background:#f4f1ec; color:#30362f; }
.project-card__site-nav>span:first-child { font-size:13px; letter-spacing:-.6px; font-weight:800; }
.project-card__site-nav>span:last-child { font-size:4.5px; letter-spacing:.4px; }
.project-card__site-hero { position:relative; height:178px; overflow:hidden; }
.project-card__site-hero>img { display:block; width:100%; height:100%; object-fit:cover; }
.project-card__site-copy { position:absolute; inset:0; padding:20px 16px; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; color:white; background:linear-gradient(90deg,#0006,#0000); }
.project-card__site-copy>span:first-child { font-size:5px; letter-spacing:1px; margin-bottom:11px; }
.project-card__site-copy>strong { font-size:29px; line-height:1.1; letter-spacing:-1.3px; max-width:200px; font-weight:500; }
.project-card__site-cta { font-size:5px; letter-spacing:.5px; margin-top:16px; border-bottom:1px solid currentColor; padding-bottom:5px; }
.project-card__site-cta>span { margin-left:20px; }
.project-card__site-footer { display:flex; justify-content:space-between; align-items:center; padding:9px 14px; background:#f4f1ec; color:#43473c; font-size:5px; }
.project-card__caption { text-align:center; padding:15px 4px 0; }
.project-card__caption>h2 { font-size:1rem; font-weight:500; letter-spacing:-.025em; }
.project-card__caption>p { font-size:.75rem; color:var(--color-muted); margin-top:5px; }
.project-card--aurea .project-card__site-nav,.project-card--aurea .project-card__site-footer { background:#faf4eb; color:#48321d; }
.project-card--aurea .project-card__site-copy { color:#fff; background:linear-gradient(90deg,#26180066,transparent); justify-content:flex-end; }
.project-card--aurea .project-card__site-copy>strong { font-family:Georgia,serif; font-size:32px; font-weight:400; letter-spacing:-.6px; width:140px; }
.project-card--aurea .project-card__site-nav>span:first-child { font-family:Georgia,serif; font-size:23px; font-weight:400; }
.project-card--orizzonte .project-card__site-nav,.project-card--orizzonte .project-card__site-footer { background:#edf5f4; color:#153e43; }
.project-card--orizzonte .project-card__site-copy { align-items:center; text-align:center; background:#082f3c33; }
.project-card--orizzonte .project-card__site-copy>strong { font-weight:800; font-size:33px; }
.project-card--lumen .project-card__site-nav,.project-card--lumen .project-card__site-footer { background:#1c2226; color:#fff; }
.project-card--lumen .project-card__site-hero>img { filter:grayscale(1); }
.project-card--lumen .project-card__site-copy { justify-content:flex-end; background:linear-gradient(0deg,#0009,transparent); }
.project-card--lumen .project-card__site-copy>strong { font-size:36px; font-weight:300; letter-spacing:-1.5px; }
.project-card--materia .project-card__site-nav,.project-card--materia .project-card__site-footer { background:#652b32; color:#fff7ec; }
.project-card--materia .project-card__site-hero { background:#e8dfd4; }
.project-card--materia .project-card__site-hero>img { width:55%; margin-left:auto; object-position:60%; }
.project-card--materia .project-card__site-copy { color:#652b32; background:linear-gradient(90deg,#e8dfd4 36%,transparent 75%); }
.project-card--materia .project-card__site-copy>strong { max-width:137px; font-family:Georgia,serif; font-size:26px; }
.project-card--onda .project-card__site-nav,.project-card--onda .project-card__site-footer { background:#f2eadc; color:#394d47; }
.project-card--onda .project-card__site-copy { align-items:center; text-align:center; background:#002e3d33; }
.project-card--onda .project-card__site-copy>strong { font-family:Georgia,serif; font-weight:400; font-size:32px; }
.portfolio-orbit--enhanced .portfolio-orbit__stage { display:block; height:355px; padding:0; overflow:hidden; position:relative; perspective:1500px; cursor:grab; touch-action:pan-y; }
.portfolio-orbit--enhanced .project-card { position:absolute; top:12px; left:50%; margin-left:-140px; will-change:transform; backface-visibility:hidden; transform-origin:50% 50%; }
.portfolio-orbit--dragging .portfolio-orbit__stage { cursor:grabbing; }
.portfolio-orbit__toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:22px; }
.portfolio-orbit__hint { font-size:.875rem; color:var(--color-muted); display:flex; align-items:center; gap:10px; }
.portfolio-orbit__hint>span:first-child { color:var(--color-bordeaux); font-size:1.5rem; }
.portfolio-orbit__demo { color:#767c87; font-size:.75rem; }
.portfolio-orbit__controls { display:none; gap:8px; }
.portfolio-orbit--enhanced .portfolio-orbit__controls { display:flex; }
.portfolio-orbit__control { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1px solid #15223820; background:#fff7; color:var(--color-navy); font:inherit; font-size:1.2rem; cursor:pointer; transition:background .2s,border-color .2s; }
.portfolio-orbit__control:hover { background:#fff; border-color:var(--color-bordeaux); }
.portfolio-orbit__control--pause { font-size:1rem; }
@media(min-width:1400px) { .portfolio-orbit--enhanced .portfolio-orbit__stage { height:365px; } }
@media(max-width:767px) {
  .hero { padding-top:38px; }
  .hero__title { font-size:clamp(2.15rem,7.5vw,3rem); }
  .hero__art { opacity:.15; }
  .portfolio-orbit { margin-top:27px; }
  .project-card { width:236px; flex-basis:236px; }
  .portfolio-orbit--enhanced .project-card { margin-left:-118px; }
  .project-card__preview { height:227px; }
  .project-card__site-hero { height:146px; }
  .project-card__site-copy>strong { font-size:26px; }
  .project-card--aurea .project-card__site-copy>strong,.project-card--orizzonte .project-card__site-copy>strong,.project-card--lumen .project-card__site-copy>strong,.project-card--onda .project-card__site-copy>strong { font-size:28px; }
  .project-card--materia .project-card__site-copy>strong { font-size:23px; }
  .portfolio-orbit--enhanced .portfolio-orbit__stage { height:308px; }
  .portfolio-orbit__demo { display:none; }
  .portfolio-orbit__toolbar { gap:8px; padding-bottom:18px; }
  .portfolio-orbit__hint { font-size:.75rem; gap:6px; }
  .portfolio-orbit__controls { gap:5px; }
  .portfolio-orbit__control { width:36px; height:36px; }
  .hero__bottom { display:none; }
}
@media(prefers-reduced-motion:reduce) { .project-card { will-change:auto!important; } }

/* Keep the orbit free of caption bands; retain a compact pause control. */
.portfolio-orbit__pause-overlay { position:absolute; top:0; right:var(--page-gutter); z-index:650; width:34px; height:34px; background:#ffffffd9; }
