/* Nuova Filanda — direzione editoriale: lino, ombra verde e dettagli sartoriali. */
:root{
  --linen:#f0ece4;
  --paper:#faf8f3;
  --warm:#e7e0d5;
  --green:#2c3e34;
  --olive:#5b6b5d;
  --sage:#899985;
  --sand:#b8a991;
  --ink:#253229;
}
body{background:var(--linen);letter-spacing:.002em}
h1,h2,h3{font-weight:400;letter-spacing:-.035em;text-wrap:balance}
p{text-wrap:pretty}
.eyebrow{font-size:.66rem;font-weight:500;letter-spacing:.2em;color:#69796a}
.site-header{background:rgba(250,248,243,.97);border-color:rgba(44,62,52,.12);backdrop-filter:blur(14px)}
.header-inner{max-width:1600px}
.brand,.footer-brand{gap:.85rem;font-size:1.2rem;letter-spacing:-.035em}
.primary-nav{gap:clamp(1.3rem,2.7vw,2.7rem)}
.primary-nav a{font-size:.78rem;font-weight:500;letter-spacing:.035em}
.primary-nav a::after{border-bottom-color:var(--sand)}
.button-primary,.button-outline,.button-light{
  border-radius:2px;font-size:.71rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  min-height:3.3rem;padding:.85rem 1.45rem;
  transition:background .35s cubic-bezier(.2,.7,.2,1),color .35s cubic-bezier(.2,.7,.2,1),transform .35s cubic-bezier(.2,.7,.2,1)
}
.button-primary:hover,.button-outline:hover,.button-light:hover{transform:translateY(-1px)}
.button-primary:active,.button-outline:active,.button-light:active{transform:translateY(0)}
.text-link,.button-text{font-size:.8rem;font-weight:500;letter-spacing:.025em;text-underline-offset:.3em}
.section-heading h2{line-height:1.07;letter-spacing:-.045em}

/* Il primo schermo ha una sola immagine dominante; la seconda è un dettaglio di materia. */
.home-intro{max-width:1600px;min-height:570px;grid-template-columns:48% 52%;background:var(--green);border-bottom:0}
.home-intro-copy{padding:clamp(3.2rem,6vw,6.3rem);color:#f4f0e7}
.home-intro-copy .eyebrow{color:#bdc9b9}
.home-intro h1{max-width:12ch;color:#f8f5ee;font-size:clamp(3.55rem,5.1vw,5.8rem);font-weight:400;line-height:1.04;letter-spacing:-.055em;margin:1.4rem 0 1.5rem}
.home-intro h1 em{color:#c6d2bf}
.home-intro-copy>p{max-width:27rem;color:#e0e7db;line-height:1.6;font-size:1.04rem}
.home-intro .hero-actions{gap:1.7rem;margin-top:1.6rem}
.home-intro .button-primary{background:#eae1d1;color:var(--green);border-color:#eae1d1}
.home-intro .button-primary:hover{background:#fffaf0}
.home-intro .button-text{color:#f4f0e7;border-color:#aab9a6}
.home-intro-mark{color:#aebdac;font-size:.61rem;letter-spacing:.21em;margin-top:3.2rem}
.home-intro-visual{min-height:570px;background:#657262}
.intro-image.main{width:100%;height:100%;inset:0}
.intro-image.main img{object-position:center 54%;filter:saturate(.75) contrast(1.03)}
.intro-image.inset{width:auto;height:auto;left:1.35rem;bottom:1.2rem;border:0;box-shadow:none;background:rgba(26,43,30,.72)}
.intro-image.inset img{display:none}
.intro-image span{font-size:.61rem;font-weight:500;letter-spacing:.16em;padding:1.2rem 1.35rem}
.intro-image.main span{left:auto;right:0;min-width:12rem;text-align:right}
.home-intro-visual .inset span{position:relative;display:block;font-size:.57rem;padding:.72rem .85rem;background:none}
.home-film{background:var(--warm)}
.film-shade{background:linear-gradient(90deg,rgba(16,28,20,.69),rgba(16,28,20,.06) 74%),linear-gradient(0deg,rgba(16,28,20,.42),transparent 55%)}
.film-content h2{font-weight:400;letter-spacing:-.06em}

/* Le collezioni sembrano pagine di un catalogo fotografico, senza box decorativi. */
.collections-section{padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}
.collections-section .section-top{margin-bottom:3rem}
.collection-card,.collection-card.wide{background:transparent}
.collection-card .collection-image{background:#dcd9cf}
.collection-card .collection-image img{filter:saturate(.84);transition:transform .8s cubic-bezier(.2,.65,.2,1),filter .8s cubic-bezier(.2,.65,.2,1)}
.collection-card:hover .collection-image img{transform:scale(1.025);filter:saturate(.98)}
.collection-copy,.collections-section .collection-copy{padding:1.6rem 0 0}
.collection-copy .eyebrow{color:#6b796b}
.collection-copy h3{line-height:1.05;margin:.5rem 0 .55rem}
.collection-copy p{color:#4f5c51;line-height:1.55}
.collection-copy .text-link{font-size:.76rem}
.collections-list .collection-card.wide{border-top:1px solid rgba(44,62,52,.2);padding-top:2rem}
.collections-list .collection-card.wide .collection-copy{padding:2rem 0}

/* Catalogo: foto e informazioni, senza la cornice da card generica. */
.catalog-intro{padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:2.3rem}
.catalog-intro h1{font-size:clamp(3.1rem,5vw,5.6rem);line-height:1.03}
.catalog-grid,.home-products{gap:clamp(1.2rem,2.5vw,2.6rem)}
.catalog-card{background:transparent;border:0;box-shadow:none;transform:none}
.catalog-card:hover{box-shadow:none;transform:none}
.catalog-photo{height:clamp(245px,23vw,360px);background:#ddd8cb}
.catalog-photo img{filter:saturate(.82);transition:transform .8s cubic-bezier(.2,.65,.2,1),opacity .28s,filter .5s}
.catalog-card:hover .catalog-photo img{transform:scale(1.025);filter:saturate(.98)}
.catalog-body{padding:1.15rem 0 0}
.catalog-card .eyebrow{font-size:.57rem;letter-spacing:.16em}
.catalog-card h2{font-size:clamp(2rem,2.5vw,2.6rem);line-height:1.05;margin:.45rem 0 .3rem}
.catalog-price{font-size:.84rem;font-weight:500;letter-spacing:.03em;color:#46594a;margin:0 0 .95rem}
.catalog-desc{color:#4f5c51;line-height:1.58;min-height:0}
.catalog-material{font-size:.63rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#657264;line-height:1.5;margin:.05rem 0 1.1rem}
.catalog-actions{border-color:rgba(44,62,52,.2);padding-top:1.1rem}
.catalog-actions .text-link{font-size:.75rem}
.catalog-actions .button-primary{font-size:.64rem;min-height:2.75rem;padding:.55rem .85rem}
.catalog-section-header{border-color:rgba(44,62,52,.25);font-weight:500;letter-spacing:.14em}
.catalog-section-header a{text-decoration:none;border-bottom:1px solid currentColor}
.featured-section{padding-top:3rem;padding-bottom:6rem}

/* Schede prodotto e racconto: materia, proporzione, informazioni verificabili. */
.detail-layout{gap:clamp(3rem,6vw,7rem)}
.detail-main-photo{background:#ded8cc}
.detail-panel h1{font-size:clamp(3.7rem,5.8vw,6.4rem);line-height:1.03}
.detail-price{font:400 clamp(1.5rem,2.2vw,2rem) var(--serif);letter-spacing:-.03em}
.detail-label{font-weight:500}
.detail-specs dl>div{border-color:rgba(44,62,52,.17)}
.detail-next{background:var(--warm)}
.story-cover h1{font-weight:400;letter-spacing:-.06em}
.story-cover-image:after{background:linear-gradient(90deg,rgba(14,26,18,.76),rgba(14,26,18,.07) 76%),linear-gradient(0deg,rgba(14,26,18,.38),transparent 55%)}
.story-ticker{display:none}
.story-manifesto{background:var(--green)}
.story-chapter-index{background:var(--linen)}
.chapter-split,.chapter-frame,.chapter-overlap{background:var(--linen)}
.chapter-immersive,.chapter-poster,.chapter-finale{background:var(--green)}
.chapter-immersive h2,.chapter-poster h2,.chapter-finale h2{color:#f8f5ee}
.chapter-frame .chapter-media,.chapter-overlap .chapter-media>img,.chapter-overlap .chapter-secondary{box-shadow:0 22px 55px rgba(37,50,41,.12)}
.chapter-copy h2{letter-spacing:-.055em}
.chapter-link{font-weight:500}
.services-detail article{border-color:rgba(44,62,52,.24)}
.quote-form{background:var(--paper)}
.quote-form label{font-weight:500}
.site-footer{background:#e5dfd2;border-top:1px solid rgba(44,62,52,.12)}

@media(max-width:1100px){
  .home-intro{grid-template-columns:49% 51%}
  .home-intro h1{font-size:clamp(3.1rem,5.2vw,4.8rem)}
}
@media(max-width:760px){
  .home-intro{grid-template-columns:1fr;min-height:0}
  .home-intro-copy{padding:3.5rem 1.5rem 3rem}
  .home-intro h1{font-size:clamp(3.5rem,10.5vw,5rem);margin:1rem 0 1.25rem}
  .home-intro-mark{margin-top:2.4rem}
  .home-intro-visual{height:48svh;min-height:360px;max-height:500px}
  .intro-image.main{width:100%}
  .intro-image.inset{width:auto;height:auto;left:1rem;bottom:1rem;border:0}
  .home-film-sticky{min-height:0}
  .collection-copy,.collections-section .collection-copy{padding:1.4rem 0 0}
  .collections-section{padding:4.8rem 1.3rem}
  .catalog-intro{padding:3.8rem 1.3rem 2rem}
  .catalog-photo{height:clamp(220px,36vw,340px)}
  .catalog-body{padding:1.1rem 0 0}
  .catalog-card{max-width:none}
  .catalog-material{margin-bottom:1rem}
  .story-chapter-index{background:var(--linen)}
  .manifesto-copy{opacity:1!important;transform:none!important}
  .chapter-immersive,.chapter-poster,.chapter-finale{background:var(--green)}
  .chapter-split,.chapter-frame,.chapter-overlap{background:var(--linen)}
}
@media(max-width:520px){
  .home-intro .button-primary{font-size:.66rem;padding:.65rem .9rem}
  .home-intro .hero-actions{gap:1rem}
  .home-intro .button-text{font-size:.74rem}
  .catalog-photo{height:340px}
  .catalog-actions .button-primary{font-size:.62rem}
}
@media(prefers-reduced-motion:reduce){
  .catalog-photo img,.collection-card .collection-image img{transition:none}
}

/* Titoli compatti delle pagine operative: prodotto e modulo subito visibili. */
.compact-intro{
  max-width:1450px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr);
  column-gap:clamp(2rem,6vw,6rem);
  align-items:end;
  padding:clamp(2.1rem,3.5vw,3.5rem) clamp(1.3rem,5vw,5rem) clamp(1.7rem,2.8vw,2.7rem);
}
.compact-intro .eyebrow{grid-column:1/-1;margin-bottom:.7rem}
.compact-intro h1{
  font-size:clamp(2.5rem,3.2vw,3.6rem);
  line-height:1.06;
  letter-spacing:-.035em;
  margin:0;
}
.compact-intro p{
  max-width:34rem;
  font-size:clamp(.96rem,1.05vw,1.06rem);
  line-height:1.55;
  margin:0 0 .2rem;
}
.contact-intro.compact-intro{padding-bottom:2.3rem}
@media(max-width:820px){
  .compact-intro{grid-template-columns:1fr;row-gap:.7rem;padding:2.5rem 1.3rem 1.7rem}
  .compact-intro .eyebrow{margin-bottom:0}
  .compact-intro h1{font-size:clamp(2.15rem,7vw,3.1rem)}
  .compact-intro p{font-size:1rem;max-width:42rem}
  .contact-intro.compact-intro{padding-bottom:1.8rem}
}

/* Catalogo: una foto protagonista, poi varianti e informazioni essenziali. */
.catalog-intro-simple{display:block;padding-top:clamp(2.6rem,4vw,4rem);padding-bottom:clamp(1.7rem,3vw,2.7rem)}
.catalog-intro-simple h1{font-size:clamp(2.7rem,4vw,4.4rem);line-height:1.05;margin:0}
.catalog-grid{gap:clamp(1.2rem,2.3vw,2.5rem)}
.catalog-grid-curtains{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;margin-inline:auto}
.catalog-card{display:flex;flex-direction:column;min-width:0;background:transparent;border:0;box-shadow:none;transform:none}
.catalog-card:hover{box-shadow:none;transform:none}
.catalog-photo{width:100%;height:clamp(255px,25vw,340px);aspect-ratio:auto;border-radius:24px;overflow:hidden;background:#dedbd2}
.catalog-photo img{width:100%;height:100%;object-fit:cover;filter:none}
.catalog-card:hover .catalog-photo img{filter:none;transform:scale(1.025)}
.catalog-body{align-items:center;text-align:center;padding:1.25rem .35rem 0}
.card-colorline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:3.2rem;width:100%;font-size:.7rem;color:#59665c}
.card-colorline .swatches{gap:.55rem}
.card-colorline .swatch{width:16px;height:16px}
.card-colorline .swatch.selected:after{inset:-4px}
.card-colorline-muted{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.catalog-card h2{font:700 clamp(1.6rem,2.1vw,2.2rem)/1.15 var(--sans);letter-spacing:-.025em;color:var(--green);margin:.35rem 0 .75rem}
.catalog-desc{max-width:23rem;min-height:3.2em;font-size:.9rem;line-height:1.5;color:#4f5c51;margin:0 0 .8rem}
.catalog-price{font-size:.92rem;font-weight:700;letter-spacing:0;color:var(--green);margin:auto 0 1rem}
.catalog-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.1rem;width:100%;border:0;margin-top:0;padding:0}
.catalog-actions .button-primary{font-size:.78rem;min-height:2.65rem;padding:.6rem 1.2rem;border-radius:999px;white-space:nowrap}
.catalog-actions .text-link{font-size:.78rem;white-space:nowrap;border:0;padding:0;color:var(--green)}
.catalog-actions .text-link:hover{text-decoration:underline}
.catalog-footnote{text-align:center;margin:3rem auto 0;max-width:44rem}
@media(max-width:1100px){
  .catalog-grid-curtains{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .catalog-intro-simple{padding:2.3rem 1.3rem 1.6rem}
  .catalog-intro-simple h1{font-size:clamp(2.4rem,7vw,3.5rem)}
  .catalog-body{padding:1.1rem .2rem 0}
  .catalog-photo{height:clamp(230px,37vw,310px);aspect-ratio:auto}
  .catalog-grid-curtains{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-card h2{font-size:clamp(1.4rem,4vw,1.9rem)}
  .catalog-desc{font-size:.83rem}
  .catalog-actions{flex-direction:row}
}
@media(max-width:520px){
  .catalog-grid,.catalog-grid-curtains{grid-template-columns:1fr}
  .catalog-card{max-width:440px}
  .catalog-photo{height:clamp(260px,75vw,320px)}
  .catalog-body{padding:1.15rem .45rem 0}
  .catalog-card h2{font-size:1.85rem}
  .catalog-desc{min-height:0;font-size:.9rem}
  .catalog-actions{flex-direction:row}
  .catalog-actions .button-primary{font-size:.78rem}
}

/* Collezioni: schede ampie, sfogliabili senza cambiare pagina. */
.collections-intro{padding:clamp(2.4rem,4vw,4rem) clamp(1.3rem,5vw,5rem) clamp(1.5rem,2.5vw,2.5rem)}
.collections-intro h1{font-size:clamp(2.8rem,4.4vw,4.8rem);line-height:1.05;margin:0 0 .65rem}
.collections-intro p{font-size:clamp(1rem,1.2vw,1.15rem);margin:0}
.collections-gallery{padding-bottom:clamp(4rem,6vw,6rem)}
.collections-rail{display:flex;gap:clamp(1rem,1.5vw,1.5rem);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(1.3rem,5vw,5rem);padding-inline:clamp(1.3rem,5vw,5rem);scrollbar-width:none;overscroll-behavior-inline:contain}
.collections-rail::-webkit-scrollbar{display:none}
.collection-showcase-card{flex:0 0 min(82vw,1140px);height:clamp(540px,54vw,720px);display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:#f8f7f3;scroll-snap-align:start;scroll-snap-stop:always}
.collection-showcase-copy{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding:clamp(1.8rem,2.7vw,3rem) clamp(1.8rem,3vw,3.4rem) 1.5rem}
.collection-showcase-type{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--olive)}
.collection-showcase-copy h2{font-size:clamp(2.8rem,5vw,5.6rem);line-height:1.08;letter-spacing:-.04em;margin:.25rem 0 .45rem}
.collection-showcase-copy p{font-size:clamp(.94rem,1.1vw,1.1rem);line-height:1.5;max-width:36rem;margin:0;color:#566056}
.collection-showcase-link{flex:none;display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:700;color:var(--green);border-bottom:1px solid currentColor;padding-bottom:.3rem;margin-top:.35rem}
.collection-showcase-image{display:block;flex:1;min-height:0;overflow:hidden}
.collection-showcase-image img{width:100%;height:100%;object-fit:cover;object-position:center 58%;transition:transform .8s cubic-bezier(.2,.65,.2,1)}
.collection-showcase-card:hover .collection-showcase-image img{transform:scale(1.025)}
.collections-controls{display:flex;justify-content:center;align-items:center;gap:1.2rem;margin:1.35rem auto 0}
.collections-counter{min-width:4.6rem;text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.12em;color:var(--green)}
.collections-arrows{display:flex;gap:.55rem}
.collections-arrows button{width:2.8rem;height:2.8rem;border:0;border-radius:50%;background:#e2e0d9;color:var(--green);font-size:1.25rem;cursor:pointer;transition:background .25s,transform .25s}
.collections-arrows button:not(:disabled):hover{background:#d4d8ce;transform:translateY(-2px)}
.collections-arrows button:disabled{opacity:.4;cursor:default}
.contact-intro.compact-intro{display:block;padding-bottom:1.8rem}
.contact-intro.compact-intro h1{margin:0}
@media(max-width:760px){
  .collections-intro{padding:2.5rem 1.3rem 1.5rem}
  .collections-intro h1{font-size:clamp(2.7rem,8vw,3.8rem)}
  .collection-showcase-card{flex-basis:88vw;height:clamp(500px,105vw,620px);border-radius:22px}
  .collection-showcase-copy{display:block;padding:1.6rem 1.5rem 1.2rem}
  .collection-showcase-copy h2{font-size:clamp(2.6rem,8vw,4rem)}
  .collection-showcase-copy p{font-size:.92rem}
  .collection-showcase-link{margin-top:1rem}
  .collections-rail{scroll-padding-inline:1.3rem;padding-inline:1.3rem}
}
@media(prefers-reduced-motion:reduce){.collection-showcase-image img,.collections-arrows button{transition:none}}
/* Servizi: linguaggio fotografico e percorsi leggibili come azioni. */
html{scroll-behavior:smooth}
.services-hero{max-width:1450px;margin:auto;padding:clamp(2.5rem,4vw,4rem) clamp(1.3rem,5vw,5rem) clamp(3.5rem,5vw,5rem)}
.services-hero-copy{max-width:58rem;margin-bottom:clamp(2rem,3vw,3rem)}
.services-hero h1{font-size:clamp(3.15rem,5vw,5.6rem);line-height:1.03;margin:0 0 .8rem}
.services-hero-copy>p{font-size:clamp(1rem,1.15vw,1.15rem);line-height:1.55;max-width:46rem;margin:0;color:#4d594f}
.services-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,1.8vw,1.8rem)}
.services-path{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(44,62,52,.14);border-radius:26px;background:var(--paper);color:var(--ink);text-decoration:none;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.services-path:hover,.services-path:focus-visible{transform:translateY(-4px);box-shadow:0 18px 38px rgba(37,50,41,.14);border-color:rgba(44,62,52,.38)}
.services-path:focus-visible{outline:3px solid var(--olive);outline-offset:4px}
.services-path-image{position:relative;display:block;height:clamp(240px,23vw,310px);overflow:hidden;background:#dcd9cf}
.services-path-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.2,1)}
.services-path:first-child .services-path-image img{object-position:center 55%}
.services-path:nth-child(2) .services-path-image img{object-position:center 57%}
.services-path:hover img{transform:scale(1.035)}
.services-path-arrow{position:absolute;right:1.3rem;top:1.3rem;display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:50%;background:var(--paper);color:var(--green);font-size:1.5rem;box-shadow:0 3px 13px rgba(0,0,0,.12)}
.services-path-content{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding:clamp(1.5rem,2.3vw,2.4rem);flex:1}
.services-path-kicker{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--olive)}
.services-path-content strong{font:400 clamp(2.15rem,3vw,3.35rem)/1.08 var(--serif);letter-spacing:-.035em}
.services-path-content>span:not(.services-path-kicker):not(.services-path-cta){font-size:.99rem;line-height:1.5;color:#4d594f}
.services-path-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;margin-top:1rem;padding:.78rem 1rem;background:var(--green);color:var(--paper);font-size:.72rem;font-weight:700;letter-spacing:.06em;transition:background .25s ease}
.services-path:hover .services-path-cta,.services-path:focus-visible .services-path-cta{background:#455e4b}
.services-path-cta>span{font-size:1.05rem;font-weight:400}
.services-path-secondary{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem clamp(1rem,2vw,2rem);margin-top:1.9rem;padding-top:1.3rem;border-top:1px solid rgba(44,62,52,.2)}
.services-path-secondary>span{font-size:.66rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--olive);margin-right:auto}
.services-path-secondary a{font-size:.82rem;color:var(--green);text-decoration:none;border-bottom:1px solid rgba(44,62,52,.35);padding-bottom:.2rem}
.services-path-secondary a:hover{border-color:var(--green)}
.services-home-primary{background:var(--paper);padding:clamp(4rem,6vw,6.5rem) clamp(1.3rem,5vw,5rem)}
.services-home-primary>*{max-width:1380px;margin-left:auto;margin-right:auto}
.services-section-top{display:grid;grid-template-columns:1fr .9fr;gap:.5rem clamp(2rem,7vw,8rem);align-items:end;margin-bottom:clamp(2rem,3.5vw,3.5rem)}
.services-section-top .eyebrow{grid-column:1;align-self:start}
.services-section-top h2{grid-column:1;font-size:clamp(3.2rem,5vw,5.4rem);line-height:1.06;margin:0}
.services-section-top>p{grid-column:2;grid-row:1/3;font-size:clamp(1.03rem,1.25vw,1.17rem);line-height:1.65;color:#4d594f;max-width:39rem;margin:0}
.services-home-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,4.5vw,5rem);align-items:stretch}
.services-home-visual{min-height:560px;overflow:hidden;border-radius:24px;background:#dcd9cf}
.services-home-visual img{width:100%;height:100%;object-fit:cover;display:block}
.services-home-list{display:grid;grid-template-rows:repeat(3,1fr)}
.services-home-list a{display:flex;flex-direction:column;justify-content:center;border-top:1px solid rgba(44,62,52,.25);padding:1.4rem 0;color:var(--green);text-decoration:none;transition:padding-left .25s ease}
.services-home-list a:last-child{border-bottom:1px solid rgba(44,62,52,.25)}
.services-home-list a:hover,.services-home-list a:focus-visible{padding-left:.8rem}
.services-home-list-index{font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--olive)}
.services-home-list h3{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:clamp(2.1rem,3vw,3.2rem);line-height:1.05;margin:.45rem 0 .35rem}
.services-home-list h3 span{font:400 1.4rem Arial,sans-serif}
.services-home-list p{font-size:.98rem;line-height:1.5;color:#4d594f;max-width:30rem;margin:0}
.services-more{border-top:1px solid rgba(44,62,52,.16);padding-top:1.3rem;margin-top:2.5rem;color:#5a625a;font-size:.92rem;line-height:1.6}
.services-home-case{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.8rem,4vw,4rem);align-items:center;margin-top:clamp(3rem,5vw,5rem);padding-top:clamp(2rem,4vw,4rem);border-top:1px solid rgba(44,62,52,.2)}
.services-home-case figure{margin:0;min-width:0}
.services-home-case figure img{display:block;width:100%;height:auto;border-radius:20px}
.services-home-case figcaption{margin-top:.8rem;font-size:.76rem;line-height:1.5;color:#5a625a}
.services-home-case-copy h3{font-size:clamp(2.2rem,3.8vw,4rem);line-height:1.1;margin:.8rem 0 1rem}
.services-home-case-copy p{font-size:1.02rem;line-height:1.65;color:#4d594f;margin:0 0 1.5rem;max-width:32rem}
@media(max-width:760px){.services-home-case{grid-template-columns:1fr;gap:1.8rem}.services-home-case-copy h3{font-size:2.6rem}.services-home-case figure img{border-radius:16px}}
.services-hospitality{background:var(--warm);padding:clamp(4.5rem,6vw,7rem) clamp(1.3rem,5vw,5rem)}
.services-hospitality>*{max-width:1380px;margin-left:auto;margin-right:auto}
.services-hospitality-intro{display:grid;grid-template-columns:1fr .7fr;gap:clamp(2rem,7vw,8rem);align-items:end;margin-bottom:clamp(2.5rem,4vw,4rem)}
.services-hospitality-intro h2{font-size:clamp(3.1rem,4.7vw,5rem);line-height:1.08;margin:1rem 0 0}
.services-hospitality-intro>p{font-size:clamp(1.03rem,1.25vw,1.17rem);line-height:1.65;color:#4d594f;margin:0}
.services-cases{display:grid;gap:clamp(2rem,4vw,4rem)}
.services-table-case{display:grid;grid-template-columns:.8fr 1fr;background:var(--paper);border-radius:26px;overflow:hidden}
.services-table-visual{position:relative;display:flex;align-items:center;margin:0;background:#eceae5;overflow:hidden}
.services-table-visual img{display:block;width:100%;height:100%;object-fit:contain}
.services-table-visual figcaption{position:absolute;left:1.15rem;bottom:1rem;max-width:22rem;padding:.42rem .65rem;background:rgba(250,248,243,.92);color:#435348;font-size:.68rem;line-height:1.3}
.services-case-copy{padding:clamp(2.2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}
.services-case-copy h3{font-size:clamp(2.25rem,3.7vw,3.85rem);line-height:1.13;margin:1rem 0 1.2rem}
.services-case-copy p{font-size:1.02rem;line-height:1.65;max-width:35rem;color:#4d594f;margin:0}
.services-curtain-case{background:var(--paper);border-radius:26px;overflow:hidden}
.services-curtain-case .services-case-copy{padding-bottom:clamp(2rem,3vw,3rem)}
.services-location{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);margin-top:1.5rem}
.services-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;padding:0 clamp(1rem,2vw,2rem)}
.services-photo-grid figure{margin:0;overflow:hidden;aspect-ratio:4/3;border-radius:18px;background:var(--warm)}
.services-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}
.services-photo-caption{font-size:.7rem;color:#5c625a;text-align:right;padding:1rem clamp(1rem,2vw,2rem) 1.4rem;margin:0}
.services-hospitality-link{display:table;margin-top:2.5rem}
.services-other{max-width:1450px;margin:auto;padding:clamp(4.5rem,6vw,7rem) clamp(1.3rem,5vw,5rem)}
.services-other-heading h2{font-size:clamp(2.9rem,4.5vw,4.8rem);margin:.8rem 0 clamp(2rem,3.5vw,3.5rem)}
.services-other-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,1.8vw,1.8rem)}
.services-other-list article{display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:var(--paper)}
.services-other-image{height:clamp(230px,23vw,320px);overflow:hidden;background:#ddd8cb}
.services-other-image img{display:block;width:100%;height:100%;object-fit:cover}
.services-other-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;flex:1;padding:clamp(1.4rem,2vw,2rem)}
.services-other-list h3{font-size:clamp(1.9rem,2.5vw,2.8rem);line-height:1.1;margin:0}
.services-other-list p{font-size:.96rem;line-height:1.55;color:#4d594f;margin:0 0 1rem}
.services-other-list a{margin-top:auto;padding-bottom:.24rem;border-bottom:1px solid currentColor;color:var(--green);font-size:.73rem;font-weight:700;text-decoration:none}
.services-start{max-width:1320px;margin:0 auto clamp(4rem,6vw,6rem);padding:clamp(2rem,3.5vw,3.6rem);display:flex;justify-content:space-between;align-items:center;gap:2rem;border-radius:22px;background:var(--warm);color:var(--green);text-align:left}
.services-start .eyebrow{color:var(--olive)}
.services-start h2{font-size:clamp(2.3rem,3.6vw,3.7rem);margin:.5rem 0 .5rem}
.services-start p{max-width:42rem;margin:0;color:#4d594f;line-height:1.55;font-size:.98rem}
.services-start .button-primary{flex:none;background:var(--green);color:var(--paper)}
#casa,#ospitalita,#eventi,#progettazione,#regali{scroll-margin-top:5rem}
@media(max-width:1050px){.services-home-layout{grid-template-columns:1fr 1fr;gap:2rem}.services-home-visual{min-height:490px}.services-other-list{gap:1rem}.services-other-list h3{font-size:2rem}}
@media(max-width:760px){
  .services-hero{padding-top:2.7rem}
  .services-hero h1{font-size:clamp(3rem,10vw,4.5rem)}
  .services-paths{grid-template-columns:1fr}
  .services-path-image{height:clamp(245px,60vw,390px)}
  .services-path-content{padding:1.5rem}
  .services-path-secondary>span{width:100%}
  .services-section-top{display:block;margin-bottom:2rem}
  .services-section-top .eyebrow{display:block;margin-bottom:1rem}
  .services-section-top h2{margin-bottom:1rem}
  .services-home-layout{grid-template-columns:1fr;gap:1.5rem}
  .services-home-visual{height:clamp(280px,62vw,460px);min-height:0}
  .services-home-list a{padding:1.35rem 0}
  .services-hospitality-intro{grid-template-columns:1fr;gap:1.3rem}
  .services-hospitality-intro h2 br{display:none}
  .services-table-case{grid-template-columns:1fr}
  .services-table-visual{min-height:230px}
  .services-case-copy{padding:2rem 1.5rem}
  .services-other-list{grid-template-columns:1fr}
  .services-other-image{height:clamp(230px,60vw,370px)}
  .services-start{margin-left:1.3rem;margin-right:1.3rem;display:block}
  .services-start .button-primary{margin-top:1.5rem}
}
@media(max-width:520px){
  .services-path-cta{width:100%}
  .services-photo-grid{grid-template-columns:1fr 1fr}
  .services-photo-grid figure:first-child{grid-column:1/-1;aspect-ratio:4/3}
  .services-photo-grid figure:not(:first-child){aspect-ratio:1}
}
@media(prefers-reduced-motion:reduce){.services-path,.services-path-image img,.services-path-cta,.services-home-list a{transition:none}}
@media(min-width:761px){.services-start{width:calc(100% - clamp(2.6rem,10vw,10rem))}}
@media(max-width:760px){.services-table-visual{display:block;min-height:0}.services-table-visual img{height:auto}.services-table-visual figcaption{position:static;max-width:none;background:#eceae5;padding:.65rem 1rem;font-size:.75rem}}
/* Service navigation uses rounded surfaces instead of separator rules. */
.services-path-secondary{border:0;padding:0;gap:12px;margin-top:24px}
.services-path-secondary>a{border:0;background:#e8e7df;padding:12px 18px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}
.services-home-list a,.services-home-list a:last-child,.services-more{border:0}
.services-home-list{gap:16px}
.services-home-list a{background:#efede5;padding:24px;border-radius:20px}
.services-home-list a:hover,.services-home-list a:focus-visible{padding-left:24px;background:#e7e7dd}
.services-home-list-index,.services-path-secondary>span{display:none}
.services-path-cta{border-radius:999px}
.services-path{border:0}
@media(max-width:760px){.services-path-secondary{align-items:stretch;gap:10px}.services-path-secondary>a{width:100%;justify-content:space-between}.services-section-top{gap:16px}.services-home-list a{padding:20px}.services-home-list a:hover,.services-home-list a:focus-visible{padding-left:20px}}
.services-curtain-case .services-photo-grid figure{aspect-ratio:auto;overflow:visible;border-radius:0;background:transparent}
.services-curtain-case .services-photo-grid img{height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:18px}
.services-photo-grid figcaption{margin-top:.65rem;font-size:.8rem;color:#536052}
