/* Contact hero: individual photographic layers, driven by page scroll. */
.fig-contact-journey{--fig-header:var(--header-height,110px);--fig-sticky-top:var(--fig-header);--fig-stage-height:700px;--fig-progress:0;position:relative;isolation:isolate;background:#102e24;color:#f3f5e9}
.fig-contact-journey.fig-enhanced{height:calc(var(--fig-stage-height) + 110svh)}
.fig-contact-stage{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);align-items:center;column-gap:24px;min-height:calc(100svh - var(--fig-header));padding:52px max(5vw,calc((100% - 1320px)/2)) 76px;overflow:clip}
.fig-enhanced .fig-contact-stage{position:sticky;top:var(--fig-sticky-top)}
.fig-contact-backdrop{position:absolute;inset:-2%;z-index:-2;transform:translate3d(0,var(--fig-backdrop-y,0px),0) scale(var(--fig-backdrop-scale,1.025));pointer-events:none}
.fig-contact-backdrop img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:none}
.fig-contact-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#09271ed9 0,#0c2a2178 43%,#0c2a2112 68%),linear-gradient(0deg,#102e24 0,transparent 19%,transparent 87%,#09271e26)}
.fig-contact-copy{position:relative;z-index:3;min-width:0;max-width:650px;padding:10px 0}
.fig-contact-copy .eyebrow{font:600 .75rem/1.5 'DM Sans',sans-serif;letter-spacing:.19em;color:#c0d0b2;margin:0 0 24px}
.page-contatti .fig-contact-copy h1{font:400 clamp(3.4rem,6.5vw,6rem)/1.04 'Manrope',sans-serif;letter-spacing:-.06em;margin:0;color:#f2f5e7;text-wrap:balance}
.fig-contact-copy h1 em{font:italic 1.14em/1.12 Georgia,serif;letter-spacing:-.045em;color:#edb5bd}
.fig-contact-lede{font:400 1.0625rem/1.7 'DM Sans',sans-serif;color:#dae5cd;margin:26px 0 0;max-width:370px;text-wrap:balance}
.fig-contact-copy .action-row{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:12px;margin:32px 0 0;max-width:630px}
body.page-contatti .fig-contact-copy .button{display:inline-grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;min-height:58px;padding:14px 49px;font-size:.875rem;flex:1 1 230px;border-radius:15px;background:linear-gradient(120deg,#e0eeb7,#bed78f);border-color:#d5e8ad;color:#1b3e2c;box-shadow:inset 0 1px #f5ffdc99,0 9px 24px #04160f24}
body.page-contatti .fig-contact-copy .button-outline{flex:1 1 200px;color:#f3f5e9;border-color:#bed0b46b;background:#153d31b3;box-shadow:inset 0 1px #deebc916,0 9px 24px #04160f14;backdrop-filter:none}
body.page-contatti .fig-contact-copy .button:hover{border-color:#e7f4c7;box-shadow:inset 0 1px #f5ffdc99,0 12px 26px #04160f3b;transform:translateY(-2px)}
body.page-contatti .fig-contact-copy .button-outline:hover{background:#2d5142}
.fig-contact-copy .button:focus-visible,.fig-contact-bottom a:focus-visible{outline:3px solid #edb5bd;outline-offset:5px}
.fig-contact-location{display:block;color:#bfceb4;font-size:.75rem;line-height:1.6;letter-spacing:.02em;margin:22px 0 0}
.fig-contact-visual{position:relative;isolation:isolate;grid-column:2;grid-row:1;width:100%;height:clamp(340px,42vw,610px);max-height:calc(100svh - var(--fig-header) - 100px);min-height:340px;margin:0;pointer-events:none;perspective:1000px}
.fig-contact-halo{position:absolute;inset:3%;border-radius:50%;background:radial-gradient(ellipse,#b3817552,transparent 65%);opacity:var(--fig-halo,.65);pointer-events:none}
.fig-piece{--fig-x:0%;--fig-y:0%;--fig-turn:0deg;--fig-scale:1;position:absolute;left:50%;top:50%;aspect-ratio:1;transform:translate(-50%,-50%) translate3d(var(--fig-x),var(--fig-y),0) rotate(var(--fig-turn)) scale(var(--fig-scale));pointer-events:none}
.fig-piece>img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(10px 17px 13px #071b2045)}
.fig-piece[data-fig-piece="whole"]{z-index:2;width:min(73%,calc(var(--fig-size,480px)*.68));--fig-x:-24%;--fig-y:-10%;--fig-turn:-18deg;--fig-scale:.94}
.fig-piece[data-fig-piece="half"]{z-index:4;width:min(84%,calc(var(--fig-size,480px)*.76));--fig-x:9%;--fig-y:11%;--fig-turn:12deg;--fig-scale:.94}
.fig-piece[data-fig-piece^="leaf"]{z-index:1;width:min(50%,calc(var(--fig-size,480px)*.38))}
.fig-piece[data-fig-piece="leaf-left"]{--fig-x:-57%;--fig-y:27%;--fig-turn:-36deg;--fig-scale:.94}
.fig-piece[data-fig-piece="leaf-top"]{--fig-x:19%;--fig-y:-58%;--fig-turn:42deg;--fig-scale:.9}
.fig-piece[data-fig-piece="leaf-right"]{z-index:5;width:min(37%,calc(var(--fig-size,480px)*.3));--fig-x:81%;--fig-y:62%;--fig-turn:124deg;--fig-scale:.78}
.fig-contact-bottom{position:absolute;bottom:21px;left:5vw;right:5vw;display:flex;justify-content:center;z-index:4}
.fig-contact-bottom a{display:inline-flex;min-height:42px;align-items:center;gap:12px;font-size:.8125rem;line-height:1.5;color:#d8e5c9;padding:0 10px;text-align:center}
.fig-scroll-line{width:34px;height:1px;background:#c59b9e;transform-origin:left;transform:scaleX(calc(.45 + var(--fig-progress)*.55))}
.fig-contact-progress{position:absolute;bottom:0;left:0;right:0;height:2px;z-index:5;background:#bdc99e1f;pointer-events:none}
.fig-contact-progress span{display:block;height:100%;background:linear-gradient(90deg,#bbd593,#edb5bd);transform:scaleX(var(--fig-progress));transform-origin:left}
.fig-enhanced .fig-contact-visual{animation:fig-arrive 1.15s cubic-bezier(.2,.7,.2,1) both}
.fig-enhanced .fig-contact-intro{animation:fig-copy-arrive .75s ease both}
.page-contatti .contact-channel.fig-card-enter{animation:fig-card-arrive .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--fig-card-delay,0ms)}
@keyframes fig-arrive{from{opacity:.25;translate:0 22px;scale:.93}to{opacity:1;translate:0 0;scale:1}}
@keyframes fig-copy-arrive{from{opacity:.45;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes fig-card-arrive{from{opacity:.5;translate:0 24px}to{opacity:1;translate:0 0}}
@media(min-width:1500px){.fig-contact-visual{max-width:650px;justify-self:center}.fig-contact-copy .action-row{max-width:610px}}
@media(max-width:1100px) and (min-width:761px){
 .fig-contact-stage{column-gap:5px;padding-left:5%;padding-right:4%}
 .page-contatti .fig-contact-copy h1{font-size:clamp(3rem,6.4vw,4.7rem)}
 .fig-contact-copy .action-row{max-width:310px;gap:10px;margin-top:25px}
 body.page-contatti .fig-contact-copy .button{flex-basis:100%;min-height:54px}
 .fig-contact-visual{min-height:300px;height:400px}
}
@media(max-width:760px){
 .fig-contact-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "art" "actions" "location" "bottom";align-content:center;justify-items:center;gap:8px;min-height:calc(100svh - var(--fig-header));padding:26px 24px 14px}
 .fig-contact-copy{display:contents}
 .fig-contact-intro{grid-area:intro;position:relative;z-index:3;text-align:center}
 .fig-contact-copy .eyebrow{font-size:.6875rem;letter-spacing:.18em;margin-bottom:10px}
 .page-contatti .fig-contact-copy h1{font-size:clamp(2.65rem,10.5vw,4rem);line-height:1.04;letter-spacing:-.045em}
 .fig-contact-lede{font-size:.9375rem;line-height:1.6;margin:14px auto 0;max-width:310px}
 .fig-contact-visual{--fig-size:clamp(182px,27svh,245px);grid-area:art;max-width:390px;width:100%;height:clamp(182px,27svh,245px);min-height:0;max-height:none;margin:0;z-index:2}
 .fig-contact-copy .action-row{grid-area:actions;position:relative;z-index:4;display:flex;flex-direction:column;width:100%;max-width:350px;gap:10px;margin:4px 0 0}
 body.page-contatti .fig-contact-copy .button,body.page-contatti .fig-contact-copy .button-outline{flex:0 0 auto;width:100%;min-height:54px;padding:12px 46px;font-size:.875rem;border-radius:13px}
 .fig-contact-location{grid-area:location;position:relative;z-index:3;font-size:.75rem;text-align:center;margin:6px 0 0}
 .fig-contact-bottom{grid-area:bottom;position:relative;inset:auto;z-index:3;margin:0}
 .fig-contact-bottom a{font-size:.75rem;min-height:40px}
 .fig-contact-shade{background:linear-gradient(0deg,#102e24 0,#102e248c 20%,#102e2478 65%,#102e24a8 100%)}
 .fig-contact-backdrop img{object-position:46% 50%}
}
@media(max-width:360px){
 .fig-contact-stage{padding:22px 18px 12px;gap:6px}
 .page-contatti .fig-contact-copy h1{font-size:2.55rem}
 .fig-contact-lede{font-size:.875rem;margin-top:10px}
 .fig-contact-visual{height:180px}
 body.page-contatti .fig-contact-copy .button{font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce),(max-height:480px){
 .fig-contact-journey.fig-enhanced{height:auto}
 .fig-enhanced .fig-contact-stage{position:relative;top:auto}
 .fig-contact-visual{min-height:0;max-height:none}
 .fig-contact-journey *,.page-contatti .contact-channel.fig-card-enter{animation:none!important;transition:none!important}
 .fig-contact-progress{display:none}
}
