/* Final public-site layer. Legacy export rules never control motion or routing. */
/* Keep the approved light/dark section palette, including in forced-color mode.
   Text, controls and focus indicators retain their explicit contrasting colors. */
html[data-polished] { --paper: #000000; --ink: #ffffff; --muted: #a0a0a0; --nav-surface: #000000; --nav-ink: #ffffff; color-scheme: only dark; forced-color-adjust: none; scroll-behavior: smooth !important; }
html[data-polished] body { background: #000000 !important; color: #ffffff !important; }
html[data-polished] body.menu-is-open { overflow: hidden !important; }
html[data-polished] [hidden] { display: none !important; }
html[data-polished] #main { overflow: clip; }
html[data-polished] nav#framer-nav { height: 72px !important; max-height: 72px !important; z-index: 1000005 !important; }
html[data-polished] nav#framer-nav .framer-1o0duy { height: 72px !important; padding: 0 clamp(24px,3vw,48px) !important; max-width: 1500px !important; }
html[data-polished] nav#framer-nav .framer-nav-right,
html[data-polished] nav#framer-nav .framer-fn0oh9 { display:flex !important; align-items:center !important; gap:18px !important; }
html[data-polished] nav#framer-nav .framer-8lzgbl { gap: 8px !important; }
html[data-polished] a:focus-visible,
html[data-polished] button:focus-visible,
html[data-polished] select:focus-visible { outline: 2px solid currentColor !important; outline-offset: 5px !important; }
html[data-polished] .skip-link { position:fixed; top:12px; left:24px; z-index:1000010; transform:translateY(-300%); padding:12px 18px; background:#111; color:#fff; border-radius:10px; font:500 16px "Switzer",sans-serif; }
html[data-polished] .skip-link:focus { transform:none; }
html[data-polished] #main { scroll-margin-top:88px; }
html[data-polished] .mobile-nav-toggle { appearance:none; }
html[data-polished] nav#framer-nav .lang-selector-btn :is(span,svg,path) { color:var(--nav-ink) !important; --framer-text-color:var(--nav-ink) !important; }

/* One language selector, in the header, with explicit click and keyboard states. */
html[data-polished] #nav-lang-selector { position: relative; flex: none; }
html[data-polished] nav#framer-nav #nav-lang-selector .lang-selector-btn {
  display:flex !important; align-items:center; justify-content:center; gap:8px;
  min-width:44px; min-height:44px; padding:8px 4px !important;
  font-family:"Switzer",sans-serif !important; font-size:12px !important; font-weight:600;
  border:0 !important; box-shadow:none !important;
  color:var(--nav-ink) !important; background:transparent !important;
  border-radius:0 !important; cursor:pointer;
  transition: background-color .18s ease, border-color .18s ease;
}
html[data-polished] nav#framer-nav #nav-lang-selector .lang-selector-btn:hover,
html[data-polished] nav#framer-nav #nav-lang-selector.open .lang-selector-btn {
  background:transparent !important;
}
html[data-polished] #nav-lang-selector .lang-dropdown-menu {
  position:absolute !important; top:calc(100% + 8px) !important; right:0 !important; left:auto !important;
  width:116px !important; padding:4px !important; border-radius:12px !important;
  background:var(--nav-surface) !important; border:1px solid color-mix(in srgb,var(--nav-ink) 28%,transparent) !important;
  box-shadow:none !important; display:none !important;
  opacity:1 !important; visibility:visible !important; transform:none !important;
}
html[data-polished] #nav-lang-selector.open .lang-dropdown-menu { display:grid !important; }
html[data-polished] nav#framer-nav #nav-lang-selector .lang-option-btn {
  display:flex; align-items:center; gap:10px; min-height:40px; width:100%;
  padding:8px 10px !important; border-radius:8px !important; text-align:left;
  background:transparent !important; color:var(--nav-ink) !important; font-size:14px !important; letter-spacing:0;
}
html[data-polished] #nav-lang-selector .lang-option-btn::before { content:none !important; display:none !important; }
html[data-polished] #nav-lang-selector .lang-option-btn.active { font-weight:600; }
html[data-polished] nav#framer-nav #nav-lang-selector .lang-option-btn:hover,
html[data-polished] nav#framer-nav #nav-lang-selector .lang-option-btn:focus-visible { background:transparent !important; text-decoration:underline; text-underline-offset:5px; }

/* Opaque drawer; no content can move or receive focus behind it. */
html[data-polished] .mobile-nav-drawer {
  display:flex !important; position:fixed !important; inset:0 !important; width:100% !important;
  height:100dvh !important; min-height:0 !important; box-sizing:border-box;
  background:#fff !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  padding:104px 24px 28px !important; flex-direction:column !important; justify-content:flex-start !important; gap:32px !important;
  transform:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important;
  z-index:1000004 !important; overflow-y:auto !important; overscroll-behavior:contain;
  transition:opacity .18s ease !important;
}
html[data-polished] .mobile-nav-drawer.open { visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
html[data-polished] .mobile-nav-drawer-links {
  margin:auto; width:min(100%,580px) !important; display:flex !important;
  align-items:center !important; justify-content:center !important; gap:22px !important;
  counter-reset:menu-link;
}
html[data-polished] .mobile-nav-link {
  font-family:"Switzer",sans-serif !important; font-size:clamp(30px,5.5vw,46px) !important;
  font-weight:500 !important; letter-spacing:-.045em !important; line-height:1.2 !important;
  display:flex !important; align-items:center; gap:20px; min-height:48px; color:#111 !important;
}
html[data-polished] .mobile-nav-link::before { content:none; }
html[data-polished] .mobile-nav-cta-btn { margin-top:16px !important; margin-left:0; padding:14px 26px !important; background:#111 !important; color:white !important; font-size:15px !important; }
html[data-polished] .mobile-drawer-social { display:flex; justify-content:center; gap:36px; width:100%; flex:none; border-top:1px solid #e5e5e5; padding-top:24px; }
html[data-polished] .mobile-drawer-social a { color:#111; font:14px "Switzer",sans-serif; text-decoration:none; min-height:44px; display:flex; align-items:center; }
html[data-polished] .mobile-drawer-lang-wrapper { display:none !important; }

/* A single native compositor animation replaces all exported curtains. */
#site-transition { position:fixed; inset:0; z-index:2147483000; display:grid; place-items:center; background:#fff; color:#111; pointer-events:auto; }
#site-transition span { font:600 clamp(32px,6vw,76px)/1.05 "Switzer",sans-serif; letter-spacing:-.045em; text-transform:uppercase; text-align:center; max-width:90%; }
html[data-polished][data-navigating] { cursor:progress; }

/* The SVG never changes shape or layout height. Only its vertical scale moves. */
html[data-polished] .section-curve {
  position:relative !important; width:100% !important; height:0 !important; min-height:0 !important;
  flex:none !important; overflow:visible !important; margin:0 !important; padding:0 !important;
  z-index:20 !important; pointer-events:none; color:var(--curve-color,#fff);
}
html[data-polished] .section-curve[data-footer-curve] { order:1001; }
html[data-polished] .section-curve svg {
  display:block; position:absolute; left:0; bottom:-1px; width:100%; height:clamp(36px,6vw,84px);
  transform:scaleY(var(--curve-scale,.35)); transform-origin:50% 100%; will-change:transform;
  overflow:hidden; fill:currentColor;
}

/* Home: one type family, readable copy, balanced image/title positioning. */
html[data-polished] #Hero {
  min-height:min(860px,100svh) !important; height:auto !important; padding:108px 0 88px !important;
  overflow:visible !important; display:flex !important; align-items:center !important; position:relative;
}
html[data-polished] #Hero .framer-1qflo23 { max-width:1400px !important; width:100% !important; }
html[data-polished] #Hero .framer-iykt1c { display:flex !important; flex-direction:column !important; align-items:center !important; gap:0 !important; min-height:0 !important; height:auto !important; padding:0 !important; }
html[data-polished] .hero-editorial-header { margin:18px auto 0 !important; max-width:1040px !important; padding:0 !important; text-align:center !important; }
html[data-polished] .hero-editorial-title { font-family:"Switzer",sans-serif !important; font-size:clamp(38px,4.7vw,66px) !important; font-weight:600 !important; line-height:1.06 !important; letter-spacing:-.05em !important; color:#ffffff !important; text-wrap:balance; margin:0 !important; }
html[data-polished] .hero-editorial-manifesto { font-family:"Switzer",sans-serif !important; font-size:clamp(16px,1.35vw,19px) !important; font-weight:400 !important; line-height:1.6 !important; color:#a8a8a8 !important; max-width:560px !important; margin:22px auto 0 !important; text-wrap:pretty; }
html[data-polished] .hero-cards-stage { position:relative !important; flex:none !important; width:220px !important; height:310px !important; margin:0 auto 10px !important; top:auto !important; left:auto !important; z-index:5 !important; opacity:1 !important; transform-origin:center center; will-change:transform; }
html[data-polished] .hero-card-item { position:absolute !important; left:10px !important; top:0 !important; width:200px !important; height:280px !important; opacity:1 !important; }
html[data-polished] #hero-card-1 { transform:translate3d(-125px,14px,0) rotate(-8deg) !important; }
html[data-polished] #hero-card-1 { z-index:1 !important; }
html[data-polished] #hero-card-2 { transform:none !important; z-index:3 !important; }
html[data-polished] #hero-card-3 { transform:translate3d(125px,14px,0) rotate(8deg) !important; z-index:2 !important; }
html[data-polished] .hero-card-inner { width:100% !important; height:100% !important; transform:none !important; }
html[data-polished] .hero-card-img-wrapper, html[data-polished] .hero-card-img { width:100% !important; height:100% !important; object-fit:cover !important; }
html[data-polished] #landing-intro-section { min-height:0 !important; height:auto !important; padding:112px 0 136px !important; }
html[data-polished] .intro-container { display:grid !important; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) !important; gap:clamp(32px,5vw,72px) !important; max-width:1300px !important; margin:auto !important; align-items:center !important; padding:0 clamp(24px,3.5vw,48px) !important; }
html[data-polished] .intro-text-col, html[data-polished] .framer-p0ih05-container { min-width:0 !important; width:100% !important; max-width:100% !important; }
html[data-polished] .intro-char-reveal { display:block !important; }
html[data-polished] .intro-para { display:block !important; margin:0 0 20px !important; padding:0 !important; font:400 clamp(18px,1.7vw,23px)/1.6 "Switzer",sans-serif !important; color:#b5b5b5 !important; letter-spacing:-.02em !important; }
html[data-polished] .intro-para-lead { font:600 clamp(30px,3vw,44px)/1.12 "Switzer",sans-serif !important; color:#ffffff !important; letter-spacing:-.04em !important; margin-bottom:26px !important; text-wrap:balance; }
html[data-polished] .intro-badge { font:11px "Chivo Mono",monospace !important; letter-spacing:.12em !important; color:#888888 !important; margin-bottom:24px !important; text-transform:uppercase; }
html[data-polished] .intro-cards-dock { height:300px !important; width:100% !important; position:relative !important; }
html[data-polished] .service-exact-row { display:block; color:inherit; text-decoration:none; }
html[data-polished] #main .service-exact-row :is(h1,h3) { color:#f1f1f1 !important; --framer-text-color:#f1f1f1 !important; opacity:1 !important; transition:color .2s ease; }
html[data-polished] #projects-archive,
html[data-polished] :is(#work,#landing-contact-section) { background:#000000 !important; }
html[data-polished] .service-hover-card { display:none !important; opacity:0 !important; visibility:hidden !important; pointer-events:none !important; }

/* Filters: compact native selectors on mobile; a clear two-level list on desktop. */
.mobile-project-filters { display:none; }
html[data-polished] .project-result-status { font:12px "Switzer",sans-serif; color:#777; margin-top:12px; }
html[data-polished] #filter-wrapper { margin-bottom:40px !important; }
.filter-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.filter-field label { font:11px "Chivo Mono",monospace; letter-spacing:.02em; color:#777; }
.filter-field select { appearance:auto; width:100%; min-width:0; min-height:48px; border:1px solid #e0e0e0; border-radius:9px; background:#f7f7f7; color:#111; font:400 16px "Switzer",sans-serif; padding:10px 12px; cursor:pointer; }
html[data-polished] .filter-sub-btn.active { color:#111 !important; font-weight:600 !important; }

/* A useful footer rather than a sparse collection of labels. */
html[data-polished] .confirmed-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 28px; width:100%; padding-bottom:64px; }
html[data-polished] .confirmed-project-card { min-width:0; width:100%; }
html[data-polished] .confirmed-project-card > a { display:block; color:#ffffff; text-decoration:none; }
html[data-polished] .confirmed-project-card .project-image { aspect-ratio:1; background:#000000; overflow:hidden; border-radius:12px; }
html[data-polished] .confirmed-project-card img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .45s cubic-bezier(.2,.7,.2,1); }
html[data-polished] .confirmed-project-card a:hover img { transform:scale(1.025); }
html[data-polished] .project-caption { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:18px; }
html[data-polished] .project-caption h2 { font:500 clamp(24px,2.2vw,32px)/1.15 "Switzer",sans-serif; letter-spacing:-.035em; margin:0; }
html[data-polished] .project-caption span { font-size:24px; }
html[data-polished] .confirmed-project-card p { font:400 15px/1.5 "Switzer",sans-serif; color:#a0a0a0; margin:10px 0 0; max-width:440px; }
html[data-polished] .portfolio-case-main { display:block !important; width:100%; min-height:100vh; }
html[data-polished] .portfolio-case { max-width:1400px; margin:auto; padding:128px 40px 124px; }
html[data-polished] .case-back { display:inline-flex; align-items:center; min-height:44px; font:14px "Switzer",sans-serif; color:#555; text-decoration:none; }
html[data-polished] .case-back:hover { color:#111; text-decoration:underline; text-underline-offset:4px; }
html[data-polished] .case-header { padding:48px 0 64px; }
html[data-polished] .case-eyebrow { font:11px "Chivo Mono",monospace; letter-spacing:.1em; color:#777; }
html[data-polished] .case-header h1 { font:500 clamp(56px,8vw,112px)/1.05 "Switzer",sans-serif; letter-spacing:-.055em; margin:20px 0 24px; }
html[data-polished] .case-header p { font:400 clamp(19px,2vw,26px)/1.4 "Switzer",sans-serif; color:#606060; max-width:740px; margin:0; }
html[data-polished] .case-gallery { display:grid; gap:28px; }
html[data-polished] .case-gallery figure { margin:0; background:#000000; overflow:hidden; border-radius:10px; }
html[data-polished] .case-gallery img { display:block; width:100%; height:auto; }
html[data-polished] .case-next { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:64px; padding-top:28px; border-top:1px solid #ddd; color:#111; text-decoration:none; }
html[data-polished] .case-next span { font:14px "Switzer",sans-serif; }
html[data-polished] .case-next strong { font:500 clamp(24px,4vw,48px) "Switzer",sans-serif; letter-spacing:-.04em; }
html[data-polished] .framer-xm7l80-container { padding:0 !important; background:#fff !important; }
html[data-polished] .framer-xm7l80-container:has(.footer-is-dark) { background:#000000 !important; }
html[data-polished] footer.portfolio-footer { background:#fff !important; color:#111 !important; padding:0 !important; margin:0 !important; width:100% !important; }
html[data-polished] footer.portfolio-footer.footer-is-dark { background:#000000 !important; color:#fff !important; }
html[data-polished] footer.portfolio-footer { --footer-ink:#111; }
html[data-polished] footer.portfolio-footer.footer-is-dark { --footer-ink:#fff; }
html[data-polished] footer.portfolio-footer .framer-2rbnf7,
html[data-polished] footer.portfolio-footer .footer-master-inner,
html[data-polished] footer.portfolio-footer .footer-content,
html[data-polished] footer.portfolio-footer .footer-content div,
html[data-polished] footer.portfolio-footer .footer-navigation,
html[data-polished] footer.portfolio-footer .footer-signature,
html[data-polished] footer.portfolio-footer :is(a,p,h2,span) { color:var(--footer-ink) !important; }
html[data-polished] #main footer.portfolio-footer :is(a,p,h2,span) { color:var(--footer-ink) !important; --framer-text-color:var(--footer-ink) !important; }
html[data-polished] footer.portfolio-footer .framer-2rbnf7 { background:transparent !important; padding:0 !important; width:100% !important; }
html[data-polished] .footer-master-inner { max-width:1400px !important; width:100% !important; margin:auto !important; padding:84px 40px 28px !important; }
.footer-content { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:80px; align-items:start; }
html[data-polished] .footer-invitation { font:500 clamp(34px,4vw,58px)/1.07 "Switzer",sans-serif !important; letter-spacing:-.045em; max-width:650px; text-wrap:balance; margin:0 0 24px !important; color:inherit !important; }
html[data-polished] .footer-contact-link { display:inline-flex; align-items:center; gap:20px; font:400 16px "Switzer",sans-serif !important; text-decoration:underline; text-underline-offset:6px; color:inherit !important; min-height:44px; }
.footer-navigation { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
html[data-polished] .footer-navigation .footer-col-caption { color:inherit !important; opacity:.5; font-size:10px !important; }
html[data-polished] .footer-navigation ul { list-style:none; padding:0; margin:20px 0 0; display:grid; gap:8px; }
html[data-polished] .footer-navigation a { color:inherit !important; font:400 15px/1.5 "Switzer",sans-serif !important; text-decoration:none; display:inline-block; padding:3px 0; }
html[data-polished] .footer-navigation a:hover { text-decoration:underline; text-underline-offset:4px; }
html[data-polished] .footer-signature { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-top:64px; padding-bottom:28px; }
html[data-polished] .footer-giant-brand { font:600 clamp(32px,4vw,56px)/1.1 "Switzer",sans-serif !important; letter-spacing:-.055em !important; color:inherit !important; margin:0 !important; }
html[data-polished] .footer-brand-discipline { font:400 13px/1.5 "Switzer",sans-serif !important; color:inherit !important; opacity:.55; max-width:260px; text-align:right; margin:0 !important; }
html[data-polished] .footer-master-bottom { display:block !important; border-top:1px solid currentColor !important; border-color:color-mix(in srgb,currentColor 15%,transparent) !important; padding:20px 0 0 !important; margin:0 !important; }
html[data-polished] .footer-bottom-copy { color:inherit !important; opacity:.55; font:400 11px/1.6 "Switzer",sans-serif !important; }
@media (max-width:809.98px) {
  html[data-polished] .confirmed-project-grid { grid-template-columns:minmax(0,1fr); gap:36px; }
  html[data-polished] .portfolio-case { padding:100px 24px 96px; }
  html[data-polished] .case-header { padding:32px 0 40px; }
  html[data-polished] .case-gallery { gap:16px; }
  html[data-polished] .case-next { align-items:start; flex-direction:column; gap:12px; margin-top:40px; }
  html[data-polished] nav#framer-nav, html[data-polished] nav#framer-nav .framer-1o0duy { height:64px !important; max-height:64px !important; }
  html[data-polished] nav#framer-nav .framer-nav-right { gap:12px !important; }
  html[data-polished] #Hero { min-height:0 !important; padding:112px 0 64px !important; }
  html[data-polished] #Hero .framer-1qflo23 { padding:0 24px !important; }
  html[data-polished] .intro-cards-dock { display:flex !important; justify-content:center; align-items:center; min-height:240px !important; margin-top:24px !important; }
  html[data-polished] .hero-cards-stage { --hero-card-width:clamp(116px,29vw,172px); display:block !important; width:var(--hero-card-width) !important; height:calc(var(--hero-card-width)*1.55) !important; margin:0 auto 28px !important; will-change:auto; }
  html[data-polished] .hero-card-item { display:block !important; width:var(--hero-card-width) !important; height:calc(var(--hero-card-width)*1.4) !important; left:0 !important; }
  html[data-polished] #hero-card-1 { transform:translate3d(calc(var(--hero-card-width)*-.62),12px,0) rotate(-8deg) !important; }
  html[data-polished] #hero-card-3 { transform:translate3d(calc(var(--hero-card-width)*.62),12px,0) rotate(8deg) !important; }
  html[data-polished] .hero-editorial-header { margin:0 !important; text-align:center !important; }
  html[data-polished] .hero-editorial-title { font-size:clamp(30px,7vw,48px) !important; line-height:1.08 !important; text-align:center !important; }
  html[data-polished] .hero-editorial-manifesto { margin:20px auto 0 !important; font-size:16px !important; text-align:center !important; max-width:440px !important; }
  html[data-polished] #landing-intro-section { padding:48px 0 96px !important; }
  html[data-polished] .intro-container { display:block !important; }
  html[data-polished] .intro-para-lead { font-size:clamp(28px,5.5vw,36px) !important; }
  html[data-polished] .intro-para:not(.intro-para-lead) { font-size:19px !important; line-height:1.5 !important; }
  html[data-polished] #work [data-i18n="services.title"] { font-size:clamp(30px,7.5vw,54px) !important; line-height:1.1 !important; width:100% !important; max-width:100% !important; white-space:normal !important; }
  html[data-polished] #filter-wrapper { display:block !important; padding:0 !important; }
  .mobile-project-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
  html[data-polished] .footer-master-inner { padding:56px 24px 24px !important; }
  .footer-content { grid-template-columns:minmax(0,1fr); gap:40px; }
  html[data-polished] .footer-invitation { font-size:clamp(32px,7.2vw,44px) !important; max-width:420px; }
  .footer-navigation { gap:24px; }
  html[data-polished] .footer-navigation ul { margin-top:14px; gap:9px; }
  html[data-polished] .footer-signature { margin-top:48px; display:block; }
  html[data-polished] .footer-brand-discipline { text-align:left; margin-top:12px !important; }
}
@media (max-width:399px) { .mobile-project-filters { grid-template-columns:minmax(0,1fr); gap:14px; } }
@media (max-height:550px) and (max-width:809.98px) {
  html[data-polished] .mobile-nav-drawer { padding-top:80px !important; padding-bottom:24px !important; }
  html[data-polished] .mobile-nav-drawer-links { gap:6px !important; }
  html[data-polished] .mobile-nav-link { font-size:28px !important; min-height:38px; }
  html[data-polished] .mobile-nav-cta-btn { margin-top:12px !important; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-polished] { scroll-behavior:auto !important; }
  html[data-polished] *, html[data-polished] *::before, html[data-polished] *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

html[data-polished] .standalone-contact { padding:144px 40px 100px !important; box-sizing:border-box; }
html[data-polished] .standalone-contact .contact-container { max-width:1100px !important; width:100% !important; padding:0 !important; margin:auto !important; }
html[data-polished] .standalone-contact .contact-header { margin-bottom:48px !important; }
html[data-polished] .standalone-contact .contact-title { font-family:"Switzer",sans-serif !important; max-width:880px; }
html[data-polished] .standalone-contact .contact-badge,
html[data-polished] .standalone-contact .contact-row-label { color:#666 !important; }
html[data-polished] .standalone-contact .contact-row-icon { color:#777 !important; }
html[data-polished] .standalone-contact .contact-row-item { text-decoration:none; border-bottom:1px solid #ddd !important; }
html[data-polished] #main .standalone-contact .contact-row-value,
html[data-polished] #main .standalone-contact .contact-row-value span { color:#111 !important; }
@media(max-width:809.98px) { html[data-polished] .standalone-contact { padding:112px 24px 64px !important; } }

/* Service taxonomy: typography and underlines, shared across every viewport. */
html[data-polished] #filter-wrapper { padding:0 !important; width:100% !important; margin-bottom:36px !important; }
html[data-polished] #macro-filters,
html[data-polished] #sub-filters { display:flex !important; flex-wrap:wrap; align-items:center; justify-content:flex-start !important; gap:8px 28px !important; padding:0 !important; border:0 !important; margin:0 !important; }
html[data-polished] #sub-filters { margin-top:16px !important; gap:4px 24px !important; }
html[data-polished] #macro-filters::before,
html[data-polished] #sub-filters::before { content:none !important; display:none !important; }
html[data-polished] #sub-filters[hidden] { display:none !important; }
html[data-polished] #filter-wrapper .filter-text-link { appearance:none; display:inline-flex; align-items:center; position:relative; width:auto; min-height:44px; padding:7px 0 !important; margin:0; border:0 !important; border-radius:0 !important; box-shadow:none !important; background:transparent !important; color:#777 !important; font:400 16px/1.4 "Switzer",sans-serif !important; white-space:nowrap; cursor:pointer; }
html[data-polished] #sub-filters .filter-text-link { font-size:14px !important; }
html[data-polished] #filter-wrapper .filter-text-link::after { content:""; position:absolute; left:0; right:0; bottom:6px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
html[data-polished] #filter-wrapper .filter-text-link.active,
html[data-polished] #filter-wrapper .filter-text-link:hover { color:#111 !important; }
html[data-polished] #filter-wrapper .filter-text-link.active::after,
html[data-polished] #filter-wrapper .filter-text-link:hover::after { transform:scaleX(1); }
.filter-short-label { display:none; }
html[data-polished] .project-empty { padding:44px 0 124px; width:100%; }
html[data-polished] .project-empty h2 { font:500 clamp(30px,4vw,48px)/1.1 "Switzer",sans-serif; letter-spacing:-.04em; margin:0 0 20px; }
html[data-polished] .project-empty p { font:18px/1.5 "Switzer",sans-serif; color:#666; max-width:540px; margin:0 0 20px; }
html[data-polished] .project-empty a { color:#111; font:16px "Switzer",sans-serif; display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:6px; }

/* Compact editorial footer: identity, real contacts, one navigation line. */
html[data-polished] .footer-master-inner.footer-editorial { display:block !important; padding:64px 40px 24px !important; }
html[data-polished] .footer-editorial-top { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:48px; align-items:center; }
html[data-polished] .footer-name { display:inline-block; font:600 clamp(52px,6.6vw,100px)/1.05 "Switzer",sans-serif !important; letter-spacing:-.06em; text-decoration:none; white-space:nowrap; }
html[data-polished] .footer-editorial .footer-brand-discipline { text-align:left; max-width:420px; margin:12px 0 0 !important; font-size:14px !important; opacity:.65; }
html[data-polished] .footer-direct { display:flex; flex-direction:column; gap:12px; align-items:flex-start; min-width:0; }
html[data-polished] .footer-caption { font:13px "Switzer",sans-serif; opacity:.6; margin:0 0 4px; }
html[data-polished] .footer-email { font:400 clamp(18px,2vw,28px)/1.3 "Switzer",sans-serif; letter-spacing:-.025em; text-decoration:none; overflow-wrap:anywhere; }
html[data-polished] .footer-phone { font:15px "Switzer",sans-serif; text-decoration:none; min-height:32px; display:inline-flex; align-items:center; opacity:.65; }
html[data-polished] .footer-editorial-links { display:flex; flex-wrap:wrap; gap:20px 40px; align-items:center; margin:40px 0 24px; }
html[data-polished] .footer-index { display:flex; flex-wrap:wrap; gap:8px 28px; margin-right:auto; }
html[data-polished] .footer-editorial-links a { display:inline-flex; align-items:center; min-height:44px; font:14px "Switzer",sans-serif; text-decoration:none; }
html[data-polished] .footer-editorial-links a:hover,
html[data-polished] .footer-direct a:hover { text-decoration:underline; text-underline-offset:6px; }
html[data-polished] .footer-editorial .footer-master-bottom { padding-top:18px !important; }
@media(max-width:809.98px) {
  html[data-polished] #filter-wrapper .filter-text-link { font-size:14px !important; }
  html[data-polished] #sub-filters .filter-text-link { font-size:13px !important; }
  .filter-full-label { display:none; }
  .filter-short-label { display:inline; }
  html[data-polished] .footer-master-inner.footer-editorial { padding:48px 24px 22px !important; }
  html[data-polished] .footer-editorial-top { grid-template-columns:minmax(0,1fr); gap:32px; }
  html[data-polished] .footer-name { font-size:clamp(50px,11.5vw,76px) !important; }
  html[data-polished] .footer-editorial-links { margin-top:28px; gap:12px 28px; }
  html[data-polished] .footer-index { width:100%; gap:0 24px; }
  html[data-polished] .footer-top { margin-left:auto; }
  html[data-polished] .footer-email { font-size:20px; }
}
@media(max-width:599px) {
  html[data-polished] #macro-filters { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; justify-items:start; gap:4px 16px !important; }
  html[data-polished] #sub-filters { gap:0 22px !important; }
}

.mobile-dropdown-filters { display:none; }
html[data-polished] .footer-social { gap:9px; }
html[data-polished] .brand-icon { display:inline-block; width:22px; height:22px; flex:none; fill:currentColor; stroke:none !important; vertical-align:middle; }
html[data-polished] .footer-editorial-links { gap:16px 32px; }
@media(max-width:809.98px) {
  html[data-polished] #macro-filters,
  html[data-polished] #sub-filters { display:none !important; }
  html[data-polished] .mobile-dropdown-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
  html[data-polished] .mobile-dropdown-filters:has(.filter-dropdown-field[hidden]) { grid-template-columns:minmax(0,1fr); }
  .filter-dropdown-field { display:flex; flex-direction:column; gap:9px; min-width:0; }
  .filter-dropdown-field > span { font:12px "Switzer",sans-serif; color:#666; }
  .filter-dropdown-field select { appearance:auto; width:100%; min-width:0; min-height:48px; box-sizing:border-box; padding:11px 12px; border:1px solid #ccc; border-radius:4px; background:#fff; color:#111; font:16px "Switzer",sans-serif; }
}
@media(max-width:399px) { html[data-polished] .mobile-dropdown-filters { grid-template-columns:minmax(0,1fr); } }
@media(min-width:768px) {
  html[data-polished] #Hero { z-index:6 !important; }
  html[data-polished] #landing-intro-section { z-index:5 !important; }
  html[data-polished] .intro-container { display:grid !important; grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr) !important; align-items:center; gap:40px !important; max-width:1400px !important; }
  html[data-polished] .intro-cards-dock { display:block !important; min-height:300px; width:100%; }
  html[data-polished] .hero-cards-stage { will-change:transform; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-polished] .intro-container { display:block !important; max-width:920px !important; }
  html[data-polished] .intro-cards-dock { display:flex !important; justify-content:center; align-items:center; min-height:240px !important; margin-top:24px !important; }
}
html[data-polished] .project-empty { padding:32px 0 76px; }
html.site-fail-open #site-transition { display:none !important; }
html.site-fail-open #main,html.site-fail-open .confirmed-project-card { opacity:1 !important; visibility:visible !important; }
html[data-polished] .intro-para:not(.intro-para-lead) + .intro-para { margin-top:20px !important; }
.custom-filter-select { position:relative; width:100%; min-width:0; }
.custom-select-source { display:none !important; }
html[data-polished] .custom-select-trigger { width:100%; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid #d3d3d3; border-radius:11px; background:#fff; color:#111; font:15px/1.4 "Switzer",sans-serif; cursor:pointer; text-align:left; }
.custom-select-trigger > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.custom-select-chevron { width:7px; height:7px; border-right:1.4px solid currentColor; border-bottom:1.4px solid currentColor; transform:rotate(45deg); margin:0 3px 4px; flex:none; }
.custom-select-trigger[aria-expanded=true] .custom-select-chevron { transform:rotate(225deg); margin-bottom:0; }
.custom-select-list { position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:100; overflow-y:auto; overscroll-behavior:contain; padding:4px; border:1px solid #d3d3d3; border-radius:11px; background:#fff; color:#111; }
.custom-filter-select[data-side=above] .custom-select-list { top:auto; bottom:calc(100% + 6px); }
.custom-select-list [role=option] { padding:9px 10px; min-height:40px; border-radius:7px; box-sizing:border-box; cursor:pointer; font:14px/1.5 "Switzer",sans-serif; }
.custom-select-list [aria-selected=true] { font-weight:600; }
.custom-select-list [role=option]:hover,.custom-select-list .highlighted { background:#f1f1f1; }
@media(max-width:809.98px){
 html[data-polished] .mobile-dropdown-filters { gap:8px; }
 .filter-dropdown-field { gap:5px; }
 .filter-dropdown-field > span { font-size:11px; }
 html[data-polished] #filter-wrapper { margin-bottom:24px !important; }
}

/* Final editorial feedback: quiet language menu, complete icon channels, breathing room. */
html[data-polished] nav#framer-nav #nav-lang-selector .lang-dropdown-menu {
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.7) !important;
}
html[data-polished] nav#framer-nav[data-nav-theme="light"] #nav-lang-selector .lang-dropdown-menu,
html[data-polished] body[data-nav-current="light"] nav#framer-nav #nav-lang-selector .lang-dropdown-menu {
  border: 1px solid rgba(0, 0, 0, 0.16) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12) !important;
}
html[data-polished] nav#framer-nav #nav-lang-selector .lang-option-btn { border-radius:8px !important; text-decoration:none !important; }
html[data-polished] nav#framer-nav #nav-lang-selector .lang-option-btn:hover,
html[data-polished] nav#framer-nav #nav-lang-selector .lang-option-btn:focus-visible { background:color-mix(in srgb,var(--nav-ink) 6%,var(--nav-surface)) !important; text-decoration:none !important; }
html[data-polished] .footer-channels { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
html[data-polished] .footer-channels .footer-social { display:inline-flex !important; justify-content:center; align-items:center; width:44px; height:44px; min-height:44px; }
html[data-polished] .footer-channels svg { display:block; width:22px; height:22px; }
html[data-polished] #main :is(h1,h2,section,div)[tabindex="-1"]:focus { outline:none !important; }
html[data-polished] .portfolio-case { padding-bottom:160px !important; }
@media(max-width:809.98px) { html[data-polished] .portfolio-case { padding-bottom:112px !important; } }


/* Stop-motion space in hero */
.hero-stopmotion-space {
  width: 100% !important;
  max-width: 440px !important;
  min-height: clamp(140px, 20vh, 240px) !important;
  margin: 0 auto 32px auto !important;
  display: block !important;
}

/* Intro photo stack in 'Chi sono' */
.intro-cards-dock {
  position: relative !important;
  width: 100% !important;
  min-height: 400px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  perspective: 1200px;
}
.intro-photo-stack {
  position: relative;
  width: 320px;
  height: 400px;
  margin: 0 auto;
}
.intro-card-item {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 240px !important;
  height: 330px !important;
  border-radius: 12px;
  background: #ffffff;
  padding: 10px 10px 30px 10px;
  box-shadow: 0 16px 36px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.05);
  cursor: pointer;
  transform-origin: center bottom;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), box-shadow 0.35s cubic-bezier(0.16,1,0.3,1);
  will-change: transform;
}
.intro-card-inner {
  width: 100%;
  height: 100%;
  border-radius: 6px;
  overflow: hidden;
  background: #f4f4f4;
}
.intro-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.intro-card-item.card-tilt-left {
  left: 0px;
  top: 18px;
  z-index: 1;
  transform: translate3d(var(--hover-tx, 0px), var(--hover-ty, 0px), 0) rotate(calc(-7deg + var(--hover-ry, 0deg)));
}
.intro-card-item.card-tilt-center {
  left: 40px;
  top: 0px;
  z-index: 2;
  transform: translate3d(var(--hover-tx, 0px), var(--hover-ty, 0px), 0) rotate(calc(-1deg + var(--hover-ry, 0deg)));
}
.intro-card-item.card-tilt-right {
  left: 80px;
  top: 26px;
  z-index: 3;
  transform: translate3d(var(--hover-tx, 0px), var(--hover-ty, 0px), 0) rotate(calc(7deg + var(--hover-ry, 0deg)));
}
.intro-card-item:hover {
  z-index: 10 !important;
  transform: translateY(-12px) rotate(0deg) scale(1.05) !important;
  box-shadow: 0 28px 52px rgba(0,0,0,0.2), 0 0 0 1px rgba(0,0,0,0.06) !important;
}

/* Intro Meta: Clients & Collaborations, Projects */
.intro-meta-block {
  margin-top: 48px;
  padding-top: 36px;
  border-top: 1px solid rgba(0,0,0,0.09);
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}
.intro-meta-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.intro-meta-label {
  font: 600 11px/1.4 'Chivo Mono', monospace !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--cms-muted, #777) !important;
  margin: 0 !important;
}
.intro-clients-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
}
.intro-clients-list li {
  font: 500 15px/1.4 'Switzer', sans-serif !important;
  color: var(--cms-ink, #111) !important;
  letter-spacing: -0.015em;
  padding: 6px 14px;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
}
.intro-project-item {
  font: 500 16px/1.5 'Switzer', sans-serif !important;
  color: var(--cms-ink, #111) !important;
  margin: 0 !important;
  letter-spacing: -0.015em;
}
.intro-project-item span {
  color: var(--cms-muted, #777) !important;
  font-weight: 400;
}

/* Footer legal copy (P.IVA & PEC) */
.footer-legal-copy {
  font: 400 13px/1.6 'Switzer', sans-serif !important;
  color: var(--footer-ink, #777) !important;
  opacity: 0.78;
  letter-spacing: -0.01em;
  margin: 0 0 8px 0 !important;
}
.footer-legal-copy a {
  color: inherit !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Live Photography Carrellata Gallery */
.case-gallery.case-gallery-carrellata {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px 28px;
  align-items: start;
}
.case-gallery-carrellata figure {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #000000;
  box-shadow: 0 16px 40px rgba(0,0,0,0.12);
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s cubic-bezier(0.16,1,0.3,1);
}
.case-gallery-carrellata figure:nth-child(even):not(.figure-wide) {
  margin-top: 54px;
}
.case-gallery-carrellata figure.figure-wide {
  grid-column: 1 / -1;
  margin-top: 24px;
  margin-bottom: 24px;
}
.case-gallery-carrellata figure:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.22);
}
.case-gallery-carrellata img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media (max-width: 809.98px) {
  .case-gallery-carrellata {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .case-gallery-carrellata figure:nth-child(even) {
    margin-top: 0;
  }
}

/* ========================================================
   Caspia-style Background Noise & Pure Black Palette
   Source: https://caspia.framer.media/
   Asset: /assets/textures/noise.png (128px repeat)
   ======================================================== */
.site-noise-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 1000020;
  background-image: url('/assets/textures/noise.png');
  background-repeat: repeat;
  background-size: 128px auto;
  opacity: 0.15;
}

html[data-polished] #projects-archive,
html[data-polished] :is(#work, #landing-contact-section, footer.portfolio-footer.footer-is-dark, .framer-xm7l80-container:has(.footer-is-dark)) {
  background: #000000 !important;
  position: relative;
}

/* Removed redundant secondary noise layer to ensure 100% uniform dark background */

html[data-polished] #work > *,
html[data-polished] footer.portfolio-footer.footer-is-dark > * {
  position: relative;
  z-index: 2;
}

/* ========================================================
   Navbar Background Continuity (Site-wide Pure Black with Caspia Noise)
   ======================================================== */
html body nav#framer-nav,
html[data-polished] body nav#framer-nav,
nav#framer-nav {
  background: #000000 !important;
  color: #ffffff !important;
  position: fixed !important;
  z-index: 1000005 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html body nav#framer-nav::before,
html[data-polished] body nav#framer-nav::before,
nav#framer-nav::before {
  content: none !important;
  display: none !important;
}

html body nav#framer-nav > *,
html[data-polished] body nav#framer-nav > *,
nav#framer-nav > * {
  position: relative;
  z-index: 2;
}

html body nav#framer-nav :is(a, p, span, .framer-text) {
  color: #ffffff !important;
  --framer-text-color: #ffffff !important;
}

html body nav#framer-nav .lang-selector-btn :is(span, svg, path) {
  color: #ffffff !important;
  --framer-text-color: #ffffff !important;
}

html body nav#framer-nav .framer-hbfahp a,
html[data-polished] nav#framer-nav .framer-hbfahp a {
  background: #ffffff !important;
  color: #000000 !important;
  border-radius: 999px !important;
  font-weight: 500 !important;
}

html body nav#framer-nav .framer-8lzgbl a::after,
html body nav#framer-nav .mobile-hamburger-bar {
  background-color: #ffffff !important;
}



/* ========================================================
   Authentic Polaroid Instant Film Scrapbook Styling
   ======================================================== */
.polaroid-stack {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.hero-polaroid-stack {
  height: 250px;
  max-width: 480px;
  margin: 0 auto;
}

.intro-polaroid-stack {
  height: 330px;
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
}

.polaroid-card {
  position: absolute;
  background: #fbfbf9;
  padding: 10px 10px 32px 10px;
  border-radius: 2px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.7), 0 3px 8px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transform-origin: center center;
  transition: transform 0.38s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.38s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: transform;
}

.hero-polaroid-stack .polaroid-card {
  width: 175px;
}

.intro-polaroid-stack .polaroid-card {
  width: 200px;
}

.polaroid-card.card-tilt-left {
  transform: translate3d(-124px, 6px, 0) rotate(-7deg);
  z-index: 1;
}

.polaroid-card.card-tilt-center {
  transform: translate3d(0, -6px, 0) rotate(1.5deg);
  z-index: 3;
}

.polaroid-card.card-tilt-right {
  transform: translate3d(124px, 8px, 0) rotate(7deg);
  z-index: 2;
}

.polaroid-card:hover {
  transform: translate3d(var(--hover-x, 0), -14px, 0) rotate(0deg) scale(1.06) !important;
  box-shadow: 0 30px 65px rgba(0, 0, 0, 0.9), 0 6px 16px rgba(0, 0, 0, 0.6) !important;
  z-index: 12 !important;
}
.polaroid-card.card-tilt-left:hover { --hover-x: -124px; }
.polaroid-card.card-tilt-right:hover { --hover-x: 124px; }

.polaroid-photo-frame {
  width: 100%;
  aspect-ratio: 1 / 1.15;
  overflow: hidden;
  background: #121212;
  border-radius: 1px;
}

.polaroid-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  filter: contrast(1.05) brightness(0.97) saturate(0.94);
  transition: transform 0.4s ease;
}

.polaroid-card:hover .polaroid-img {
  transform: scale(1.03);
}

.polaroid-caption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
  padding: 0 4px;
  font-family: "Chivo Mono", monospace;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #2b2b2b;
}

.polaroid-caption-stamp {
  font-size: 9px;
  opacity: 0.65;
  border: 1px solid #777;
  padding: 1px 4px;
  border-radius: 2px;
  text-transform: uppercase;
}

.polaroid-tape {
  position: absolute;
  width: 58px;
  height: 20px;
  background: rgba(246, 236, 180, 0.76);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(1px);
  pointer-events: none;
  z-index: 6;
  clip-path: polygon(2% 0%, 98% 3%, 100% 97%, 0% 96%);
}

.polaroid-tape.tape-tl {
  top: -8px;
  left: -10px;
  transform: rotate(-28deg);
}

.polaroid-tape.tape-tr {
  top: -8px;
  right: -10px;
  transform: rotate(26deg);
}

.polaroid-tape.tape-center {
  top: -9px;
  left: 50%;
  transform: translateX(-50%) rotate(-2deg);
}

/* ========================================================
   Framer-style 3D Logo Spin Component (Ahmet Loca style)
   ======================================================== */
.framer-collabs-section {
  background: #000000 !important;
  position: relative;
  padding: 104px 0 118px;
  overflow: hidden;
  width: 100%;
}

.collabs-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 clamp(24px, 3.5vw, 48px);
  text-align: center;
}

.collabs-header {
  margin-bottom: 56px;
}

.collabs-badge {
  font-family: "Chivo Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  color: #888888 !important;
  text-transform: uppercase;
  margin: 0 0 14px 0 !important;
}

.collabs-title {
  font-family: "Switzer", sans-serif !important;
  font-size: clamp(26px, 3.2vw, 44px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.04em !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-wrap: balance;
}

.logo-spin-stage {
  perspective: 1100px;
  perspective-origin: 50% 50%;
  width: 100%;
  height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: visible;
}

.logo-spin-ring {
  position: relative;
  width: 220px;
  height: 64px;
  transform-style: preserve-3d;
  transform: rotateX(-5deg);
  animation: logoOrbitSpin 26s linear infinite;
  will-change: transform;
}

.logo-spin-ring:hover {
  animation-play-state: paused;
}

@keyframes logoOrbitSpin {
  from {
    transform: rotateX(-5deg) rotateY(0deg);
  }
  to {
    transform: rotateX(-5deg) rotateY(360deg);
  }
}

.spin-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: rotateY(calc(var(--item-index) * 22.5deg)) translateZ(clamp(320px, 38vw, 500px));
}

.spin-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 26px;
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  color: #ffffff;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.25s ease;
  user-select: none;
}

.spin-pill:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 14px 40px rgba(255, 255, 255, 0.15), 0 0 20px rgba(255, 255, 255, 0.1);
  transform: scale(1.08);
}

.spin-pill-name {
  font-family: "Switzer", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.spin-pill-sub {
  font-family: "Chivo Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  opacity: 0.6;
  text-transform: uppercase;
  border-left: 1px solid rgba(255, 255, 255, 0.25);
  padding-left: 8px;
}

/* All dark surface navigation & curves */
html[data-polished] #projects-archive,
html[data-polished] :is(#Hero, #landing-intro-section, .framer-collabs-section, #work) {
  background: #000000 !important;
}

@media (max-width: 809.98px) {
  .hero-polaroid-stack {
    height: 190px;
  }
  .hero-polaroid-stack .polaroid-card {
    width: 122px;
    padding: 7px 7px 22px 7px;
  }
  .hero-polaroid-stack .polaroid-card.card-tilt-left {
    transform: translate3d(-64px, 4px, 0) rotate(-7deg);
  }
  .hero-polaroid-stack .polaroid-card.card-tilt-right {
    transform: translate3d(64px, 6px, 0) rotate(7deg);
  }
  .intro-container {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .intro-cards-dock {
    display: flex !important;
    min-height: 220px !important;
    margin-top: 16px !important;
  }
  .intro-polaroid-stack .polaroid-card {
    width: 135px;
    padding: 8px 8px 24px 8px;
  }
  .intro-polaroid-stack .polaroid-card.card-tilt-left {
    transform: translate3d(-70px, 4px, 0) rotate(-6deg);
  }
  .intro-polaroid-stack .polaroid-card.card-tilt-right {
    transform: translate3d(70px, 6px, 0) rotate(6deg);
  }
  .logo-spin-stage {
    height: 180px;
  }
  .spin-pill {
    padding: 10px 20px;
  }
  .spin-pill-name {
    font-size: 14px;
  }
}


/* Conflicting dark footer removed; white footer active */

/* Comprehensive Dark theme for all pages & layouts */
html[data-polished] #projects-archive,
html[data-polished] :is(
  .framer-KMCPC,
  .framer-16lz82l,
  .framer-4yB5F,
  .framer-4CfjM:not(footer):not(.portfolio-footer),
  .framer-HJeDN,
  .portfolio-projects-main,
  .projects-page-wrapper,
  .portfolio-case,
  .standalone-contact,
  .editorial-about-hero
) {
  background: #000000 !important;
  color: #ffffff !important;
}

html[data-polished] #projects-archive,
html[data-polished] :is(.projects-main-title, .case-header h1, .contact-title) {
  color: #ffffff !important;
}

html[data-polished] #projects-archive,
html[data-polished] :is(.projects-main-desc, .case-header p, .case-eyebrow, .projects-archive-meta) {
  color: #a0a0a0 !important;
}

html[data-polished] .filter-tab-btn {
  color: #777777 !important;
}
html[data-polished] .filter-tab-btn.active {
  color: #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
}

html[data-polished] .confirmed-project-card .project-image {
  background: #0c0c0c !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
}


/* Projects page dark mode overrides */
html[data-polished] #projects-archive,
html[data-polished] :is(
  .framer-yxq2ou,
  .framer-jc58y2,
  .framer-EPfCM,
  .framer-BP380,
  .framer-caBtu,
  .framer-1x49ukc,
  .projects-editorial-header,
  #filter-wrapper
) {
  background-color: #000000 !important;
  color: #ffffff !important;
}

html[data-polished] .projects-main-title {
  color: #ffffff !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
}

html[data-polished] .projects-meta-bar span {
  color: #888888 !important;
  font-family: "Chivo Mono", monospace !important;
}

html[data-polished] .projects-description {
  color: #a0a0a0 !important;
  font-family: "Switzer", sans-serif !important;
}

html[data-polished] .filter-macro-btn .tab-label {
  color: #777777 !important;
  font-family: "Chivo Mono", monospace !important;
}

html[data-polished] .filter-macro-btn.active .tab-label {
  color: #ffffff !important;
}

html[data-polished] .filter-tab-btn {
  background: transparent !important;
  border-bottom: 2px solid transparent !important;
}

html[data-polished] .filter-tab-btn.active {
  border-bottom: 2px solid #ffffff !important;
}

html[data-polished] .filter-sub-btn {
  color: #777777 !important;
}

html[data-polished] .filter-sub-btn.active {
  color: #ffffff !important;
}

html[data-polished] .confirmed-project-card .project-caption h2 {
  color: #ffffff !important;
}

html[data-polished] .confirmed-project-card .project-caption span {
  color: #ffffff !important;
}

html[data-polished] .confirmed-project-card p {
  color: #999999 !important;
}


/* ========================================================
   CHI SONO: Scrapbook Photo Dock on LEFT, Text on RIGHT
   Reference: media_1793772394751_99a6a8fc.png
   ======================================================== */
html[data-polished] #landing-intro-section {
  background: #000000 !important;
  padding: 120px 0 140px !important;
  position: relative;
  overflow: hidden;
}

html[data-polished] .intro-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr) !important;
  gap: clamp(40px, 6vw, 92px) !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  align-items: center !important;
  padding: 0 clamp(24px, 4vw, 64px) !important;
}

.intro-cards-dock {
  display: flex !important;
  justify-content: center;
  align-items: center;
  position: relative;
  min-height: 400px;
  width: 100%;
}

.polaroid-scrapbook-stage {
  position: relative;
  width: 100%;
  max-width: 440px;
  height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Graphic Doodles / Starbursts inspired by reference */
.scrapbook-starburst {
  position: absolute;
  color: #ffffff;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  line-height: 1;
}

.scrapbook-starburst.starburst-1 {
  top: 10px;
  left: 10px;
  font-size: 28px;
  opacity: 0.25;
  transform: rotate(15deg);
}

.scrapbook-starburst.starburst-2 {
  bottom: 24px;
  right: 18px;
  font-size: 24px;
  opacity: 0.2;
  transform: rotate(-20deg);
}

.intro-polaroid-stack {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Card hierarchy in stack */
.intro-polaroid-stack .card-main {
  width: 215px;
  transform: translate3d(-20px, 0, 0) rotate(-4deg);
  z-index: 3;
}

.intro-polaroid-stack .card-sub {
  width: 185px;
  transform: translate3d(75px, -18px, 0) rotate(7deg);
  z-index: 2;
}

.intro-polaroid-stack .card-accent {
  width: 175px;
  transform: translate3d(-90px, 32px, 0) rotate(-9deg);
  z-index: 1;
}

/* Hover physics */
.intro-polaroid-stack .polaroid-card:hover {
  transform: translate3d(var(--hover-x, 0), -16px, 0) rotate(0deg) scale(1.08) !important;
  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.95), 0 8px 18px rgba(0, 0, 0, 0.7) !important;
  z-index: 15 !important;
}
.intro-polaroid-stack .card-main:hover { --hover-x: -20px; }
.intro-polaroid-stack .card-sub:hover { --hover-x: 75px; }
.intro-polaroid-stack .card-accent:hover { --hover-x: -90px; }

/* Tape variations */
.polaroid-tape.tape-br {
  bottom: -8px;
  right: -10px;
  transform: rotate(-32deg);
}

.polaroid-tape.tape-top {
  top: -8px;
  left: 50%;
  transform: translateX(-50%) rotate(2deg);
}

/* ========================================================
   COLLABORATIONS: Framer Marquee Mode (No Pills, Pure Type)
   Bespoke typographic identity for each artist / partner
   ======================================================== */
.framer-collabs-section {
  background: #000000 !important;
  padding: 80px 0 100px !important;
  position: relative;
  overflow: hidden;
  width: 100%;
}

.collabs-container {
  max-width: 1360px;
  margin: 0 auto 44px;
  padding: 0 clamp(24px, 4vw, 64px);
  text-align: left;
}

.collabs-badge {
  font-family: "Chivo Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  color: #777777 !important;
  text-transform: uppercase;
  margin: 0 0 12px 0 !important;
}

.collabs-title {
  font-family: "Switzer", sans-serif !important;
  font-size: clamp(24px, 2.8vw, 38px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.04em !important;
  color: #ffffff !important;
  margin: 0 !important;
}

.collabs-marquee-wrapper {
  width: 100vw;
  overflow: hidden;
  position: relative;
  padding: 24px 0;
  display: flex;
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

.collabs-marquee-track {
  display: flex;
  align-items: center;
  gap: clamp(32px, 4vw, 64px);
  width: max-content;
  animation: marqueeContinuous 30s linear infinite;
  will-change: transform;
}

.collabs-marquee-track:hover {
  animation-play-state: paused;
}

@keyframes marqueeContinuous {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

.marquee-sep {
  color: #444444;
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1;
  user-select: none;
  opacity: 0.6;
}

.client-name {
  color: #ffffff;
  white-space: nowrap;
  line-height: 1;
  transition: transform 0.22s ease, opacity 0.22s ease, color 0.22s ease;
  cursor: default;
  user-select: none;
}

.client-name:hover {
  transform: scale(1.06);
  color: #f5f5f5;
  text-shadow: 0 0 24px rgba(255, 255, 255, 0.4);
}

/* All clients use the exact same uniform font & styling */
.client-name {
  font-family: "Switzer", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(28px, 3.6vw, 44px) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -0.035em !important;
  text-transform: none !important;
}

/* ========================================================
   UNIFIED PURE WHITE FOOTER AND CURVE (100% IDENTICAL BG & NOISE)
   ======================================================== */
html[data-polished] #main .framer-xm7l80-container,
html[data-polished] .framer-xm7l80-container,
.framer-xm7l80-container {
  background: #ffffff !important;
  position: relative !important;
  z-index: 20 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

html[data-polished] #main footer#contact.portfolio-footer,
html[data-polished] footer#contact.portfolio-footer,
html[data-polished] footer.portfolio-footer,
footer.portfolio-footer {
  background: #ffffff !important;
  color: #111111 !important;
  --footer-ink: #111111 !important;
  position: relative !important;
  z-index: 20 !important;
  width: 100% !important;
}

/* Remove separate footer::before noise; global .site-noise-overlay covers curve and footer identically */
html[data-polished] footer.portfolio-footer::before,
footer.portfolio-footer::before {
  content: none !important;
  display: none !important;
}

html[data-polished] footer.portfolio-footer > * {
  position: relative;
  z-index: 2;
}

html[data-polished] footer.portfolio-footer .framer-2rbnf7 {
  background: transparent !important;
  color: #111111 !important;
}

html[data-polished] footer.portfolio-footer :is(.footer-name, .footer-giant-brand, .footer-invitation, .footer-email, .footer-phone, .footer-index a, .footer-social, .footer-editorial-links a) {
  color: #111111 !important;
}

html[data-polished] footer.portfolio-footer :is(.footer-caption, .footer-brand-discipline, .footer-legal-copy, .footer-bottom-copy) {
  color: #555555 !important;
}

html[data-polished] footer.portfolio-footer .footer-legal-copy a {
  color: #111111 !important;
  text-decoration: underline;
}

html[data-polished] footer.portfolio-footer .footer-master-bottom {
  border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
}

/* Curve scoop seamlessly into white footer with identical pure #ffffff base */
html[data-polished] .section-curve[data-footer-curve] {
  position: relative !important;
  z-index: 20 !important;
  color: #ffffff !important;
}
html[data-polished] .section-curve[data-footer-curve] svg path {
  fill: #ffffff !important;
}

/* Mobile adjustments */
@media (max-width: 809.98px) {
  html[data-polished] .intro-container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .intro-cards-dock {
    min-height: 280px !important;
  }
  .polaroid-scrapbook-stage {
    height: 280px !important;
    max-width: 320px !important;
  }
  .intro-polaroid-stack .card-main {
    width: 155px !important;
    transform: translate3d(-15px, 0, 0) rotate(-4deg) !important;
  }
  .intro-polaroid-stack .card-sub {
    width: 135px !important;
    transform: translate3d(55px, -12px, 0) rotate(7deg) !important;
  }
  .intro-polaroid-stack .card-accent {
    width: 125px !important;
    transform: translate3d(-65px, 24px, 0) rotate(-9deg) !important;
  }
}


html[data-polished] .skip-link:not(:focus-visible) {
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  transform: none !important;
}
html[data-polished] .skip-link:focus-visible {
  position: fixed !important;
  top: 12px !important;
  left: 24px !important;
  z-index: 1000010 !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
}



/* ========================================================
   Chi Sono Scrapbook Layout (Reference Style)
   ======================================================== */
.intro-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.25fr) !important;
  gap: clamp(36px, 5.5vw, 80px) !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  align-items: center !important;
  padding: 0 clamp(24px, 4vw, 56px) !important;
}

.polaroid-scrapbook-stage {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.intro-polaroid-stack {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.intro-polaroid-stack .card-main {
  width: 230px !important;
  transform: translate3d(-10px, 6px, 0) rotate(-3.5deg) !important;
  z-index: 4 !important;
}

.intro-polaroid-stack .card-sub {
  width: 195px !important;
  transform: translate3d(85px, -28px, 0) rotate(8.5deg) !important;
  z-index: 2 !important;
}

.intro-polaroid-stack .card-accent {
  width: 185px !important;
  transform: translate3d(-95px, 28px, 0) rotate(-11deg) !important;
  z-index: 3 !important;
}

.intro-polaroid-stack .card-main:hover {
  transform: translate3d(-10px, -12px, 0) rotate(0deg) scale(1.06) !important;
  z-index: 10 !important;
}
.intro-polaroid-stack .card-sub:hover {
  transform: translate3d(85px, -36px, 0) rotate(0deg) scale(1.06) !important;
  z-index: 10 !important;
}
.intro-polaroid-stack .card-accent:hover {
  transform: translate3d(-95px, 16px, 0) rotate(0deg) scale(1.06) !important;
  z-index: 10 !important;
}

/* Scrapbook decorative stickers */
.scrapbook-about-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 28px;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.8), -1px -1px 0px #333;
  transform: rotate(-12deg);
  z-index: 6;
  pointer-events: none;
  user-select: none;
}

.scrapbook-about-tag::after {
  content: "✦";
  font-size: 16px;
  margin-left: 6px;
  color: #f6ecb4;
  vertical-align: super;
}

.scrapbook-badge-age {
  position: absolute;
  bottom: 18px;
  left: 20px;
  font-family: Impact, "Arial Black", sans-serif;
  font-size: 32px;
  color: #ffffff;
  transform: rotate(-6deg);
  text-shadow: 2px 2px 0 #000;
  z-index: 6;
  pointer-events: none;
}

.scrapbook-starburst {
  position: absolute;
  color: #ffffff;
  font-size: 26px;
  pointer-events: none;
  user-select: none;
  z-index: 5;
  opacity: 0.85;
}
.scrapbook-starburst.starburst-1 {
  top: 24px;
  right: 28px;
  transform: rotate(18deg) scale(1.2);
}
.scrapbook-starburst.starburst-2 {
  bottom: 30px;
  right: 22px;
  transform: rotate(-22deg) scale(1.1);
}
.scrapbook-starburst.starburst-3 {
  bottom: 80px;
  left: 10px;
  transform: rotate(12deg) scale(0.9);
}

/* Framing brackets and typography for right column */
.intro-text-col {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.intro-bracket-frame {
  position: relative;
  padding: 10px 0;
}

.bracket-tl {
  display: inline-block;
  font-size: 28px;
  line-height: 1;
  color: #ffffff;
  opacity: 0.6;
  font-family: monospace;
  margin-bottom: 6px;
}

.bracket-br {
  display: inline-block;
  font-size: 28px;
  line-height: 1;
  color: #ffffff;
  opacity: 0.6;
  font-family: monospace;
  margin-left: auto;
}

.intro-para-lead {
  font-family: "Switzer", sans-serif !important;
  font-size: clamp(34px, 3.8vw, 56px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  color: #ffffff !important;
  line-height: 1.08 !important;
  margin: 0 0 12px 0 !important;
  text-transform: uppercase;
}

.intro-role-tag {
  font-family: "Chivo Mono", monospace !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  color: #a0a0a0 !important;
  margin: 0 0 24px 0 !important;
}

.intro-para {
  font-family: "Switzer", sans-serif !important;
  font-size: clamp(16px, 1.3vw, 18.5px) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #cccccc !important;
  margin: 0 0 16px 0 !important;
}

.intro-para strong {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.intro-contact-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 14px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.intro-capsule-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  color: #ffffff !important;
  font-family: "Chivo Mono", monospace;
  font-size: 12px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.intro-capsule-pill:hover {
  background: #ffffff;
  color: #000000 !important;
  border-color: #ffffff;
  transform: translateY(-2px);
}

.intro-capsule-sep {
  color: #777777;
  font-size: 11px;
}

/* ==========================================================================
   USER REVISION: POLAROID CLEANUP, HIGH-CONTRAST FILTERS, DIRECT PHOTOGRAPHY,
   AND SCRAPBOOK EXACT REFERENCE MATCH (2026-11-04)
   ========================================================================== */

/* 1. Remove photo caption bannerino and photo overlay effects */
.polaroid-caption {
  display: none !important;
}

.polaroid-img {
  filter: none !important;
  mix-blend-mode: normal !important;
  object-fit: cover !important;
  border-radius: 1px !important;
}

.polaroid-card {
  background: #ffffff !important;
  padding: 12px 12px 42px 12px !important;
  border-radius: 3px !important;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.75), 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

/* Single Polaroid in Chi Sono (Scrapbook Stage) */
.single-about-polaroid {
  position: relative !important;
  width: 280px !important;
  transform: rotate(-4deg) !important;
  margin: 32px auto !important;
  z-index: 4 !important;
  cursor: pointer !important;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease !important;
}

.single-about-polaroid:hover {
  transform: rotate(0deg) scale(1.04) !important;
  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.95), 0 8px 18px rgba(0, 0, 0, 0.7) !important;
  z-index: 10 !important;
}

.polaroid-chin-labels {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  margin-top: 10px !important;
  padding: 0 4px !important;
  user-select: none !important;
}

.polaroid-chin-age {
  font-family: Impact, "Arial Black", sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  color: #111111 !important;
  line-height: 1 !important;
}

.polaroid-chin-role {
  font-family: "Chivo Mono", monospace !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: #333333 !important;
  text-transform: uppercase !important;
}

/* Stickers around single polaroid */
.scrapbook-pink-sticker {
  position: absolute;
  top: 24px;
  right: 28px;
  font-family: "Switzer", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: #ffffff;
  background: #ff2d87;
  border: 2px solid #ffffff;
  padding: 4px 10px;
  border-radius: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
  transform: rotate(14deg);
  z-index: 6;
  pointer-events: none;
}

.scrapbook-blue-sticker {
  position: absolute;
  bottom: 24px;
  left: 20px;
  font-family: "Switzer", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 900;
  font-size: 16px;
  letter-spacing: 0.04em;
  color: #ffffff;
  background: #0055ff;
  border: 2px solid #ffffff;
  padding: 5px 12px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  transform: rotate(-10deg);
  z-index: 6;
  pointer-events: none;
}

.intro-bracket-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.intro-badge-accent {
  font-family: "Chivo Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: #e5b328;
  background: rgba(229, 179, 40, 0.12);
  border: 1px solid rgba(229, 179, 40, 0.35);
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
}

.intro-bracket-bottom {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

/* 2. MOBILE RULE: CHI SONO ONLY TEXT, NO IMAGE */
@media (max-width: 809.98px) {
  html[data-polished] #landing-intro-section .intro-cards-dock {
    display: none !important;
  }
  html[data-polished] #landing-intro-section .intro-container {
    grid-template-columns: 1fr !important;
    display: block !important;
    padding: 0 20px !important;
  }
}

/* 3. HIGH CONTRAST PROJECT FILTERS */
html[data-polished] #filter-wrapper {
  margin: 24px 0 36px 0 !important;
  display: block !important;
}

html[data-polished] #macro-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px 14px !important;
  padding: 0 !important;
  border: none !important;
  margin: 0 0 24px 0 !important;
}

html[data-polished] #sub-filters {
  display: none !important;
}

html[data-polished] .filter-tab-btn,
html[data-polished] #macro-filters .filter-macro-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 10px 22px !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  color: #e8e8e8 !important;
  font-family: "Switzer", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.22s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  outline: none !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

html[data-polished] .filter-tab-btn:hover,
html[data-polished] #macro-filters .filter-macro-btn:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

html[data-polished] .filter-tab-btn.active,
html[data-polished] #macro-filters .filter-macro-btn.active {
  background: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1px) !important;
}

html[data-polished] .filter-tab-btn.active .tab-label {
  color: #000000 !important;
}

/* 4. DIRECT PHOTOGRAPHY CARDS */
html[data-polished] .photo-direct-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  background: #0d0d0d !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease !important;
}

html[data-polished] .photo-direct-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.7) !important;
}

html[data-polished] .photo-direct-card .project-image {
  width: 100% !important;
  aspect-ratio: 1 / 1.15 !important;
  overflow: hidden !important;
  background: #111111 !important;
}

html[data-polished] .photo-direct-card .project-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

html[data-polished] .photo-direct-card:hover .project-image img {
  transform: scale(1.05) !important;
}

/* 5. HIGH-CONTRAST HEADINGS & SUBHEADINGS ON DARK */
html[data-polished] .projects-main-title {
  color: #ffffff !important;
  font-size: clamp(42px, 5.5vw, 76px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.05 !important;
}

html[data-polished] .projects-description {
  color: #dcdcdc !important;
  font-size: clamp(16px, 1.3vw, 20px) !important;
  line-height: 1.5 !important;
  max-width: 680px !important;
}

html[data-polished] .project-caption h2 {
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

html[data-polished] .confirmed-project-card p {
  color: #cccccc !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html[data-polished] .hero-editorial-title {
  color: #ffffff !important;
  font-weight: 800 !important;
}

html[data-polished] .hero-editorial-manifesto {
  color: #e0e0e0 !important;
}

/* HIGH SPECIFICITY FILTER PILLS OVERRIDE */
html[data-polished] #filter-wrapper .filter-text-link,
html[data-polished] .filter-tab-btn,
html[data-polished] #macro-filters button,
html body #filter-wrapper .filter-text-link {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 8px 22px !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #f0f0f0 !important;
  font-family: "Switzer", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.22s ease !important;
  outline: none !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  margin: 0 !important;
}

html[data-polished] #filter-wrapper .filter-text-link::after,
html[data-polished] .filter-tab-btn::after,
html body #filter-wrapper .filter-text-link::after {
  display: none !important;
  content: none !important;
}

html[data-polished] #filter-wrapper .filter-text-link:hover,
html[data-polished] .filter-tab-btn:hover,
html[data-polished] #macro-filters button:hover,
html body #filter-wrapper .filter-text-link:hover {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

html[data-polished] #filter-wrapper .filter-text-link.active,
html[data-polished] .filter-tab-btn.active,
html[data-polished] #macro-filters button.active,
html body #filter-wrapper .filter-text-link.active {
  background: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 16px rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-1px) !important;
}

html[data-polished] #filter-wrapper .filter-text-link.active .filter-full-label,
html[data-polished] #filter-wrapper .filter-text-link.active .tab-label,
html body #filter-wrapper .filter-text-link.active .filter-full-label {
  color: #000000 !important;
}

/* Chi Sono single row contact pills */
html[data-polished] .intro-contact-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px 14px !important;
  margin-top: 28px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

html[data-polished] .intro-capsule-pill {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

@media (max-width: 809.98px) {
  html[data-polished] .intro-contact-row {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
}


/* Final client annotations */
@media(min-width:810px){
 html[data-polished] #Hero .framer-iykt1c{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important;gap:5vw!important;max-width:1200px!important;margin:auto!important;padding:40px!important}
 html[data-polished] .hero-editorial-header{grid-column:1;grid-row:1;text-align:left!important;margin:0!important;max-width:620px!important}
 html[data-polished] .hero-editorial-title{text-align:left!important}
 html[data-polished] .hero-editorial-manifesto{margin:22px 0 0!important;text-align:left!important}
 html[data-polished] .hero-stopmotion-space{grid-column:2;grid-row:1;min-height:440px!important;display:grid;place-items:center}
}
html[data-polished] .polaroid-tape{display:none!important}
html[data-polished] .intro-contact-row{display:none!important}
html[data-polished] .intro-char-reveal{display:grid!important;gap:16px}
html[data-polished] .collabs-container{padding-top:100px!important;padding-bottom:64px!important}
html[data-polished] .collabs-marquee-track{gap:clamp(56px,9vw,140px)!important}
html[data-polished] .marquee-sep{display:none!important}
html[data-polished] .footer-master-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap}
html[data-polished] .footer-legal-copy,html[data-polished] .footer-bottom-copy{margin:0!important}
html[data-polished] .footer-phone{display:none!important}
html[data-polished] .service-exact-row{border-bottom:1px solid rgba(255,255,255,.28)!important;transition:border-color .2s ease!important}
html[data-polished] .service-exact-row:hover{border-bottom-color:rgba(255,255,255,.65)!important}
/* filter-macro order preserved */
html[data-polished] .confirmed-project-grid .project-image{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-polished] .confirmed-project-grid .project-image img{border-radius:0!important}
html[data-polished] .projects-main-title { color:#ffffff!important; } html[data-polished] .projects-description { color:#b8b8b8!important; }
html[data-polished] .confirmed-project-grid{margin-bottom:96px!important}
html[data-polished] .case-next{display:none!important}
html[data-polished] .case-back:hover{color:#111!important;opacity:.65}
@media(max-width:809.98px){html[data-polished] .hero-stopmotion-space{display:none!important}html[data-polished] .intro-cards-dock:hover .single-about-polaroid{transform:rotate(-4deg)!important}}
@media(prefers-reduced-motion:no-preference) and (hover:hover){html[data-polished] .single-about-polaroid{transition:transform .25s ease!important}html[data-polished] .single-about-polaroid:hover{transform:rotate(-2deg) scale(1.025)!important}}

/* 2026-11-07 final client review overrides */
@media(min-width:810px){
 html[data-polished] #Hero .framer-iykt1c{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:center!important;gap:4vw!important;max-width:1220px!important;margin:auto!important;padding:48px!important}
 html[data-polished] #Hero .hero-editorial-header{grid-column:1!important;grid-row:1!important;order:0!important;text-align:left!important;max-width:590px!important;margin:0!important}
 html[data-polished] #Hero .hero-editorial-title{text-align:left!important}
 html[data-polished] #Hero .hero-editorial-manifesto{margin:22px 0 0!important;text-align:left!important}
 html[data-polished] #Hero .hero-stopmotion-space{grid-column:2!important;grid-row:1!important;order:0!important;min-height:420px!important;display:grid!important;place-items:center!important}
 html[data-polished] #Hero .hero-polaroid-stack{position:relative!important;inset:auto!important;margin:auto!important;transform:scale(.9)!important}
}
html[data-polished] .polaroid-tape{display:none!important}
html[data-polished] .intro-contact-row{display:none!important}
html[data-polished] .collabs-header .collabs-badge{display:none!important}
html[data-polished] .collabs-container{padding-block:96px 64px!important}
html[data-polished] .collabs-marquee-track{gap:clamp(64px,10vw,150px)!important}
html[data-polished] .marquee-sep{display:none!important}
html[data-polished] .footer-master-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px 24px!important;flex-wrap:wrap!important}
html[data-polished] .footer-legal-copy,html[data-polished] .footer-bottom-copy{margin:0!important}
html[data-polished] .footer-phone{display:none!important}
/* filter-macro order preserved */
html[data-polished] .filter-tab-btn{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-transform:none!important;padding-inline:0!important}
html[data-polished] .confirmed-project-grid .project-image{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-polished] .confirmed-project-grid .project-image img{border-radius:0!important}
html[data-polished] .confirmed-project-grid{margin-bottom:100px!important}
html[data-polished] .case-next{display:none!important}
html[data-polished] .case-back:hover{color:#111!important;opacity:.65}
@media(max-width:809.98px){html[data-polished] #Hero .hero-stopmotion-space{display:none!important}html[data-polished] .intro-cards-dock:hover .single-about-polaroid{transform:rotate(-4deg)!important}}

/* Match the supplied About reference: clean two-column portfolio panel */
html[data-polished] #landing-intro-section{padding:120px 0!important;background-color:#080808!important;background-image:url('/assets/textures/noise-dark-specks.png')!important;color:#f5f5f5!important}
html[data-polished] #landing-intro-section .intro-container{display:grid!important;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr)!important;gap:clamp(36px,7vw,96px)!important;align-items:center!important;max-width:1240px!important;padding:0 48px!important}
html[data-polished] #landing-intro-section .intro-cards-dock{display:flex!important;align-items:center!important;justify-content:center!important;min-height:0!important;height:auto!important;margin:0!important}
html[data-polished] #landing-intro-section .polaroid-scrapbook-stage{position:relative!important;inset:auto!important;width:min(100%,390px)!important;height:auto!important;min-height:0!important;margin:0!important;display:flex!important;justify-content:center!important;align-items:center!important}
html[data-polished] #landing-intro-section .single-about-polaroid{position:relative!important;left:auto!important;top:auto!important;width:min(100%,330px)!important;margin:0!important;transform:rotate(-3deg)!important}
html[data-polished] #landing-intro-section .polaroid-card{padding:10px 10px 12px!important;background:#f2f1ee!important;border-radius:2px!important;box-shadow:0 18px 50px rgba(0,0,0,.38)!important}
html[data-polished] #landing-intro-section .polaroid-tape,html[data-polished] #landing-intro-section .scrapbook-pink-sticker,html[data-polished] #landing-intro-section .scrapbook-blue-sticker,html[data-polished] #landing-intro-section .scrapbook-starburst,html[data-polished] #landing-intro-section .scrapbook-about-tag,html[data-polished] #landing-intro-section .polaroid-chin-labels,html[data-polished] #landing-intro-section .intro-bracket-header,html[data-polished] #landing-intro-section .intro-bracket-bottom,html[data-polished] #landing-intro-section .intro-role-tag,html[data-polished] #landing-intro-section .intro-contact-row{display:none!important}
html[data-polished] #landing-intro-section .intro-text-col{width:100%!important;max-width:680px!important}
html[data-polished] #landing-intro-section .intro-bracket-frame{border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}
html[data-polished] #landing-intro-section .intro-para-lead{display:block!important;margin:0 0 24px!important;font:600 clamp(38px,5vw,68px)/.98 "Switzer",sans-serif!important;letter-spacing:-.055em!important;color:#f5f5f5!important;text-transform:uppercase}
html[data-polished] #landing-intro-section .intro-char-reveal{display:grid!important;gap:18px!important}
html[data-polished] #landing-intro-section .intro-char-reveal .intro-para{font:400 clamp(16px,1.45vw,19px)/1.65 "Switzer",sans-serif!important;color:rgba(245,245,245,.82)!important;letter-spacing:0!important;margin:0!important}
@media(max-width:809.98px){html[data-polished] #landing-intro-section{padding:76px 0 88px!important}html[data-polished] #landing-intro-section .intro-container{display:grid!important;grid-template-columns:1fr!important;gap:32px!important;padding:0 24px!important}html[data-polished] #landing-intro-section .intro-cards-dock{display:flex!important;order:0!important}html[data-polished] #landing-intro-section .single-about-polaroid{width:min(72vw,300px)!important;transform:rotate(-3deg)!important}html[data-polished] #landing-intro-section .intro-text-col{order:1!important}html[data-polished] #landing-intro-section .intro-para-lead{font-size:clamp(34px,9vw,48px)!important}}

/* ==========================================================================
   CHI SONO / ABOUT ME - CLEAN NATIVE EDITORIAL LAYOUT
   ========================================================================== */
html[data-polished] #landing-intro-section {
  background: #000000 !important;
  color: #f7f5f2 !important;
  padding: clamp(70px, 9vw, 120px) 0 !important;
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

html[data-polished] .intro-grid-container {
  display: grid !important;
  grid-template-columns: minmax(0, 520px) minmax(0, 1fr) !important;
  gap: clamp(32px, 4.5vw, 68px) !important;
  align-items: center !important;
  width: min(1360px, calc(100% - 64px)) !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* Left Art Column: Transparent Polaroid Scrapbook Artwork */
html[data-polished] .intro-art-col {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

html[data-polished] .about-artwork-frame {
  position: relative !important;
  width: 100% !important;
  max-width: 520px !important;
  display: flex !important;
  justify-content: center !important;
}

html[data-polished] .about-polaroid-img {
  width: 100% !important;
  max-width: 520px !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
}

/* Right Copy Column: Staggered Horizontal Cascade matching reference */
html[data-polished] .intro-copy-col {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 820px !important;
}

html[data-polished] .about-title-display {
  font: 900 clamp(58px, 7.5vw, 98px)/0.88 "Switzer", -apple-system, sans-serif !important;
  letter-spacing: -0.06em !important;
  color: #ffffff !important;
  margin: 0 0 24px 0 !important;
  text-transform: uppercase !important;
}

html[data-polished] .about-bio-body {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(20px, 2.5vw, 32px) !important;
  width: 100% !important;
}

/* Step 1: Left-aligned with HI!! */
html[data-polished] .about-step-1 {
  max-width: 380px !important;
  margin-left: 0 !important;
}

html[data-polished] .about-bio-lead {
  font: 500 clamp(16px, 1.4vw, 19px)/1.5 "Switzer", sans-serif !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}

/* Step 2: Staggered horizontally to the right */
html[data-polished] .about-step-2 {
  max-width: 450px !important;
  margin-left: clamp(40px, 6vw, 92px) !important;
}

html[data-polished] .about-bio-text {
  font: 400 clamp(14.5px, 1.25vw, 16.5px)/1.65 "Switzer", sans-serif !important;
  color: rgba(245, 245, 245, 0.84) !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
}

html[data-polished] .about-accent-phrase {
  font-family: "Neutral Sans Variable", "Switzer", sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.08em !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
}

/* Step 3: Staggered horizontally even further to the right, paired with giant L mark */
html[data-polished] .about-step-3-row {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-left: clamp(80px, 12vw, 175px) !important;
  max-width: 540px !important;
}

html[data-polished] .about-step-3 {
  max-width: 380px !important;
  margin: 0 !important;
}

html[data-polished] .about-corner-l {
  font-family: "Neutral Sans Variable", "Switzer", -apple-system, sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(52px, 6vw, 84px) !important;
  line-height: 0.72 !important;
  color: #ffffff !important;
  user-select: none !important;
  flex-shrink: 0 !important;
}

/* Responsive: Mobile Solo Scritta, No Image */
@media (max-width: 768px) {
  html[data-polished] #landing-intro-section {
    padding: 56px 0 76px !important;
  }

  html[data-polished] .intro-grid-container {
    grid-template-columns: 1fr !important;
    width: calc(100% - 44px) !important;
    gap: 0 !important;
  }

  html[data-polished] .intro-art-col {
    display: none !important; /* NO IMAGE on mobile */
  }

  html[data-polished] .intro-copy-col {
    max-width: 100% !important;
  }

  html[data-polished] .about-title-display {
    font-size: clamp(52px, 14vw, 76px) !important;
    margin-bottom: 22px !important;
  }

  html[data-polished] .about-step-1,
  html[data-polished] .about-step-2,
  html[data-polished] .about-step-3-row {
    margin-left: 0 !important;
    max-width: 100% !important;
  }

  html[data-polished] .about-corner-l {
    display: none !important;
  }
}

/* ========================================================
   MAIN CLIENTS & COLLABORATIONS: Smooth Infinite Carousel
   All client names share the EXACT SAME FONT (Switzer 600)
   novabeh.lab marked with Founder tag
   ======================================================== */
html[data-polished] #collaborations {
  padding: clamp(76px, 9vw, 120px) 0 !important;
  background: #000000 !important;
  color: #f5f5f5 !important;
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
}

html[data-polished] #collaborations .collabs-container {
  max-width: 1380px !important;
  margin: 0 auto clamp(36px, 5vw, 64px) !important;
  padding: 0 clamp(24px, 4vw, 64px) !important;
}

html[data-polished] #collaborations .collabs-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr) !important;
  align-items: end !important;
  gap: 28px !important;
}

html[data-polished] #collaborations .collabs-title {
  margin: 0 !important;
  color: #ffffff !important;
  font: 600 clamp(24px, 3.2vw, 42px)/1.02 "Switzer", sans-serif !important;
  letter-spacing: -.045em !important;
  text-transform: uppercase !important;
}

html[data-polished] #collaborations .collabs-intro {
  max-width: 280px !important;
  margin: 0 !important;
  color: rgba(245, 245, 245, .58) !important;
  font: 400 14px/1.5 "Switzer", sans-serif !important;
}

/* Moving ticker / carousel wrapper */
html[data-polished] #collaborations .collabs-marquee-wrapper {
  width: 100vw !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 20px 0 !important;
  display: flex !important;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent) !important;
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent) !important;
}

html[data-polished] #collaborations .collabs-marquee-track {
  display: flex !important;
  align-items: center !important;
  gap: clamp(36px, 5vw, 76px) !important;
  width: max-content !important;
  animation: marqueeContinuous 32s linear infinite !important;
  will-change: transform !important;
}

html[data-polished] #collaborations .collabs-marquee-track:hover {
  animation-play-state: paused !important;
}

@keyframes marqueeContinuous {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

/* ALL CLIENTS: SAME UNIFORM FONT & WEIGHT */
html[data-polished] #collaborations .client-name,
html[data-polished] #collaborations :is(.client-bnkr44, .client-gioia-lucia, .client-piccolo, .client-caph, .client-albe, .client-lets-fest, .client-color-sound, .client-novabeh) {
  display: inline-flex !important;
  align-items: center !important;
  font-family: "Switzer", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(28px, 3.6vw, 44px) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -0.035em !important;
  text-transform: none !important;
  color: #ffffff !important;
  opacity: 0.88 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  user-select: none !important;
}

html[data-polished] #collaborations .client-name:hover {
  opacity: 1 !important;
  transform: scale(1.05) !important;
}

/* Distinct separator */
html[data-polished] #collaborations .marquee-sep {
  display: inline-block !important;
  color: rgba(255, 255, 255, 0.3) !important;
  font-size: clamp(16px, 2vw, 22px) !important;
  line-height: 1 !important;
  user-select: none !important;
  padding: 0 4px !important;
}

/* novabeh.lab: Founder Tag */
html[data-polished] #collaborations .client-founder-tag {
  display: inline-flex !important;
  align-items: center !important;
  font-family: "Switzer", -apple-system, sans-serif !important;
  font-size: 0.38em !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 3px 9px !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: rgba(255, 255, 255, 0.9) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  vertical-align: middle !important;
  margin-left: 10px !important;
  line-height: 1 !important;
}

@media (max-width: 809.98px) {
  html[data-polished] #collaborations { padding: 56px 0 72px !important; }
  html[data-polished] #collaborations .collabs-container { margin-bottom: 24px !important; padding: 0 24px !important; }
  html[data-polished] #collaborations .collabs-header { grid-template-columns: 1fr !important; gap: 12px !important; }
  html[data-polished] #collaborations .collabs-title { font-size: clamp(22px, 6vw, 30px) !important; }
  html[data-polished] #collaborations .client-name,
  html[data-polished] #collaborations :is(.client-bnkr44, .client-gioia-lucia, .client-piccolo, .client-caph, .client-albe, .client-lets-fest, .client-color-sound, .client-novabeh) {
    font-size: clamp(22px, 5.5vw, 30px) !important;
  }
}


/* ==========================================================================
   NEW EDITORIAL TEXT-ONLY PROJECT FILTERS WITH CHEVRON & MULTI-SELECT DROPDOWNS
   Hover underline identical to navbar links (.framer-8lzgbl a::after)
   ========================================================================== */
html[data-polished] #filter-wrapper {
  margin: 32px 0 44px 0 !important;
  display: block !important;
  width: 100% !important;
  position: relative !important;
  z-index: 50 !important;
}

html[data-polished] .project-filters-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: clamp(20px, 3.2vw, 44px) !important;
  padding: 0 0 6px 0 !important;
  margin: 0 !important;
  border-bottom: none !important; /* No static line under filters */
  box-sizing: border-box !important;
}

html[data-polished] .filter-group-item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Base filter trigger link - clean text only with chevron */
html[data-polished] .project-filter-link {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 8px 2px !important;
  margin: 0 !important;
  font-family: "Switzer", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transition: opacity 0.22s ease, color 0.22s ease !important;
  opacity: 0.72 !important;
  outline: none !important;
}

html[data-polished] .project-filter-link:hover,
html[data-polished] .project-filter-link.is-active,
html[data-polished] .project-filter-link.has-selected,
html[data-polished] .filter-group-item.open .project-filter-link {
  opacity: 1 !important;
  color: #ffffff !important;
}

/* NAVBAR-IDENTICAL HOVER UNDERLINE ANIMATION (appears ONLY on hover and when selected/open) */
html[data-polished] .project-filter-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0px !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background-color: #ffffff !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.25s ease !important;
  border-radius: 2px !important;
  display: block !important;
}

html[data-polished] .project-filter-link:hover::after,
html[data-polished] .project-filter-link.is-active::after,
html[data-polished] .project-filter-link.has-selected::after,
html[data-polished] .filter-group-item.open .project-filter-link::after {
  transform: scaleX(1) !important;
}

/* Chevron arrow matching language selector */
html[data-polished] .filter-chevron {
  display: inline-block !important;
  width: 9px !important;
  height: 6px !important;
  stroke: currentColor !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}

html[data-polished] .filter-group-item.open .filter-chevron {
  transform: rotate(180deg) !important;
}

/* Active count badge */
html[data-polished] .filter-active-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 9999px !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-family: "Chivo Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin-left: 3px !important;
}

html[data-polished] .filter-active-badge[hidden] {
  display: none !important;
}

/* Subgroups Dropdown Popover: Site-matching dark background #000000 with crisp border */
html[data-polished] .filter-dropdown-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  min-width: 260px !important;
  max-width: 340px !important;
  background: #000000 !important; /* Exact match with site bg */
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 14px !important;
  padding: 8px !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
  z-index: 10002 !important;
  backdrop-filter: blur(28px) !important;
  -webkit-backdrop-filter: blur(28px) !important;
  display: none !important;
  flex-direction: column !important;
  gap: 2px !important;
  box-sizing: border-box !important;
  animation: filterMenuOpen 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html[data-polished] .filter-group-item.open .filter-dropdown-menu {
  display: flex !important;
}

@keyframes filterMenuOpen {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Dropdown Header */
html[data-polished] .filter-menu-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 6px 8px 8px !important;
  margin-bottom: 4px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

html[data-polished] .filter-menu-title {
  font-family: "Chivo Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #888888 !important;
}

html[data-polished] .filter-toggle-all-btn {
  background: transparent !important;
  border: none !important;
  color: #a8a8a8 !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  transition: color 0.15s ease, background 0.15s ease !important;
}

html[data-polished] .filter-toggle-all-btn:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

/* Dropdown Subgroup List */
html[data-polished] .filter-menu-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  max-height: 380px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
}

/* Multi-select item row */
html[data-polished] .filter-subgroup-item {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  width: 100% !important;
  padding: 8px 10px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 8px !important;
  color: #c4c4c4 !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: background 0.16s ease, color 0.16s ease !important;
  box-sizing: border-box !important;
  outline: none !important;
}

html[data-polished] .filter-subgroup-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

html[data-polished] .filter-subgroup-item.is-selected {
  color: #ffffff !important;
  font-weight: 500 !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Checkbox Square */
html[data-polished] .filter-custom-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 4px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  background: transparent !important;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
  flex-shrink: 0 !important;
}

html[data-polished] .filter-subgroup-item:hover .filter-custom-check {
  border-color: rgba(255, 255, 255, 0.75) !important;
}

html[data-polished] .filter-subgroup-item.is-selected .filter-custom-check {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #000000 !important;
}

html[data-polished] .filter-check-svg {
  width: 10px !important;
  height: 8px !important;
  stroke: currentColor !important;
  opacity: 0 !important;
  transition: opacity 0.14s ease !important;
}

html[data-polished] .filter-subgroup-item.is-selected .filter-check-svg {
  opacity: 1 !important;
}

html[data-polished] .filter-subgroup-name {
  flex: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Mobile Responsiveness: Clean naturally-wrapped flow, dropdown cleanly positioned */
@media (max-width: 809.98px) {
  html[data-polished] .project-filters-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px 22px !important;
    padding-bottom: 8px !important;
    border-bottom: none !important;
    overflow: visible !important;
  }
  html[data-polished] .filter-dropdown-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    min-width: 240px !important;
    max-width: min(320px, calc(100vw - 36px)) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.9) !important;
  }
  html[data-polished] .filter-group-item[data-category="photography"] .filter-dropdown-menu {
    left: auto !important;
    right: 0 !important;
  }
}

/* Footer: PEC link without underline (2026-11-08) */
html[data-polished] .footer-legal-copy a,
html[data-polished] .footer-legal-copy a:hover { text-decoration: none !important; border-bottom: 0 !important; box-shadow: none !important; background-image: none !important; }

/* Photos and project images: natural, no frame, no rounded corners (20261109).
   Home polaroids (.mp-pol / .pop-art) keep their look on purpose. */
html[data-polished] body #main :is(img, video, picture, figure, .project-image, .project-card-item, .project-image-wrapper):not(.mp-pol *):not(.pop-art *):not(.mp-pol) {
  border-radius: 0 !important;
  box-shadow: none !important;
}
html[data-polished] body #main :is(figure, .project-image, .project-card-item, .project-image-wrapper):not(.mp-pol *):not(.pop-art *) {
  border: 0 !important;
  outline: 0 !important;
}

/* Mobile menu: black like the nav bar, one continuous surface (20261109). */
html[data-polished] body .mobile-nav-drawer { background:#000 !important; color:#fff !important; }
html[data-polished] body .mobile-nav-drawer .mobile-nav-link { color:#fff !important; }
html[data-polished] body .mobile-nav-drawer .mobile-nav-link:is(:hover,:focus-visible,[aria-current="page"]) { color:rgba(255,255,255,.62) !important; }
html[data-polished] body .mobile-nav-drawer .mobile-nav-cta-btn { background:#fff !important; color:#000 !important; }
html[data-polished] body .mobile-nav-drawer .mobile-drawer-social { border-top-color:rgba(255,255,255,.14) !important; }
html[data-polished] body .mobile-nav-drawer .mobile-drawer-social a { color:#fff !important; }

/* grain: screen blend keeps the noise on black and leaves white truly white (hero, footer) */
html[data-polished] .site-noise-overlay { mix-blend-mode: screen !important; }

/* 2026-11-09: every section curve keeps one fixed shape (no scroll scaling) */
html[data-polished] .section-curve svg { transform: none !important; }

/* 2026-11-09: filter count is just the number, no circle */
html[data-polished] .filter-active-badge {
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: currentColor !important;
  font-size: 13px !important;
  margin-left: 6px !important;
}

/* 2026-11-09 (v7): clean black and white, no texture anywhere */
html[data-polished] .site-noise-overlay { display: none !important; }
html[data-polished] #landing-intro-section { background-image: none !important; background-color: #000 !important; }

/* one vertical line for the whole site: same side gutters as Servizi and footer
   (60 / 40 / 24 px, content max 1320px) */
:root { --site-gutter: 60px; --site-line: max(var(--site-gutter), calc((100% - 1320px) / 2)); }
@media (max-width: 1199.98px) { :root { --site-gutter: 40px; } }
@media (max-width: 809.98px) { :root { --site-gutter: 24px; } }
html[data-polished] nav#framer-nav .framer-1o0duy {
  max-width: none !important;
  padding-left: var(--site-line) !important;
  padding-right: var(--site-line) !important;
}
