/* Nuova Filanda: catalogo compatto, schede prodotto e racconti di collezione. */
.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}
.home-intro{max-width:1480px;margin:auto;min-height:510px;display:grid;grid-template-columns:49% 51%;border-bottom:1px solid rgba(59,74,63,.12)}
.home-intro-copy{padding:clamp(3rem,5.5vw,5.5rem) clamp(1.4rem,5vw,5rem) 2.8rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative}
.home-intro h1{font-size:clamp(3.3rem,4.8vw,5.1rem);letter-spacing:-.042em;margin:1.1rem 0 1.25rem}
.home-intro h1 em{color:var(--olive)}
.home-intro-copy>p{max-width:29rem;font-size:1.03rem;color:#4f584f;margin-bottom:.8rem}
.home-intro .hero-actions{margin-top:1.1rem}
.home-intro-mark{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#858f83;margin-top:2.8rem}
.home-intro-visual{position:relative;min-height:510px;background:#e8e5d9;overflow:hidden}
.intro-image{position:absolute;display:block;overflow:hidden;background:var(--warm)}
.intro-image.main{height:100%;width:72%;right:0;top:0}
.intro-image.inset{width:38%;height:52%;left:5%;bottom:6%;border:10px solid var(--linen);box-shadow:0 12px 35px rgba(35,47,37,.12)}
.intro-image img{height:100%;width:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.2,1)}
.intro-image:hover img{transform:scale(1.045)}
.intro-image span{position:absolute;bottom:0;left:0;right:0;padding:.8rem .9rem;background:linear-gradient(transparent,rgba(15,25,20,.58));color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.home-intro-visual .inset span{font-size:.58rem;padding:.55rem}
.home-film{--film-scale:.86;--film-progress:0;--film-wipe:108%;--film-copy-first:1;--film-copy-second:0;height:225svh;position:relative;background:var(--green);color:var(--linen)}
.home-film-sticky{position:sticky;top:82px;height:calc(100svh - 82px);min-height:600px;overflow:hidden;isolation:isolate}
.film-frame,.film-shade{position:absolute;inset:0;transform:scale(var(--film-scale));will-change:transform}
.film-frame{overflow:hidden;background:#7d8a75}
.film-image{position:absolute;inset:0}
.film-image-second{transform:scale(var(--film-second-scale,1.06));-webkit-mask-image:linear-gradient(90deg,transparent calc(var(--film-wipe) - 8%),#000 calc(var(--film-wipe) + 8%));mask-image:linear-gradient(90deg,transparent calc(var(--film-wipe) - 8%),#000 calc(var(--film-wipe) + 8%));will-change:transform}
.film-image img{width:100%;height:100%;object-fit:cover}
.film-shade{background:linear-gradient(90deg,rgba(17,30,22,.64),rgba(17,30,22,.08) 78%),linear-gradient(0deg,rgba(17,30,22,.34),transparent 50%);pointer-events:none}
.film-content{position:absolute;z-index:1;left:clamp(2.5rem,11vw,11rem);bottom:clamp(5rem,12vh,9rem);right:2rem;max-width:850px;opacity:var(--film-copy-first);transform:translateY(var(--film-copy-first-y,0px))}
.film-content-second{opacity:var(--film-copy-second);transform:translateY(var(--film-copy-second-y,20px));pointer-events:none}
.home-film.is-second .film-content-first{pointer-events:none}
.home-film.is-second .film-content-second{pointer-events:auto}
.film-content .eyebrow{color:#f7f4eb;letter-spacing:.18em}
.film-content h2{font-size:clamp(3.8rem,7.3vw,8rem);line-height:1.02;letter-spacing:-.052em;color:white;margin:.8rem 0 1rem}
.film-content h2 em{font-weight:400}
.film-content p{font-size:clamp(1rem,1.35vw,1.25rem);color:#f3f0e8;margin:0 0 1.6rem}
.film-link{display:inline-block;color:white;border-bottom:1px solid rgba(255,255,255,.85);padding-bottom:.35rem;font-size:.76rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.film-progress{position:absolute;z-index:2;left:clamp(2.5rem,11vw,11rem);right:clamp(2.5rem,11vw,11rem);bottom:2.4rem;height:1px;background:rgba(255,255,255,.38)}
.film-progress span{display:block;background:white;height:100%;width:100%;transform:scaleX(var(--film-progress));transform-origin:left}
.collections-section{padding-top:3rem;padding-bottom:4.5rem}
.collections-section .collection-image{height:clamp(320px,30vw,430px)}
.collections-section .collection-copy{padding:1.45rem 1.7rem 1.7rem}
.collections-section .collection-copy h3{font-size:clamp(2rem,2.8vw,3.2rem)}
.collections-section .collection-copy p{font-size:.95rem}
.featured-section{padding-top:1.5rem}
.home-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.featured-section .section-heading h2{font-size:clamp(2.2rem,3.4vw,3.7rem)}
.philosophy-band .philosophy-visual{min-height:510px}
.philosophy-band .philosophy-copy{padding:clamp(3.5rem,5vw,6rem)}
.philosophy-band .philosophy-copy h2{font-size:clamp(2.5rem,3.5vw,4rem)}

.catalog-intro{max-width:1370px;margin:0 auto;padding:2.5rem clamp(1.3rem,4vw,4rem) 1.6rem}
.catalog-intro h1{font-size:clamp(2.9rem,4.2vw,4.3rem);letter-spacing:-.035em;margin:.5rem 0 .5rem}
.catalog-intro p{max-width:54rem;font-size:.96rem;color:#586057;margin:0}
.catalog-section{max-width:1370px;margin:auto;padding:0 clamp(1.3rem,4vw,4rem) 6rem}
.catalog-section-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0 1.45rem;border-top:1px solid var(--sand);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--olive)}
.catalog-section-header a{color:var(--green);text-decoration:underline;text-underline-offset:.3rem}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.catalog-grid-curtains{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-card{min-width:0;display:flex;flex-direction:column;background:var(--paper);border:1px solid rgba(59,74,63,.1);transition:box-shadow .25s,transform .25s}
.catalog-card:hover{box-shadow:0 18px 35px rgba(37,48,38,.075);transform:translateY(-3px)}
.catalog-photo{display:block;height:clamp(220px,20vw,270px);background:#e7e4d9;overflow:hidden}
.catalog-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .28s}
.catalog-photo img.is-switching,.detail-main-photo img.is-switching{opacity:.42}
.catalog-card:hover .catalog-photo img{transform:scale(1.035)}
.catalog-body{padding:1.25rem 1.3rem 1.35rem;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.catalog-card .eyebrow{font-size:.63rem}
.catalog-card h2{font-size:clamp(1.7rem,2.2vw,2.2rem);margin:.35rem 0 .15rem}
.catalog-price{font-size:.96rem;font-weight:700;color:var(--green);margin:0 0 .65rem}
.catalog-desc{font-size:.88rem;color:#626b60;line-height:1.45;margin:0 0 .9rem;min-height:2.7em}
.card-colorline{display:flex;align-items:center;gap:.6rem;min-height:2rem;font-size:.71rem;color:#5e655c;flex-wrap:wrap}
.card-colorline .swatches{margin:0;gap:.55rem}
.card-colorline .swatch{height:23px;width:23px}
.card-colorline .swatch.selected:after{inset:-4px}
.card-colorline-muted{font-size:.78rem}
.catalog-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border-top:1px solid #deded4;margin-top:auto;padding-top:1rem}
.catalog-actions .text-link{font-size:.78rem;white-space:nowrap}
.catalog-actions .button-primary{min-height:2.65rem;padding:.55rem .85rem;font-size:.73rem;white-space:nowrap}
.catalog-footnote{font-size:.8rem;color:#687066;margin:1.1rem 0 0}

.breadcrumbs{max-width:1500px;margin:auto;display:flex;gap:.6rem;padding:1.1rem clamp(1.3rem,4vw,4rem);font-size:.76rem;color:#677066}
.breadcrumbs a:hover{text-decoration:underline}
.detail-layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);gap:clamp(2rem,5vw,6rem);padding:0 clamp(1.3rem,4vw,4rem) 5rem}
.detail-gallery{min-width:0}
.detail-main-photo{height:min(68vw,650px);min-height:480px;background:#e8e5db;overflow:hidden}
.detail-main-photo img{width:100%;height:100%;object-fit:cover;transition:opacity .25s}
.gallery-thumbs{display:flex;gap:.65rem;margin-top:.8rem;overflow:auto;padding:.2rem}
.gallery-thumb{flex:0 0 76px;height:76px;padding:0;border:1px solid transparent;background:#e5e2d8;opacity:.65}
.gallery-thumb.selected{border-color:var(--green);opacity:1}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.detail-panel{align-self:start;position:sticky;top:120px;padding:1rem 0}
.detail-panel h1{font-size:clamp(3rem,5vw,5.4rem);margin:.6rem 0 1rem;letter-spacing:-.035em}
.detail-lede{font-size:1.04rem;max-width:36rem;color:#555d54}
.detail-price{font-size:1.55rem;font-weight:700;color:var(--green);margin:1.5rem 0}
.detail-price span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:#727b70}
.detail-option{padding:1.15rem 0;border-top:1px solid #d7d9ce;width:100%}
.detail-label{font-size:.85rem;font-weight:700;color:var(--green);display:block;margin-bottom:.55rem}
.detail-label strong{font-weight:500;color:#5f685e;margin-left:.4rem}
.detail-option .swatches{margin:.75rem 0}
.detail-option p{font-size:.88rem;margin:0;color:#5b635b}
.detail-option small{display:block;font-size:.73rem;color:#747b72;line-height:1.45;max-width:26rem}
.detail-option .format-select{max-width:420px;width:100%;margin-bottom:.4rem}
.detail-quote{width:100%;max-width:420px;margin:1rem 0 0}
.detail-caveat{font-size:.76rem;color:#6f766b;line-height:1.4;margin:.7rem 0 2rem}
.detail-specs{border-top:1px solid #d7d9ce;padding-top:1.3rem}
.detail-specs h2{font:700 .77rem var(--sans);text-transform:uppercase;letter-spacing:.13em;margin-bottom:1rem}
.detail-specs dl{margin:0}
.detail-specs dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid #d7d9ce;font-size:.82rem}
.detail-specs dt{color:#6e766c}
.detail-specs dd{margin:0;text-align:right;font-weight:700}
.detail-next{text-align:center;background:var(--warm);padding:5rem 1.5rem}
.detail-next h2{font-size:clamp(2.5rem,4vw,4.3rem);margin:.8rem 0 1rem}
.detail-next p{max-width:34rem;margin:0 auto 1.7rem}

.story-cover{--cover-shift:0px;min-height:calc(100svh - 82px);height:min(820px,calc(100svh - 82px));position:relative;overflow:hidden;background:var(--green);color:white}
.story-cover-image{position:absolute;inset:-30px;overflow:hidden}
.story-cover-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,25,20,.75) 0%,rgba(15,25,20,.25) 62%,rgba(15,25,20,.1)),linear-gradient(0deg,rgba(15,25,20,.35),transparent 55%)}
.story-cover-image img{width:100%;height:100%;object-fit:cover;transform:translateY(var(--cover-shift)) scale(1.08);will-change:transform}
.story-cover-content{position:absolute;z-index:1;bottom:clamp(3rem,7vw,7rem);left:clamp(1.5rem,7vw,7rem);right:1.5rem;max-width:760px}
.story-cover .eyebrow,.story-cover h1{color:white}
.story-cover h1{font-size:clamp(5rem,12vw,11rem);letter-spacing:-.055em;margin:.4rem 0 .6rem;line-height:1}
.story-cover p{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:34rem;line-height:1.45}
.story-down{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:.35rem;display:inline-block;margin-top:1rem}
.story-cover-index{position:absolute;right:clamp(1.5rem,4vw,4rem);bottom:3rem;z-index:1;font-size:.72rem;letter-spacing:.16em}
.story-ticker{overflow:hidden;background:var(--olive);color:var(--linen);padding:.8rem 0;font:500 clamp(1.7rem,3vw,3rem) var(--serif);white-space:nowrap}
.story-ticker div{width:max-content;animation:ticker 32s linear infinite}
@keyframes ticker{to{transform:translateX(-50%)}}
.story-manifesto{--manifesto-reveal:1;--manifesto-inset:0%;--manifesto-offset:0px;--manifesto-scale:1;height:160svh;position:relative;background:var(--green);color:var(--linen)}
.story-manifesto-sticky{position:sticky;top:82px;height:calc(100svh - 82px);min-height:620px;display:grid;grid-template-columns:49% 51%;overflow:hidden}
.manifesto-copy{padding:clamp(3rem,7vw,8rem);align-self:center;position:relative;z-index:1;opacity:var(--manifesto-reveal);transform:translateY(var(--manifesto-offset));will-change:opacity,transform}
.manifesto-copy .eyebrow{color:#d8dfce;letter-spacing:.17em}
.manifesto-copy h2{font-size:clamp(3.3rem,5.4vw,6.7rem);line-height:1.04;letter-spacing:-.05em;color:white;margin:1.3rem 0 1.8rem}
.manifesto-copy p{max-width:36rem;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.65;color:#e0e6da}
.manifesto-rule{display:block;width:clamp(60px,7vw,120px);height:1px;background:#d8dfce;margin-top:2rem}
.manifesto-image{height:100%;width:100%;clip-path:inset(var(--manifesto-inset));overflow:hidden}
.manifesto-image img{width:100%;height:100%;object-fit:cover;transform:scale(var(--manifesto-scale));will-change:transform}
.story-sequence{display:grid;grid-template-columns:52% 48%;max-width:1600px;margin:auto;position:relative}
.sequence-visual{position:relative}
.sequence-stage{position:sticky;top:82px;height:calc(100svh - 82px);min-height:560px;overflow:hidden;background:#d9d7ca}
.sequence-image{position:absolute;inset:0;margin:0;opacity:0;z-index:0;transition:opacity .65s ease}
.sequence-image.is-active{opacity:1;z-index:1}
.sequence-image img{width:100%;height:100%;object-fit:cover}
.sequence-stage:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(20,30,23,.4));pointer-events:none}
.sequence-progress{position:absolute;z-index:2;bottom:2rem;left:2rem;right:5rem;height:2px;background:rgba(255,255,255,.45)}
.sequence-progress span{display:block;transform-origin:left;transform:scaleX(0);width:100%;height:100%;background:white}
.sequence-counter{position:absolute;z-index:2;right:1.2rem;bottom:1.25rem;color:white;font-size:.7rem;letter-spacing:.1em}
.sequence-steps{background:var(--paper)}
.sequence-step{min-height:82vh;padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;opacity:.38;transform:translateY(32px);transition:opacity .55s ease,transform .65s ease;border-bottom:1px solid #e2e1d7}
.sequence-step.is-active{opacity:1;transform:translateY(0)}
.sequence-step h2{font-size:clamp(3.2rem,5vw,6rem);letter-spacing:-.04em;margin:1rem 0 1.5rem}
.sequence-step p{font-size:1.08rem;max-width:29rem}
.scene-material{display:block;margin-top:1.8rem;padding-top:.8rem;border-top:1px solid #c9d0c2;font-size:.69rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--olive)}
.sequence-step .text-link{margin-top:1.5rem;font-size:.82rem}
.story-exit{display:grid;grid-template-columns:1fr 1fr;background:var(--warm)}
.story-exit-image{min-height:560px}
.story-exit-image img{width:100%;height:100%;object-fit:cover}
.story-exit-copy{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.story-exit-copy h2{font-size:clamp(2.8rem,4.4vw,5rem);margin:1rem 0}
.story-exit-copy p{max-width:28rem}
.story-exit-copy .button-primary{margin-top:1.4rem}
.collections-intro{padding-top:4.3rem;padding-bottom:3.5rem}
.collections-intro h1{font-size:clamp(3.2rem,5.4vw,6rem)}
.collections-list{gap:3rem}
.collections-list .collection-card.wide .collection-image{height:clamp(420px,45vw,590px)}

.reveal-ready{opacity:0;transform:translateY(28px)}
.reveal-ready.revealed{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.2,1)}

@media(max-width:1100px){
 .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-products{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-products>.catalog-card:last-child{display:none}
 .home-intro h1{font-size:clamp(3rem,5vw,4.5rem)}
 .detail-layout{grid-template-columns:1fr 1fr;gap:2.5rem}
 .sequence-step{padding:3rem}
}
@media(max-width:760px){
 .home-intro{grid-template-columns:1fr;min-height:0}
 .home-intro-copy{padding:3.4rem 1.4rem 2.6rem}
 .home-intro h1{font-size:clamp(3.25rem,10vw,4.7rem)}
 .home-intro-mark{margin-top:2rem}
 .home-intro-visual{min-height:390px;height:52vh;max-height:510px}
 .home-film{height:190svh}
 .home-film-sticky{top:70px;height:calc(100svh - 70px);min-height:0}
 .film-content{left:2rem;right:2rem;bottom:5rem}
 .film-content h2{font-size:clamp(3.1rem,9.5vw,5rem)}
 .film-content p{font-size:.97rem;max-width:22rem}
 .film-progress{left:2rem;right:2rem;bottom:2.7rem}
 .intro-image.main{width:74%}
 .intro-image.inset{width:42%;height:50%;border-width:6px}
 .collections-section{padding:4.3rem 1.3rem}
 .collections-section .collection-image{height:350px}
 .catalog-intro{padding:3rem 1.3rem 2rem}
 .catalog-intro h1{font-size:clamp(2.8rem,8vw,4rem)}
 .catalog-section{padding:0 1.3rem 4rem}
 .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
 .catalog-photo{height:clamp(190px,36vw,280px)}
 .catalog-body{padding:1rem}
 .catalog-card h2{font-size:1.75rem}
 .catalog-desc{font-size:.78rem}
 .catalog-actions{flex-direction:column;align-items:stretch}
 .catalog-actions .button-primary{text-align:center}
 .home-products{gap:.85rem}
 .detail-layout{grid-template-columns:1fr;padding:0 1.3rem 4rem}
 .detail-main-photo{height:65vh;min-height:420px}
 .detail-panel{position:static;padding:0}
 .detail-panel h1{font-size:clamp(3rem,9vw,4.5rem)}
 .story-cover{height:calc(90svh - 70px);min-height:580px}
 .story-cover-content{bottom:4rem}
 .story-cover h1{font-size:clamp(5rem,17vw,8rem)}
 .story-cover-index{bottom:1.2rem}
 .story-manifesto{height:150svh}
 .story-manifesto-sticky{top:70px;height:calc(100svh - 70px);min-height:0;display:flex;flex-direction:column-reverse}
 .manifesto-image{height:44%;flex:0 0 44%}
 .manifesto-copy{flex:1;align-self:auto;padding:1.5rem 1.5rem 2rem;display:flex;flex-direction:column;justify-content:center}
 .manifesto-copy h2{font-size:clamp(2.5rem,8.5vw,4rem);margin:.65rem 0 .8rem}
 .manifesto-copy p{font-size:.94rem;line-height:1.5;margin:0}
 .manifesto-rule{margin-top:1rem}
 .story-sequence{display:flex;flex-direction:column}
 .sequence-visual{position:sticky;top:70px;height:48svh;z-index:1}
 .sequence-stage{position:relative;top:0;min-height:0;height:48svh}
 .sequence-steps{position:relative;z-index:0;background:transparent}
 .sequence-step{min-height:55svh;padding:3.5rem 1.5rem}
 .sequence-step h2{font-size:clamp(3rem,10vw,5rem)}
 .story-exit{grid-template-columns:1fr}
 .story-exit-image{min-height:420px;height:55vh}
 .story-exit-copy{padding:4rem 1.5rem}
 .collections-intro{padding-top:3.8rem}
}
@media(max-width:520px){
 .home-intro .hero-actions{flex-direction:row;align-items:center;gap:1.2rem}
 .home-intro .button-primary{font-size:.78rem;min-height:3rem;padding:.65rem 1rem}
 .home-intro .button-text{font-size:.8rem}
 .catalog-grid,.home-products{grid-template-columns:1fr}
 .home-products>.catalog-card:last-child{display:flex}
 .catalog-card{max-width:440px;width:100%;margin:auto}
 .catalog-photo{height:300px}
 .catalog-body{padding:1.2rem}
 .catalog-card h2{font-size:2rem}
 .catalog-desc{min-height:0;font-size:.86rem}
 .catalog-actions{flex-direction:row;align-items:center}
 .catalog-actions .button-primary{font-size:.72rem}
 .catalog-section-header{font-size:.68rem}
 .detail-main-photo{height:55vh;min-height:360px}
 .sequence-progress{left:1rem;right:4rem;bottom:1.4rem}
 .story-cover{min-height:550px}
 .story-cover p{font-size:1rem}
 .story-ticker{font-size:1.9rem}
}
@media(prefers-reduced-motion:reduce){
 .story-ticker div{animation:none}
 .sequence-image,.sequence-step,.story-cover-image img,.intro-image img,.reveal-ready{transition:none!important;transform:none!important}
 .sequence-step,.reveal-ready{opacity:1!important}
 .story-manifesto{height:auto}
 .story-manifesto-sticky{position:relative;top:0;height:auto;min-height:0}
 .manifesto-copy{opacity:1;transform:none}
 .manifesto-image{clip-path:none}
 .manifesto-image img{transform:none}
 .home-film{height:auto}
 .home-film-sticky{position:relative;top:0;height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr}
 .film-frame,.film-shade,.film-progress{display:none}
 .film-content,.film-content-second,.home-film.is-second .film-content-first{display:block;position:relative;left:auto;right:auto;bottom:auto;opacity:1;transform:none;pointer-events:auto;animation:none;min-height:440px;padding:4rem 2rem;background:linear-gradient(rgba(22,34,26,.45),rgba(22,34,26,.45)),url('/assets/giano.webp') center/cover}
 .film-content-second{background-image:linear-gradient(rgba(22,34,26,.45),rgba(22,34,26,.45)),url('/assets/chalet-3.webp')}
 .film-content h2{font-size:clamp(2.8rem,4vw,4.5rem)}
}

/* Collezioni: capitoli editoriali, ciascuno con una composizione distinta. */
.story-chapter-index{scroll-margin-top:82px;background:var(--paper);padding:4rem clamp(1.5rem,6vw,7rem) 3rem;border-bottom:1px solid #deded2}
.story-chapter-index>.eyebrow{display:block;margin-bottom:1.6rem}
.story-chapter-index>div{display:flex;gap:clamp(1rem,2.7vw,3rem);overflow-x:auto;scrollbar-width:thin;padding-bottom:.8rem}
.story-chapter-index a{flex:none;display:flex;align-items:baseline;gap:.65rem;font:500 clamp(1.1rem,1.6vw,1.5rem) var(--serif);white-space:nowrap;opacity:.68;transition:opacity .25s ease}
.story-chapter-index a:hover,.story-chapter-index a:focus-visible{opacity:1}
.story-chapter-index a span{font:700 .67rem var(--sans);letter-spacing:.1em;color:var(--olive)}
.story-chapters{background:var(--paper)}
.story-chapter{--chapter-progress:0;height:calc(100svh - 82px);min-height:680px;max-height:900px;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);scroll-margin-top:82px}
.chapter-media{position:absolute;inset:0;overflow:hidden}
.chapter-media>img{width:100%;height:100%;object-fit:cover;transform:translateY(var(--chapter-y,0px)) scale(var(--chapter-scale,1.06));will-change:transform}
.chapter-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:44rem;padding:clamp(2rem,6vw,7rem)}
.chapter-copy h2{font-size:clamp(4rem,8vw,10rem);letter-spacing:-.06em;line-height:.96;margin:.45em 0 .2em}
.chapter-copy p{font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.55;max-width:31rem}
.chapter-number{font:500 clamp(2.5rem,5vw,5rem) var(--serif);line-height:1;letter-spacing:-.06em}
.chapter-number span{font:700 .75rem var(--sans);letter-spacing:.15em;vertical-align:top;opacity:.65}
.chapter-material{font-size:.69rem;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:1.6rem;padding-top:1rem;border-top:1px solid currentColor;opacity:.8}
.chapter-link{display:inline-block;margin-top:1.7rem;border-bottom:1px solid currentColor;padding-bottom:.4rem;font-size:.82rem;font-weight:700;letter-spacing:.02em}
.chapter-link:hover{opacity:.65}
.chapter-edge{position:absolute;z-index:2;right:2rem;bottom:1.4rem;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.chapter-immersive{color:white;background:var(--green);min-height:calc(100svh - 82px)}
.chapter-immersive .chapter-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,27,20,.82),rgba(18,27,20,.08) 75%)}
.chapter-immersive .chapter-copy{max-width:54rem}
.chapter-immersive .chapter-copy h2{font-style:italic}
.chapter-split{grid-template-columns:54% 46%;background:var(--linen)}
.chapter-split .chapter-media{position:relative;grid-column:1;grid-row:1;inset:auto;height:100%;min-height:0}
.chapter-split .chapter-copy{grid-column:2;grid-row:1;max-width:none}
.chapter-split .chapter-copy h2{font-size:clamp(4rem,6vw,7rem)}
.chapter-poster{background:#26392f;color:white;min-height:calc(100svh - 82px)}
.chapter-poster .chapter-media{inset:6% 31% 6% 5%}
.chapter-poster .chapter-media,.chapter-frame .chapter-media{clip-path:inset(0 var(--chapter-clip,0%) 0 0)}
.chapter-poster .chapter-media>img{object-position:center}
.chapter-poster .chapter-copy{align-self:end;justify-self:end;width:48%;max-width:none;padding:3rem clamp(2rem,5vw,6rem) 5rem clamp(2rem,5vw,6rem);text-shadow:0 1px 18px #26392f}
.chapter-poster .chapter-copy h2{font-size:clamp(4.5rem,7vw,9rem)}
.chapter-poster:before{content:"";position:absolute;inset:0 0 0 42%;background:linear-gradient(90deg,rgba(38,57,47,.75),#26392f 42%);z-index:1}
.chapter-frame{background:#e7e7dd;grid-template-columns:1fr 1fr;min-height:820px}
.chapter-frame .chapter-media{inset:9% 8% 11% 44%;box-shadow:0 28px 70px #26392f26}
.chapter-frame .chapter-copy{grid-column:1;max-width:none;padding-left:clamp(2rem,7vw,8rem)}
.chapter-frame .chapter-copy h2{font-style:italic}
.chapter-overlap{background:#f4f0e7;min-height:940px}
.chapter-overlap .chapter-media{inset:8% 41% 14% 8%;overflow:visible}
.chapter-overlap .chapter-media>img{box-shadow:0 25px 65px #26392f29}
.chapter-overlap .chapter-secondary{position:absolute;width:44%;height:49%;right:-26%;bottom:-5%;border:10px solid #f4f0e7;box-shadow:0 20px 40px #26392f24}
.chapter-overlap .chapter-secondary{transform:translateY(var(--chapter-secondary-y,0px))}
.chapter-secondary img{width:100%;height:100%;object-fit:cover}
.chapter-overlap .chapter-copy{justify-self:end;align-self:start;width:39%;max-width:none;padding:13% 4% 2rem 0}
.chapter-overlap .chapter-copy h2{font-size:clamp(4rem,6vw,7rem)}
.chapter-finale{color:white;background:var(--green);min-height:calc(100svh - 82px)}
.chapter-finale .chapter-media{inset:0 0 0 42%}
.chapter-finale .chapter-media>img{object-position:center}
.chapter-finale .chapter-secondary{position:absolute;width:30%;height:35%;right:5%;bottom:8%;border:7px solid var(--green)}
.chapter-finale .chapter-copy{width:50%;max-width:none;align-self:stretch;background:var(--green);padding-right:clamp(2rem,5vw,6rem)}
.chapter-finale .chapter-copy h2{font-style:italic}
.story-chapter.chapter-split,.story-chapter.chapter-frame,.story-chapter.chapter-overlap{background:var(--linen)}
.story-chapter.chapter-immersive,.story-chapter.chapter-poster,.story-chapter.chapter-finale{background:var(--green)}
.chapter-immersive .eyebrow,.chapter-poster .eyebrow,.chapter-finale .eyebrow{color:#d6ddd0}
.motion-ready .story-chapter .chapter-copy>*{opacity:.72;transform:translateY(14px);transition:opacity .6s cubic-bezier(.2,.65,.2,1),transform .75s cubic-bezier(.2,.65,.2,1)}
.motion-ready .story-chapter.is-visible .chapter-copy>*{opacity:1;transform:translateY(0)}
.motion-ready .story-chapter .chapter-copy>*:nth-child(2){transition-delay:.05s}
.motion-ready .story-chapter .chapter-copy>*:nth-child(3){transition-delay:.11s}
.motion-ready .story-chapter .chapter-copy>*:nth-child(4){transition-delay:.17s}
.motion-ready .story-chapter .chapter-copy>*:nth-child(n+5){transition-delay:.23s}
@media(max-width:760px){
 .story-chapter-index{scroll-margin-top:70px;padding:2rem 1.4rem 1.3rem}
 .story-chapter{height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;scroll-margin-top:70px}
 .chapter-media,.chapter-split .chapter-media,.chapter-poster .chapter-media,.chapter-frame .chapter-media,.chapter-overlap .chapter-media,.chapter-finale .chapter-media{position:relative;inset:auto;width:100%;height:55svh;min-height:320px;box-shadow:none;overflow:hidden}
 .chapter-media>img{transform:none}
 .chapter-poster .chapter-media,.chapter-frame .chapter-media{clip-path:none}
 .chapter-copy,.chapter-poster .chapter-copy,.chapter-frame .chapter-copy,.chapter-overlap .chapter-copy,.chapter-finale .chapter-copy{width:auto;max-width:none;padding:2.2rem 1.5rem 3.4rem;align-self:auto;justify-self:auto;text-shadow:none}
 .chapter-copy h2,.chapter-split .chapter-copy h2,.chapter-poster .chapter-copy h2,.chapter-overlap .chapter-copy h2{font-size:clamp(3.7rem,14vw,6rem);margin:.32em 0 .2em}
 .chapter-poster:before,.chapter-immersive .chapter-media:after{display:none}
 .chapter-immersive,.chapter-poster,.chapter-finale{background:var(--green)}
 .chapter-split,.chapter-frame,.chapter-overlap{background:var(--linen)}
 .chapter-immersive .chapter-copy{max-width:none}
 .chapter-immersive .chapter-copy h2,.chapter-frame .chapter-copy h2,.chapter-finale .chapter-copy h2{font-style:normal}
 .chapter-secondary{display:none}
 .chapter-edge{right:1.5rem;bottom:1rem}
}
@media(prefers-reduced-motion:reduce){
 .chapter-media>img{transform:none!important}
 .motion-ready .story-chapter .chapter-copy>*{opacity:1!important;transform:none!important;transition:none!important}
 .chapter-poster .chapter-media,.chapter-frame .chapter-media{clip-path:none!important}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.home-film-sticky{grid-template-columns:1fr}.manifesto-image{min-height:300px}}

/* Tende: mostra l’intera confezione e le applicazioni. */
.catalog-grid-curtains .catalog-photo{height:clamp(320px,33vw,450px)}
.catalog-grid-curtains .catalog-photo img,.home-products .catalog-card[data-category="Tende"] .catalog-photo img,.curtain-detail .detail-main-photo img{object-fit:contain}
.curtain-detail .detail-main-photo{height: min(76vw,800px);min-height:550px}
@media(max-width:900px){.catalog-grid-curtains{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.catalog-grid-curtains{grid-template-columns:1fr}.catalog-grid-curtains .catalog-photo{height:480px}.curtain-detail .detail-main-photo{height:70vh;min-height:420px}}

.story-layer-detail{margin:0;padding:clamp(2rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;background:var(--linen)}
.story-layer-detail>img{width:100%;height:560px;object-fit:cover;object-position:top;border-radius:2px}
.story-layer-detail figcaption{max-width:28rem}
.story-layer-detail h3{font:400 clamp(2.3rem,4vw,4rem)/1.1 var(--serif);margin:1rem 0}
.story-layer-detail p{line-height:1.6}
@media(max-width:760px){.story-layer-detail{grid-template-columns:1fr}.story-layer-detail>img{height:auto;max-height:600px;object-fit:contain}}
