/* Selected motion details, adapted to the existing Atelier layout. */
.atelier-copy h1,.lang-it .atelier-copy h1{letter-spacing:0;line-height:.97;font-size:clamp(72px,8vw,126px);font-kerning:normal;font-synthesis:none}
.lang-it .atelier-copy h1{font-size:clamp(64px,6.7vw,112px)}
.atelier-copy h1.wp-block-heading{margin:27px 0 29px}
.project-discipline,.studio-intro h1.wp-block-heading,.contact-intro h1.wp-block-heading,.studio-story h2,.studio-note h2,.contact-form h2.wp-block-heading,.portfolio-intro h1 em,.legal-page h1{letter-spacing:0;line-height:1.05;font-synthesis:none}
.header-inner{transition:height .4s var(--ease);height:108px}
.logo.logo--full img{transition:width .4s var(--ease),height .4s var(--ease)}
.site-header.is-scrolled .header-inner{height:76px}
.site-header.is-scrolled .logo.logo--full img{width:158px;height:70px}
.site-header{isolation:isolate}
.scroll-progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--accent-ink);transform:scaleX(0);transform-origin:left;pointer-events:none;opacity:.6}
.main-nav{gap:12px;position:relative;isolation:isolate}
.main-nav a{padding:12px 15px;border-radius:30px}
.main-nav a::after{display:none}
.moving-indicator{position:absolute;left:0;top:0;pointer-events:none;border-radius:30px;background:var(--accent);z-index:-1;transition:transform .38s var(--ease),width .38s var(--ease),height .38s var(--ease),opacity .2s}
.tsv-lang-links{position:relative;isolation:isolate;background:var(--panel);border:1px solid var(--line);border-radius:30px;gap:0;padding:3px}
.tsv-lang-links a{display:grid;place-items:center;min-width:34px;min-height:34px;padding:5px 7px;position:relative;text-decoration:none}
.tsv-lang-links a[aria-current]{text-decoration:none;color:var(--ink)}
.tsv-lang-links .moving-indicator{background:var(--accent);box-shadow:0 1px 3px #252b3009}
.filters{position:relative;isolation:isolate;padding:4px;background:var(--panel);border-radius:28px;width:fit-content;gap:2px}
.filters .moving-indicator{background:var(--bg);box-shadow:0 2px 8px #252b3010}
.filters.has-indicator button[aria-pressed=true],.filters.has-indicator button:hover{background:transparent;color:var(--ink)}
.filters button{position:relative;padding:10px 16px}
.text-link,.footer-email{position:relative;isolation:isolate}
.text-link::after,.footer-email::after{content:'';position:absolute;height:1px;bottom:-1px;left:0;width:100%;background:var(--accent-ink);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.text-link:hover::after,.text-link:focus-visible::after,.footer-email:hover::after,.footer-email:focus-visible::after{transform:scaleX(1);transform-origin:left}
.atelier-copy>.primary-link{position:relative;isolation:isolate;border:0;overflow:hidden}
.atelier-copy>.primary-link::before{content:'';position:absolute;z-index:-2;inset:-250%;background:conic-gradient(from 0deg,transparent 0 68%,var(--accent) 79%,#fff 82%,transparent 87%);animation:edge-orbit 6s linear infinite;animation-play-state:paused}
.atelier-copy>.primary-link::after{content:'';position:absolute;inset:1px;z-index:-1;border-radius:inherit;background:var(--ink);transition:background .25s}
.atelier-copy>.primary-link:hover::after,.atelier-copy>.primary-link:focus-visible::after{background:#33434d}
.atelier-copy>.primary-link:hover,.atelier-copy>.primary-link:focus-visible{color:var(--bg);background:var(--ink)}
.hero-in-view .atelier-copy>.primary-link::before{animation-play-state:running}
@keyframes edge-orbit{to{transform:rotate(360deg)}}
.rotating-line{font-size:15px;margin:0 0 24px;line-height:1.5;color:var(--muted)}
.rotating-word{display:inline-grid;vertical-align:baseline;position:relative;margin-left:.2em;text-align:left}
.rotating-word span{grid-area:1/1;visibility:hidden;opacity:0;transform:translateY(5px);transition:opacity .5s,transform .5s,visibility .5s;font:italic 27px/1.05 var(--display);color:var(--accent-ink);letter-spacing:0}
.rotating-word span.is-current{visibility:visible;opacity:1;transform:translateY(0)}
.atelier-copy>.hero-description{margin-bottom:12px}
.with-section-scroll{position:relative}
.section-scroll-rail{position:absolute;right:max(calc(var(--gutter) * .28),calc((100% - 1900px)/2 + var(--gutter) * .28));top:125px;bottom:85px;width:12px;pointer-events:none;z-index:3}
.section-scroll{position:sticky;top:calc(50vh - 42px);display:flex;align-items:center;gap:13px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.18em;font-size:8px;color:var(--muted)}
.section-scroll i{display:block;height:54px;width:1px;background:var(--line);overflow:hidden;position:relative}
.section-scroll i::after{content:'';position:absolute;inset:0;background:var(--accent-ink);transform:translateY(-110%);animation:scroll-trace 2.8s ease-in-out infinite;animation-play-state:paused}
.section-scroll.is-visible i::after{animation-play-state:running}
.home-work>.section-scroll-rail{top:150px}
@media(max-width:760px){.section-scroll-rail{top:90px;bottom:55px;width:10px;right:6px}.section-scroll{font-size:7px;gap:9px}.section-scroll i{height:42px}.home-work>.section-scroll-rail{top:115px}}
@keyframes scroll-trace{0%,15%{transform:translateY(-110%)}70%,100%{transform:translateY(110%)}}
.cinema-ready .hero-slide{transition:opacity .45s;z-index:0}
.cinema-ready .hero-slide.is-active{z-index:2}
.cinema-ready .hero-slide.is-active.has-transition{animation:cinema-reveal 1.25s cubic-bezier(.65,0,.2,1) both}
.cinema-ready .hero-slide.is-leaving{opacity:1;z-index:1;pointer-events:none}
.cinema-ready .hero-slide:is(.is-active,.is-leaving) img{animation:cinema-zoom var(--hero-duration) cubic-bezier(.2,.55,.35,1) both;animation-play-state:paused}
.cinema-ready.is-running .hero-slide:is(.is-active,.is-leaving) img{animation-play-state:running}
.cinema-ready .hero-dots{z-index:4}
.cinema-ready .hero-dots button span{position:relative;overflow:hidden;background:#ffffff55}
.cinema-ready .hero-dots button[aria-pressed=true] span::after{content:'';position:absolute;inset:0;background:white;transform-origin:left;animation:slide-time var(--hero-duration) linear both;animation-play-state:paused}
.cinema-ready.is-running .hero-dots button[aria-pressed=true] span::after{animation-play-state:running}
.hero-frame::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.045;background:url('assets/film-grain.svg');mix-blend-mode:soft-light}
@keyframes cinema-reveal{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@keyframes cinema-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes slide-time{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.project-tile{transition:transform .4s var(--ease)}
.work-image{transition:box-shadow .4s var(--ease)}
@media(hover:hover) and (pointer:fine){.project-tile:hover{transform:translateY(-5px)}.project-tile:hover .work-image{box-shadow:0 18px 32px -22px #252b3080}}
.project-tile:focus-visible{transform:translateY(-5px)}
.is-index .project-tile:hover{transform:none}
.crop-frame{position:relative}
.crop-corner{position:absolute;width:15px;height:15px;border-color:var(--accent-ink);border-style:solid;border-width:0;opacity:0;pointer-events:none;z-index:4;transition:opacity .3s,transform .4s var(--ease)}
.crop-corner:nth-last-child(4){left:9px;top:9px;border-left-width:1px;border-top-width:1px;transform:translate(-5px,-5px)}
.crop-corner:nth-last-child(3){right:9px;top:9px;border-right-width:1px;border-top-width:1px;transform:translate(5px,-5px)}
.crop-corner:nth-last-child(2){left:9px;bottom:9px;border-left-width:1px;border-bottom-width:1px;transform:translate(-5px,5px)}
.crop-corner:last-child{right:9px;bottom:9px;border-right-width:1px;border-bottom-width:1px;transform:translate(5px,5px)}
.crop-frame:hover>.crop-corner,.crop-frame:focus-visible>.crop-corner{opacity:1;transform:translate(0)}
.hero-signature .symbol-play{border:0;background:none;display:grid;place-items:center;min-width:44px;min-height:44px;margin:-10px;flex-shrink:0}
.symbol-play img{transition:transform .7s var(--ease)}
.symbol-play:hover img,.symbol-play:focus-visible img{transform:rotate(180deg)}
.symbol-play.is-spinning img{animation:symbol-turn 1.1s var(--ease)}
@keyframes symbol-turn{to{transform:rotate(540deg)}}
.copy-email{position:relative}
.contact-intro .contact-address.copy-email{display:inline-flex;align-items:center;gap:12px;letter-spacing:-.025em}
.copy-icon{width:20px;height:20px;flex-shrink:0;stroke:var(--accent-ink);fill:none;stroke-width:1.5;overflow:visible}
.copy-icon .copy-shape{transition:opacity .2s}
.copy-icon .copy-check{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .35s}
.is-copied .copy-shape{opacity:0}.is-copied .copy-check{stroke-dashoffset:0}
.copy-feedback.is-visible{color:var(--accent-ink)}
.whatsapp-dots{display:inline-flex;gap:3px;align-items:center;justify-content:center;min-width:26px;height:22px;border:1px solid #b4cfde;border-radius:8px 8px 8px 1px}
.whatsapp-dots i{width:3px;height:3px;border-radius:50%;background:var(--accent-ink);animation:wa-dot 1.3s ease-in-out infinite;animation-play-state:paused}
.whatsapp-dots i:nth-child(2){animation-delay:.16s}.whatsapp-dots i:nth-child(3){animation-delay:.32s}
a:hover>.whatsapp-dots i,a:focus-visible>.whatsapp-dots i{animation-play-state:running}
@keyframes wa-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}
.toast{display:flex;align-items:center;gap:12px;overflow:hidden;padding:17px 24px;border:1px solid #d7e2e8;border-radius:10px;background:var(--bg);color:var(--ink);box-shadow:0 8px 35px #252b3020;max-width:calc(100vw - 32px);transition:opacity .3s,transform .3s}
.toast .notice-icon{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border-radius:50%;background:var(--accent);color:var(--accent-ink)}
.toast.show::after{content:'';position:absolute;bottom:0;left:0;height:2px;width:100%;background:var(--accent-ink);transform-origin:left;animation:notice-time 5s linear both}
@keyframes notice-time{to{transform:scaleX(0)}}
html.motion-hidden *,html.motion-hidden *::before,html.motion-hidden *::after{animation-play-state:paused!important}
@media(max-width:1000px){.atelier-copy h1,.lang-it .atelier-copy h1{font-size:clamp(78px,12vw,116px)}.main-nav{gap:2px}.main-nav a{padding-inline:10px}.header-tools{gap:16px}}
@media(max-width:760px){.header-inner{height:90px}.site-header.is-scrolled .header-inner{height:72px}.site-header.is-scrolled .logo.logo--full img{width:138px;height:64px}.tsv-lang-links a{min-width:30px;min-height:34px;font-size:10px}.header-tools{gap:12px}.atelier-copy h1,.lang-it .atelier-copy h1{font-size:clamp(68px,15.5vw,104px)}.rotating-line{font-size:14px;margin-bottom:21px}.rotating-word span{font-size:25px}.filters button{padding:9px 12px}.contact-intro .contact-address.copy-email{gap:8px}.copy-icon{width:18px;height:18px}}
@media(max-width:380px){.header-inner{gap:10px}.header-tools{gap:7px}.logo.logo--full{width:115px}.logo.logo--full img,.site-header.is-scrolled .logo.logo--full img{width:115px;height:54px}.tsv-lang-links{padding:2px}.tsv-lang-links a{min-width:27px;padding-inline:4px}.mobile-toggle{font-size:11px;gap:5px}.atelier-copy h1,.lang-it .atelier-copy h1{font-size:66px}.contact-intro .contact-address.copy-email{font-size:22px}}
@media(min-width:761px) and (max-width:1000px){.lang-it .atelier-copy h1{font-size:clamp(64px,11vw,112px)}}
@media(max-width:760px){.lang-it .atelier-copy h1{font-size:clamp(52px,14.5vw,90px)}}
@media(prefers-reduced-motion:reduce){.cinema-ready .hero-slide{clip-path:none}.cinema-ready .hero-slide img{transform:none}.hero-dots button[aria-pressed=true] span::after{transform:none!important}.section-scroll i::after{transform:none}.hero-frame::after{display:none}.project-tile:hover,.project-tile:focus-visible,.symbol-play:hover img{transform:none}.rotating-word span{transform:none}.toast.show::after{display:none}.copy-icon .copy-check{transition:none}}

/* Mobile proportions: keep the wordmark inside its box and reserve square language cells. */
@media(max-width:760px){
 .header-inner{height:88px;gap:10px;justify-content:space-between}
 .site-header.is-scrolled .header-inner{height:76px}
 .site-header .logo.logo--full{display:block;width:clamp(104px,34vw,150px);height:auto;line-height:0;flex:0 0 auto}
 .site-header .logo.logo--full img,.site-header.is-scrolled .logo.logo--full img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center}
 .header-tools{flex:0 0 auto;gap:10px;margin-left:auto}
 .tsv-lang-links{display:flex;flex:0 0 auto;gap:0;padding:3px;align-items:center}
 .tsv-lang-links a{flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;font-size:11px;line-height:1;letter-spacing:0}
 .tsv-lang-links .moving-indicator{border-radius:50%}
 .mobile-toggle{flex:0 0 auto;gap:7px;font-size:12px;min-height:46px;white-space:nowrap}
 .mobile-toggle>span{font-size:21px;line-height:1}
 .atelier-hero{padding-top:20px;row-gap:28px}
 .atelier-copy{align-items:center;text-align:center;padding-top:0;width:100%;max-width:540px;justify-self:center}
 .atelier-copy>.eyebrow{width:100%;font-size:8px;line-height:1.6;letter-spacing:.1em}
 .atelier-copy h1,.lang-it .atelier-copy h1{width:100%;max-width:none;font-size:clamp(64px,20.5vw,108px);line-height:.98;letter-spacing:0}
 .lang-it .atelier-copy h1{font-size:clamp(47px,15.4vw,82px)}
 .atelier-copy h1.wp-block-heading{margin:22px 0 25px}
 .atelier-copy>.hero-description{width:100%;max-width:none;font-size:14px;line-height:1.6;margin:0 0 12px}
 .atelier-copy>.rotating-line{width:100%;font-size:14px;line-height:1.5;margin:0 0 22px}
 .atelier-copy .rotating-word{text-align:center}
 .atelier-copy .rotating-word span{font-size:25px}
 .atelier-copy .primary-link{align-self:center;margin:0;min-height:50px;padding:14px 24px;gap:32px;font-size:12px}
}
@media(max-width:360px){
 .header-inner{gap:8px}
 .header-tools{gap:8px}
 .site-header .logo.logo--full{width:104px}
 .mobile-toggle{font-size:11px;gap:6px}
 .atelier-copy>.eyebrow{font-size:7px}
 .atelier-copy>.rotating-line{font-size:13px}
 .atelier-copy .rotating-word span{font-size:23px}
}
