*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#090d0c;color:#f1eee6;font:16px Arial,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:258px;background:#111615;border-right:1px solid #252b28;padding:40px 28px;z-index:5;display:flex;flex-direction:column}.brand{text-decoration:none;color:#fff;font-size:20px;letter-spacing:2px;margin-bottom:55px}.brand b,.brand span{display:block}.brand span,label,aside .on,aside small,strong,.cards article>b{color:#9bd52b}nav{display:grid;gap:5px}nav a{color:#ddd;text-decoration:none;padding:12px;border-left:2px solid transparent;font-weight:bold}nav a:hover,nav .on{border-left-color:#9bd52b;background:#161c19}aside small{margin-top:auto;font-weight:bold;letter-spacing:1px}main{margin-left:258px}section{border-bottom:1px solid #222925}label{font-size:12px;font-weight:900;letter-spacing:2px}.hero{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding-left:5vw}.hero>div{padding:70px 0}.hero img{width:100%;height:100vh;object-fit:contain;background:radial-gradient(#18211d,#090d0c 65%)}h1,h2,h3,blockquote{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(60px,7vw,118px);line-height:.94;margin:.25em 0}h1 i,.final i{color:#9bd52b;font-style:normal}.lead{font-size:20px;line-height:1.6;color:#c4c7c2;max-width:720px}.btn{display:inline-block;margin-top:25px;background:#9bd52b;color:#090d0c;padding:17px 20px;text-decoration:none;font-weight:900;font-size:12px}.story{padding:100px 5vw;display:grid;grid-template-columns:110px 1fr 1fr;gap:45px}.year{font:38px Georgia;color:#59625e}h2{font-size:clamp(44px,5vw,76px);line-height:1;margin:.25em 0 .45em}p{line-height:1.75;color:#c4c7c2;font-size:18px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid img{width:100%;height:280px;object-fit:cover}.split,.today{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-left:7vw}.split>div,.today>div{padding:100px 6vw 100px 0}.split>img,.today>img{width:100%;height:760px;object-fit:contain}.split blockquote,.today blockquote{font-size:30px;line-height:1.35;border-left:3px solid #9bd52b;padding-left:25px;margin:35px 0}.gallery,.text{padding:100px 6vw}.gallery h2,.text h2{max-width:900px}.masonry{columns:3 260px;column-gap:14px}.masonry img{width:100%;margin-bottom:14px;display:block}.text{max-width:1200px;margin:auto;border:0}.cards{display:grid;grid-template-columns:repeat(3,1fr)}.cards article{padding:65px 45px;border-right:1px solid #222925}.cards article:last-child{border:0}.cards h3{font-size:34px}.final{text-align:center;padding:140px 5vw}.final h2{font-size:clamp(58px,9vw,145px);margin:.2em 0}@media(max-width:950px){aside{position:relative;width:100%;height:auto;padding:20px}.brand{margin-bottom:15px}nav{display:flex;overflow:auto}nav a{white-space:nowrap}aside small{display:none}main{margin:0}.hero{grid-template-columns:1fr;padding:60px 7vw 0}.hero img{height:520px}.story{grid-template-columns:1fr;padding:70px 7vw}.split,.today{grid-template-columns:1fr;padding:70px 7vw}.split>div,.today>div{padding:0}.split>img,.today>img{height:550px}.cards{grid-template-columns:1fr}.cards article{border-right:0;border-bottom:1px solid #222925}}@media(max-width:600px){h1{font-size:52px}h2{font-size:42px}.grid img{height:190px}.masonry{columns:2 140px}.split blockquote,.today blockquote{font-size:25px}}

/* v2: immagini più contenute + tipografia più morbida */
body{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif}
h1,h2,h3,blockquote{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;letter-spacing:-.035em}
h1,h2{font-weight:700}.hero{grid-template-columns:1.18fr .82fr;padding-right:3vw}.hero>img{height:72vh;max-height:720px;align-self:center;background:none;object-fit:contain}.story{grid-template-columns:100px minmax(320px,1.15fr) minmax(300px,.85fr)}.grid{align-content:start;gap:14px}.grid img{height:210px;border-radius:10px;object-fit:contain;background:#060807;padding:6px}.split{grid-template-columns:1.15fr .85fr;padding-right:5vw}.split>img,.today>img{height:590px;max-width:560px;justify-self:center}.gallery{padding-left:8vw;padding-right:8vw}.masonry{columns:3 220px;column-gap:22px;max-width:1120px;margin:40px auto 0}.masonry img{width:100%;max-height:390px;object-fit:contain;margin:0 0 22px;background:#050706;border-radius:12px;padding:8px}.today{grid-template-columns:.85fr 1.15fr;padding-right:7vw}.today>img{height:540px}.cards h3{font-weight:700;letter-spacing:-.02em}.final h2{font-weight:800}.btn{display:none!important}
@media(max-width:950px){.hero{padding-right:7vw}.hero>img{height:460px}.grid img{height:180px}.split>img,.today>img{height:470px}.masonry{columns:2 210px;max-width:720px}}
@media(max-width:600px){.hero>img{height:360px}.grid{grid-template-columns:1fr 1fr}.grid img{height:150px}.split>img,.today>img{height:390px}.masonry{columns:2 130px;column-gap:10px}.masonry img{max-height:260px;margin-bottom:10px;padding:4px}}

/* v3: scala tipografica più compatta + look più cool */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
body{font-family:"Manrope","Segoe UI",sans-serif;font-size:15px}
h1,h2,h3,blockquote{font-family:"Space Grotesk","Manrope",sans-serif;letter-spacing:-.03em}
h1{font-size:clamp(42px,4.8vw,74px);line-height:1.02;font-weight:600}
h2{font-size:clamp(32px,3.4vw,52px);line-height:1.08;font-weight:600}
h3{font-size:27px!important;line-height:1.15}
p{font-size:16px;line-height:1.72}.lead{font-size:18px;line-height:1.6;max-width:660px}
label{font-size:10px;letter-spacing:1.8px}.year{font:600 28px "Space Grotesk",sans-serif}
.split blockquote,.today blockquote{font-size:23px;line-height:1.42}
.final h2{font-size:clamp(46px,6vw,92px)}
.hero{min-height:82vh}.hero>img{height:58vh;max-height:570px;max-width:470px;justify-self:center}
.story{padding-top:78px;padding-bottom:78px}.grid img{height:165px}.split>div,.today>div{padding-top:78px;padding-bottom:78px}.split>img,.today>img{height:450px;max-width:430px}.gallery,.text{padding-top:78px;padding-bottom:78px}.masonry{columns:4 180px;max-width:1000px}.masonry img{max-height:300px}.cards article{padding:50px 38px}.final{padding:95px 5vw}
@media(max-width:950px){h1{font-size:46px}h2{font-size:36px}.hero>img{height:390px}.grid img{height:150px}.split>img,.today>img{height:390px}.masonry{columns:2 190px}}
@media(max-width:600px){h1{font-size:39px}h2{font-size:31px}p{font-size:15px}.lead{font-size:16px}.hero>img{height:320px}.grid img{height:125px}.split>img,.today>img{height:330px}.split blockquote,.today blockquote{font-size:20px}}


/* v4: fix definitivo visualizzazione immagini */
.hero img,.story img,.grid img,.split img,.gallery img,.masonry img,.today img{display:block!important;visibility:visible!important;opacity:1!important;position:relative;z-index:1}
.hero>img,.split>img,.today>img{object-fit:contain!important}
.grid img,.masonry img{object-fit:contain!important}

/* v5: logo reale + asset path semplificato */
.brand-image{margin-bottom:36px;display:block;width:100%;max-width:178px}
.brand-image img{display:block;width:100%;height:auto;max-height:145px;object-fit:contain;object-position:left center}
@media(max-width:950px){.brand-image{width:150px;margin:0 0 15px}}

/* Release: fotografie senza pannelli, proporzioni originali */
.hero img,.story img,.grid img,.split img,.gallery img,.masonry img,.today img{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;object-fit:contain!important}
.gallery img,.grid img{border-radius:0!important}

/* Fantasy Fiber 2026-10-08: responsive mobile, no fixed image boxes */
.ff-language{display:flex;align-items:center;gap:8px;margin-top:22px;padding:12px 0 0;border-top:1px solid #29302c}
.ff-language-label{font-size:10px;color:#a4aea6;font-weight:800;letter-spacing:.12em;margin-right:5px}
.ff-language a{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:9px 12px;border:1px solid #343e37;border-radius:6px;color:#eee;text-decoration:none;font-size:13px;font-weight:800}
.ff-language a.active{background:#9bd52b;color:#0b100d;border-color:#9bd52b}
@media(max-width:950px){
 html,body{overflow-x:hidden}
 aside{padding:12px 18px!important;gap:8px}
 .brand-image{margin:0!important;max-width:none!important;width:175px!important}
 .brand-image img{width:175px!important;max-height:155px!important}
 nav{gap:4px;max-width:100%;padding-bottom:5px}
 nav a{padding:9px 12px;font-size:13px}
 .ff-language{margin-top:0;padding-top:9px}
 .hero{min-height:0!important;display:flex!important;flex-direction:column;gap:14px;padding:30px 20px 26px!important}
 .hero>div{padding:0!important;width:100%}
 .hero>img{width:min(100%,310px)!important;height:auto!important;max-height:340px!important;align-self:center;object-fit:contain!important}
 .story{display:flex!important;flex-direction:column;gap:12px!important;padding:30px 20px!important}
 .story .year{font-size:22px}
 .story .grid-single{width:100%;margin:4px 0 0;display:flex;justify-content:center;align-items:center}
 .story .grid-single img{width:min(100%,340px)!important;height:auto!important;max-height:380px!important;object-fit:contain!important}
 .split,.today{display:flex!important;flex-direction:column;padding:30px 20px!important;gap:18px!important}
 .split>div,.today>div{width:100%;padding:0!important}
 .split>img,.today>img{width:min(100%,360px)!important;height:auto!important;max-height:400px!important;object-fit:contain!important;align-self:center}
 .today>img{order:2}.today>div{order:1}
 .gallery,.text{padding:30px 20px!important}
 .masonry{columns:2!important;column-gap:12px!important;margin:20px auto 0!important}
 .masonry img{height:auto!important;max-height:none!important;width:100%!important;margin:0 0 12px!important;object-fit:contain!important;break-inside:avoid}
 .cards article{padding:26px 20px!important}
 .final{padding:42px 20px!important}
 h1{font-size:clamp(34px,9vw,48px)!important;line-height:1.08!important}
 h2{font-size:clamp(29px,7.8vw,40px)!important;line-height:1.12!important}
 p{font-size:15px!important;line-height:1.65!important;margin:12px 0}
 .lead{font-size:16px!important}
 .split blockquote,.today blockquote{font-size:19px!important;margin:18px 0!important;padding-left:15px!important}
}
@media(max-width:420px){
 .masonry{columns:2!important}
 .hero>img{max-height:290px!important}
 .story .grid-single img{max-height:320px!important}
 .split>img,.today>img{max-height:320px!important}
}

/* FF logo and typography 2026-10-09 */
@media(min-width:951px){aside{padding-left:19px!important;padding-right:19px!important}.brand-image{width:220px!important;max-width:220px!important;margin:0 auto 38px!important}.brand-image img{width:220px!important;height:auto!important;max-height:none!important}h1{font-size:clamp(38px,3.55vw,54px)!important;line-height:1.12!important}h2{font-size:clamp(30px,2.8vw,43px)!important;line-height:1.14!important}.final h2{font-size:clamp(38px,4.3vw,64px)!important}.cards h3{font-size:24px!important}}
@media(min-width:601px) and (max-width:950px){h1{font-size:clamp(35px,4.4vw,45px)!important}h2{font-size:clamp(30px,3.8vw,38px)!important}}
@media(max-width:950px){.brand-image{width:190px!important;max-width:190px!important}.brand-image img{width:190px!important;height:auto!important;max-height:none!important}}
@media(max-width:600px){h1{font-size:clamp(30px,8vw,37px)!important;line-height:1.12!important}h2{font-size:clamp(27px,7vw,33px)!important;line-height:1.16!important}.final h2{font-size:clamp(32px,8vw,40px)!important}.cards h3{font-size:22px!important}}
