:root{--cream:#ecdbaf;--brown:#3a1d05;--font:"Arial", "Helvetica Neue",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:1024px;margin:0;background:var(--cream);color:var(--brown);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:.2em}h1,h2,h3,p{margin:0}h2,h3{font-weight:700;letter-spacing:-.065em;line-height:1.02}h2{font-size:clamp(32px,5vw,84px)}p{font-size:clamp(17px,1.9vw,32px);line-height:1.15;letter-spacing:-.045em}.wrap{width:81%;margin-inline:auto}main{max-width:1920px;margin-inline:auto}section{position:relative;min-height:max(640px,62.5vw)}.dark{background:var(--brown);color:var(--cream)}nav{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(14px,1.6vw,27px);letter-spacing:-.055em}nav a{display:inline-flex;align-items:center;min-height:44px}.header{padding-top:3.2vw}.hero{display:flex;flex-direction:column}.identity{position:absolute;top:42%;left:50%;transform:translateX(-50%);width:41%}.identity h1{font-size:clamp(56px,9vw,172px);font-weight:700;line-height:.85;letter-spacing:-.085em;white-space:nowrap}.identity-caption{display:flex;justify-content:space-between;font-size:clamp(16px,2.5vw,48px);line-height:1;letter-spacing:-.07em;margin-top:.1em}.section-cue{position:absolute;bottom:0;width:max-content;font-size:clamp(13px,1.4vw,25px);letter-spacing:-.055em;display:flex;flex-direction:column;align-items:center;gap:.3em}.section-cue span{display:block;flex:none;height:clamp(32px,3.2vw,60px);position:relative;width:100%;border-left:2px solid currentColor}.hero-cue{left:9.5%;align-items:flex-start}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:9%;padding-top:16%}.bio h2{white-space:nowrap;margin-bottom:.14em}.portrait{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 0%;border-radius:50%;display:block}.about-cue{right:9.5%;align-items:flex-end}.projects{padding-top:9.5%}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading>span{font-size:clamp(16px,2.5vw,42px);font-weight:700;letter-spacing:-.08em}.project-list{margin-top:7%}.project+.project{margin-top:3.4%}.project h3{font-size:clamp(25px,3.3vw,56px)}.project p{margin-top:.1em}.coming-soon{margin-top:2.4%;border-radius:clamp(4px,.8vw,14px);background:var(--brown);color:var(--cream);font-size:clamp(24px,3.3vw,56px);font-weight:700;letter-spacing:-.065em;line-height:1;padding:1.8% 20px;text-align:center}.projects-cue{left:50%;transform:translateX(-50%)}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:10;left:15px;top:15px;padding:12px;background:var(--brown);color:var(--cream)}
@media(min-width:1920px){section{min-height:1200px}.header{padding-top:60px}.section-cue span{height:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Verticali allungate; orizzontali larghe quanto le scritte. */
.hero-cue span,.about-cue span{height:clamp(96px,8vw,154px);border-top:2px solid currentColor}
.projects-cue{align-items:center;text-align:center}
.projects-cue span{width:0;border-top:0}

/* Sezione Info: coordinate proporzionali alla tavola desktop originale. */
.contact{display:block;min-height:0;background:#3d1c00}
.contact-art{display:block;width:100%;height:auto;aspect-ratio:1680.010864 / 1050}
.contact-link{position:absolute;display:block;min-height:0;color:#f0daab}
.contact-footer,.contact-footer nav{position:static;margin:0;padding:0}
.contact-footer .contact-link{display:block;min-height:0;color:#3d1c00}
.contact-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.contact-link:hover{outline:1px solid currentColor;outline-offset:4px}
.contact-email{left:29.94028258%;top:34.19047619%;width:39.88069449%;height:5.61904762%}
.contact-brand{left:0.00000000%;top:56.09523810%;width:100.00000000%;height:27.14285714%}
.contact-nav-home{left:15.77370752%;top:88.57142857%;width:11.36897410%;height:5.71428571%}
.contact-nav-about{left:38.15451517%;top:88.57142857%;width:8.09518575%;height:5.71428571%}
.contact-nav-projects{left:57.26153447%;top:88.57142857%;width:11.54754437%;height:5.71428571%}
.contact-nav-info{left:79.93995925%;top:88.57142857%;width:4.22616315%;height:5.71428571%}

/* Sezione 1: grafica del PDF, scalata uniformemente con il contenitore desktop. */
.hero-original{display:block;min-height:0;background:#f0daab}
.hero-art{display:block;width:100%;height:auto;aspect-ratio:1680 / 1050.783447}
.hero-header,.hero-header nav{position:static;margin:0;padding:0}
.hero-original .hero-link{position:absolute;display:block;min-height:0;color:#3d1c00}
.hero-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.hero-link:hover{outline:1px solid currentColor;outline-offset:4px}
.hero-nav-home{left:15.83333333%;top:3.73680677%;width:11.36904762%;height:5.71002524%}
.hero-nav-about{left:38.21428571%;top:3.73680677%;width:8.09523810%;height:5.71002524%}
.hero-nav-projects{left:57.32142857%;top:3.73680677%;width:11.54761905%;height:5.71002524%}
.hero-nav-info{left:79.94047619%;top:3.73680677%;width:4.22619048%;height:5.71002524%}
.hero-next{left:9.22619048%;top:84.03253806%;width:13.98809524%;height:5.32935689%}

/* Sottolineatura delle voci di navigazione sui testi vettoriali. */
.hero-header .hero-link:hover,.hero-header .hero-link:focus-visible,
.contact-footer .contact-link:hover,.contact-footer .contact-link:focus-visible{outline:none;text-decoration:none}
.hero-header .hero-link::after,.contact-footer .contact-link::after{content:"";position:absolute;left:var(--underline-left);width:var(--underline-width);bottom:16%;height:2px;background:currentColor;opacity:0;pointer-events:none}
.hero-header .hero-link:hover::after,.hero-header .hero-link:focus-visible::after,
.contact-footer .contact-link:hover::after,.contact-footer .contact-link:focus-visible::after{opacity:1}
.hero-nav-home,.contact-nav-home{--underline-left:5.235602%;--underline-width:89.110650%}
.hero-nav-about,.contact-nav-about{--underline-left:7.378971%;--underline-width:84.199018%}
.hero-nav-projects,.contact-nav-projects{--underline-left:5.307195%;--underline-width:89.462083%}
.hero-nav-info,.contact-nav-info{--underline-left:14.868337%;--underline-width:71.058052%}

/* Zoom progressivo desktop: risorse locali, fallback statico senza JavaScript. */
.hero-stage,.hero-canvas{position:relative}
.hero-zoom-layer,.hero-zoom-logo{display:none}
.hero-original.zoom-enabled{height:240vh;min-height:0}
.zoom-enabled .hero-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#f0daab}
.zoom-enabled .hero-canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100%,159.880714vh);aspect-ratio:1680 / 1050.783447}
.zoom-enabled .hero-art{visibility:hidden}
.zoom-enabled .hero-zoom-layer{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.zoom-enabled .hero-zoom-logo{display:block;position:absolute;left:30.17%;top:42.53%;width:39.702381%;height:auto;transform-origin:50% 50%;will-change:transform;pointer-events:none;z-index:2}
.zoom-enabled .hero-header .hero-link,.zoom-enabled .hero-next{z-index:3}
@media(prefers-reduced-motion:reduce){.hero-original.zoom-enabled{height:auto}.zoom-enabled .hero-stage{position:relative;height:auto}.zoom-enabled .hero-canvas{position:relative;left:auto;top:auto;transform:none;width:100%}.zoom-enabled .hero-art{visibility:visible}.zoom-enabled .hero-zoom-layer,.zoom-enabled .hero-zoom-logo{display:none}}

/* Il mio mondo: nuova tavola desktop con la foto originale incorporata. */
.projects-original{min-height:0;padding:0;background:#f0daab}
.projects-art{display:block;width:100%;height:auto;aspect-ratio:1680 / 1050}
.gallery-pending,.projects-info-link{position:absolute;display:block}
.gallery-pending{left:73.511454%;top:32.14714118%;width:14.0%;height:6.48433740%;cursor:default}
.projects-info-link{left:27.321429%;top:91.38026338%;width:4.2%;height:5.66092948%;color:#3d1c00}
.projects-info-link:hover{text-decoration:none}
.projects-info-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Collegamento alla galleria Portofino. */
.gallery-entry{left:73.63095238%;top:33.71428571%;width:13.57142857%;height:7.23809524%;cursor:pointer;color:#3d1c00}
.gallery-entry::after{content:"";position:absolute;left:4.38596491%;width:91.66666667%;bottom:8%;height:2px;background:currentColor;opacity:0;pointer-events:none}
.gallery-entry:hover::after,.gallery-entry:focus-visible::after{opacity:1}
.gallery-entry:focus-visible{outline:none}
