/* Clearer hierarchy within Sane's existing visual system. Original assets stay untouched. */
.studio-clear { --layout-width:1240px; }
.studio-clear { isolation:isolate; }
.studio-clear #backdrop { background:var(--bg-outer,#07050a) url('/assets/media/bg-poster.jpg') center / cover; }
.studio-clear .section { padding:clamp(56px,7vw,96px) max(24px,4vw); scroll-margin-top:112px; }
.studio-clear .section-inner { max-width:var(--layout-width); }
.studio-clear .section-head { margin-bottom:32px; }
.studio-clear .sh { font-size:clamp(30px,3.4vw,48px); line-height:1.12; letter-spacing:-.035em; }
.studio-clear .section-lead { max-width:60ch; font-size:16px; line-height:1.75; margin-top:16px; color:var(--muted-strong); }
.studio-clear .hero-v2 { min-height:760px; min-height:min(860px,92svh); overflow:hidden; background-image:linear-gradient(#07050a55,#07050a77),url('/assets/media/hero-poster.jpg'); background-position:center; background-size:cover; }
.studio-clear .hero-v2__inner { gap:24px; padding:150px 24px 72px; }
.studio-clear .hero-title { font-size:clamp(52px,8vw,112px); letter-spacing:-.04em; }
.studio-clear .hero-pre { font-size:clamp(26px,3vw,40px); }
.studio-clear .hero-sub { font-size:18px; max-width:58ch; }
.studio-clear .hero-video-wrap,.studio-clear .hero-video-overlay { inset:0; }
.studio-clear .hero-v2--page { min-height:0; margin:98px 24px 0; width:calc(100% - 48px); }
.studio-clear .hero-v2--page .hero-v2__inner { padding:72px 24px 64px; gap:20px; }
.studio-clear .hero-v2--page .hero-title { font-size:clamp(46px,6vw,80px); }
.studio-clear .hero-v2--page .hero-pre { font-size:clamp(24px,2.5vw,32px); }
.studio-clear .hero-v2--page .crumbs { font-size:12px; }
.studio-clear .scroll-hint { display:none; }
.studio-clear .hero-worlds { margin-top:4px; }
.studio-clear .hero-world { box-shadow:none; }
.studio-clear .nav-item { padding-inline:13px; font-size:12px; }
.studio-clear .header.is-condensed { max-width:min(1240px,calc(100% - 32px)); }
.studio-clear .nav:not(:has([aria-current=page])):not(.is-pointing) .nav-item.is-target .nav-roll span { color:var(--muted-strong); }
.studio-clear .header { gap:20px; }
.studio-clear .hero-actions { flex-wrap:wrap; justify-content:center; gap:16px; }
.studio-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:36px; }
.studio-text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; flex-shrink:0; color:var(--paper); font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.studio-text-link svg { flex:none; }
.studio-text-link:hover { color:var(--sec); }
.web-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 28px; }
.web-project { min-width:0; }
.web-project__link { display:block; color:var(--paper); text-decoration:none; border-radius:16px; }
.web-project__image { overflow:hidden; border-radius:16px; background:var(--surface); aspect-ratio:1.44; }
.web-project__image img { width:100%; height:100%; display:block; object-fit:cover; object-position:top; transition:transform .5s var(--ease-out); }
.web-project__link:hover .web-project__image img { transform:scale(1.025); }
.web-project__title { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:20px 0 6px; }
.web-project__title h3 { font-size:clamp(23px,2.1vw,30px); line-height:1.2; letter-spacing:-.025em; }
.web-project__title svg { flex:none; }
.web-project__type { font-size:13px; color:var(--muted-strong); }
.web-project__description { margin-top:14px; font-size:14px; line-height:1.7; color:var(--muted-strong); max-width:56ch; }
.web-project__open { display:inline-block; margin-top:16px; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.web-project__link:hover .web-project__open { color:var(--sec); }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.studio-clear .studio-services { padding-top:32px; }
.studio-service-list { border-top:1px solid var(--border); }
.studio-service-row { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr) 24px; align-items:center; gap:32px; padding:30px 0; border-bottom:1px solid var(--border); text-decoration:none; color:var(--paper); transition:color .2s; }
.studio-service-row h3 { font-size:clamp(23px,2.5vw,32px); letter-spacing:-.03em; }
.studio-service-row p { color:var(--muted-strong); font-size:15px; line-height:1.6; }
.studio-service-row:hover { color:var(--sec); }
.studio-service-row:hover h3 { color:inherit; }
.studio-artwork-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.studio-artwork-grid a { position:relative; background:var(--surface); border-radius:16px; overflow:hidden; aspect-ratio:1; display:grid; place-items:center; }
.studio-artwork-grid img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.studio-method-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding:0; list-style:none; }
.studio-method-list li { display:flex; align-items:flex-start; gap:18px; padding-top:24px; border-top:1px solid var(--border); }
.studio-method-list li > span { color:var(--sec); font-size:13px; line-height:28px; font-variant-numeric:tabular-nums; }
.studio-method-list h3 { font-size:21px; line-height:1.25; margin-bottom:12px; }
.studio-method-list p { color:var(--muted-strong); font-size:14px; line-height:1.7; }
.studio-clear .studio-web-formats .web-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:48px; }
.studio-clear .studio-web-formats .web-list li { display:block; padding:28px 0; border-bottom:1px solid var(--border); }
.studio-clear .studio-web-formats .web-list h3 { font-size:22px; margin-bottom:12px; }
.studio-clear .studio-web-formats .web-list p { font-size:15px; line-height:1.7; }
.studio-web-formats .web-list b { display:none; }
.studio-clear .studio-web-formats .chip-row { margin-top:28px; }
.studio-clear .reference-catalog { gap:24px; }
.studio-clear .reference-catalog__item { background:var(--surface); border:none; border-radius:16px; padding:28px; }
.studio-clear .reference-catalog__item h3 { font-size:24px; }
.studio-clear .faq-list { max-width:900px; margin-inline:0; }
.studio-clear .final-cta { max-width:none; margin:0; }
.studio-clear .final-cta .section-inner { max-width:var(--layout-width); width:100%; text-align:left; border-top:1px solid var(--border); padding:44px 0 0; background:none; box-shadow:none; }
.studio-clear .final-cta .hero-actions,.studio-clear .final-cta .cta-row { justify-content:flex-start; }
.studio-clear .final-cta .cta-card { width:100%; max-width:var(--layout-width); margin:0 auto; padding:clamp(28px,4vw,56px); text-align:left; border:1px solid rgba(var(--sec-rgb),.24); background:linear-gradient(125deg,rgba(var(--sec-rgb),.16),rgba(16,12,21,.92) 70%); border-radius:var(--r-md); box-shadow:0 20px 60px #0003; }
.studio-clear .final-cta .cta-card::before { display:block; }
.studio-clear .final-cta .cta-card .sh { max-width:760px; margin:0; }
.studio-clear .final-cta .cta-card p { max-width:60ch; margin:20px 0 28px; }
.studio-clear .final-cta .cta-group { justify-content:flex-start; }
.studio-clear .sticky-cta { display:none; }
.studio-clear[data-page=contatti] .hero-v2--page { background:none; border:none; border-radius:0; }
.studio-clear[data-page=contatti] .hero-v2__inner { align-items:flex-start; text-align:left; width:100%; max-width:var(--layout-width); padding:44px 0 20px; }
.studio-clear[data-page=contatti] .hero-v2 { margin-inline:auto; width:calc(100% - max(48px,8vw)); }
.studio-clear[data-page=contatti] .hero-pre { display:none; }
.studio-clear[data-page=contatti] .hero-video,.studio-clear[data-page=contatti] .hero-video-overlay { display:none; }
.studio-clear[data-page=contatti] .hero-glow { inset:0; width:auto; height:auto; filter:blur(24px); background:radial-gradient(ellipse 46% 40% at 45% 50%,rgba(var(--sec-rgb),.22),transparent); }
.studio-clear[data-page=contatti] .contact-grid { grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:64px; align-items:start; }
.studio-clear[data-page=contatti] .form-card { background:var(--surface); border:0; border-radius:20px; }
.studio-clear .studio-brief-helper { padding-top:0; padding-bottom:24px; }
.studio-brief-helper details { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:16px 0; }
.studio-brief-helper summary { cursor:pointer; color:var(--paper); padding:12px 0; min-height:48px; font-weight:600; }
.studio-brief-helper .configurator { margin-top:24px; }
.studio-clear .site-footer { padding:48px max(24px,4vw) 28px; margin-top:24px; border-top:1px solid var(--border); }
.studio-clear .footer-shell,.studio-clear .footer-cards { width:100%; max-width:var(--layout-width); margin:0 auto; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); gap:24px; }
.studio-clear .footer-badge { display:none; }
.studio-clear .footer-video-card,.studio-clear .footer-links-card { border:1px solid var(--border); box-shadow:0 16px 40px #0003; border-radius:var(--r-md); padding:32px; min-height:0; }
.studio-clear .footer-links-card { background:linear-gradient(135deg,rgba(var(--sec-rgb),.08),rgba(16,12,21,.94) 68%); }
.studio-clear .footer-video-card { gap:24px; background:var(--surface) url('/assets/media/bg-poster.jpg') center / cover; }
.studio-clear .footer-video-card video { display:block; opacity:.5; }
.studio-clear .footer-video-card::after { display:block; content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(145deg,rgba(7,5,10,.45),rgba(var(--sec-rgb),.1)); }
.studio-clear .footer-watermark { display:block; max-width:var(--layout-width); padding:0; margin:24px auto 0; }
.studio-clear .footer-grid,.studio-clear .footer-links-card .footer-grid { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); padding-bottom:16px; }
.studio-clear .footer-grid > .footer-col:last-child:not(nav) { display:none; }
.studio-clear .fvc-brand,.studio-clear .fvc-tagline,.studio-clear .fvc-social { position:static; }
.studio-clear .fvc-tagline { margin-top:20px; font-size:18px; }
.studio-clear .fvc-social { margin-top:28px; }
.studio-clear .footer-col a { min-height:36px; align-content:center; font-size:13px; }
.studio-clear .footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.studio-clear .footer-col h4 { margin-bottom:12px; }
.studio-clear .footer-legal { width:100%; align-self:stretch; flex-direction:column; flex-wrap:wrap; align-items:flex-start; text-align:left; gap:12px; }
.studio-clear .footer-legal-links { flex-wrap:wrap; gap:8px 16px; }
.studio-clear .footer-legal-links a,.studio-clear .footer-legal-links button { min-height:32px; font-size:12px; }
.studio-clear .portfolio-page__header { text-align:left; padding:0; margin:0 0 36px; max-width:760px; }
.studio-clear .portfolio-page__header h1 { font-size:clamp(42px,6vw,76px); letter-spacing:-.04em; }
.studio-clear .portfolio-page__header p { margin:20px 0 0; max-width:58ch; }
.studio-clear .portfolio-page__filters { justify-content:flex-start; margin-bottom:40px; gap:10px; }
.studio-clear .portfolio-page__filter { min-height:44px; }
.studio-clear .portfolio-page .studio-web-projects { padding:0 0 64px; }
.studio-clear .portfolio-page .studio-web-projects .sh { font-size:30px; }
.studio-graphics-heading { font-size:30px; letter-spacing:-.03em; margin-bottom:28px; }
.studio-clear .portfolio-page__grid { gap:28px; }
.studio-clear .portfolio-page__card { border-radius:16px; box-shadow:none; }
/* Shared edges and full artwork: no empty fourth column or cropped logos. */
.studio-clear .gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.studio-clear .gallery-item { aspect-ratio:4/3; }
.studio-clear .gallery-item img { object-fit:contain; padding:20px 20px 52px; }
.studio-clear .gallery-item figcaption { font-size:14px; padding:16px 20px; }
.studio-clear .section:has(.faq) .section-head { text-align:left; }
.studio-clear .section:has(.faq) .faq { max-width:none; margin-inline:0; }
.studio-clear .section:has(.faq) .section-inner { max-width:var(--layout-width); }
.studio-clear .portfolio-page { padding-inline:max(24px,4vw); }
.studio-clear .portfolio-page__inner { width:100%; max-width:var(--layout-width); }
.studio-clear .portfolio-page .studio-web-projects .section-inner { width:100%; max-width:none; }
.studio-clear .portfolio-page__filters { padding:0; }
.studio-clear .portfolio-page__filter[aria-pressed=true] { background:var(--portfolio-accent); border-color:var(--portfolio-accent); color:var(--on-sec); }
.studio-clear .portfolio-page__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.studio-clear .portfolio-page__card-copy { display:grid; justify-content:stretch; gap:8px; }
.studio-clear .portfolio-page__card-title { font-size:22px; line-height:1.25; }
.studio-clear .portfolio-page__card-category { padding:0; font-size:12px; }
.studio-clear .portfolio-page__header h1 { background:linear-gradient(to bottom,#fff 20%,#fff 52%,var(--sec)); background-clip:text; color:transparent; padding-bottom:.08em; }
.studio-clear .service-detail-hero h1 span { background:var(--gp); background-clip:text; color:transparent !important; }
.studio-clear .studio-services { background:radial-gradient(ellipse at 5% 40%,rgba(var(--sec-rgb),.06),transparent 65%); }
.studio-clear .reference-catalog__item { border:1px solid var(--border); background:linear-gradient(130deg,rgba(var(--sec-rgb),.08),rgba(16,12,21,.95) 75%); }
@media(max-width:1100px) {
  .studio-clear .header .nav { display:none; }
  .studio-clear .header .menu-btn { display:flex; }
  .studio-clear .studio-method-list { gap:24px; }
  .studio-clear .portfolio-page__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .studio-clear .hero-v2 { min-height:0; }
  .studio-clear .hero-v2__inner { padding:150px 24px 60px; gap:22px; }
  .studio-clear .hero-title { font-size:clamp(44px,11vw,74px); }
  .studio-clear .hero-sub { font-size:16px; line-height:1.7; }
  .studio-clear .hero-v2--page { margin:88px 16px 0; width:calc(100% - 32px); }
  .studio-clear .hero-v2--page .hero-v2__inner { padding:40px 20px; }
  .studio-clear .hero-v2--page .hero-title { font-size:clamp(42px,10vw,68px); }
  .studio-section-heading { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:28px; }
  .web-project-grid { grid-template-columns:1fr; gap:36px; }
  .web-project__image { border-radius:12px; }
  .web-project__title { margin-top:16px; }
  .studio-service-row { grid-template-columns:minmax(0,1fr) 24px; gap:12px; padding:24px 0; }
  .studio-service-row p { grid-row:2; }
  .studio-service-row svg { grid-column:2; grid-row:1 / 3; }
  .studio-artwork-grid { grid-template-columns:1fr; gap:20px; }
  .studio-artwork-grid a { aspect-ratio:4/3; }
  .studio-clear .gallery { grid-template-columns:1fr; gap:20px; }
  .studio-clear .portfolio-page__grid { grid-template-columns:1fr; }
  .studio-method-list { grid-template-columns:1fr; }
  .studio-clear .studio-web-formats .web-list { grid-template-columns:1fr; }
  .studio-clear[data-page=contatti] .contact-grid { grid-template-columns:1fr; gap:36px; }
  .studio-clear[data-page=contatti] .hero-v2__inner { padding-top:28px; }
  .studio-clear .footer-shell,.studio-clear .footer-cards { grid-template-columns:1fr; gap:20px; }
  .studio-clear .footer-video-card,.studio-clear .footer-links-card { padding:24px; }
  .studio-clear .footer-grid,.studio-clear .footer-links-card .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .studio-clear .footer-col a { min-height:44px; }
  .studio-clear .portfolio-page__filters { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .web-project__image img,.studio-service-row { transition:none; } .studio-clear #motes { display:none; } }
