/* Homepage editorial direction — Cazzaniga Arredamenti */
:root{--home-gutter:clamp(24px,5.2vw,84px);--home-max:1540px;--home-dark:#171814;--home-warm:#d1b08a}
.home{background:var(--paper);color:var(--ink)}
.home-wrap{width:min(calc(100% - (var(--home-gutter) * 2)),var(--home-max));margin-inline:auto}
.home .header{height:auto;padding:0 var(--home-gutter);background:linear-gradient(180deg,rgba(0,0,0,.46),transparent);border:0;color:#fff;transition:background .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease}
.home .home-nav{height:96px;transition:height .35s ease}
.home .header .brand,.home .header .nav a{color:inherit}
.home .header .nav-cta{border-color:rgba(255,255,255,.56)}
.home .header .nav-cta:hover{background:#fff;color:#171814}
.home .header.scrolled{background:rgba(245,242,235,.94);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 8px 30px rgba(0,0,0,.05);backdrop-filter:blur(16px)}
.home .header.scrolled .home-nav{height:78px}
.home .header.scrolled .nav-cta{border-color:var(--ink)}
.home .header.scrolled .nav-cta:hover{background:var(--ink);color:#fff}

.home-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#181916;color:#fff}
.home-hero-media,.home-hero-shade{position:absolute;inset:0 0 0 auto;width:44%;height:100%}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(1.012);animation:hero-breathe 1.8s cubic-bezier(.2,.7,.2,1) both}
.home-hero-shade{background:linear-gradient(180deg,rgba(9,10,8,.34) 0%,transparent 24%,transparent 68%,rgba(9,10,8,.34) 100%),linear-gradient(90deg,rgba(24,25,22,.46) 0%,transparent 22%)}
.home-hero-content{position:relative;z-index:1;width:48%;margin:0 0 clamp(104px,13vh,150px) var(--home-gutter)}
.hero-kicker,.section-index{font-size:.69rem;line-height:1.2;letter-spacing:.19em;text-transform:uppercase;font-weight:700}
.hero-kicker{margin:0 0 clamp(24px,4vh,44px);color:rgba(255,255,255,.82)}
.home-hero h1{font:400 clamp(4.5rem,8vw,8.8rem)/.79 var(--serif);letter-spacing:-.065em;margin:0;max-width:760px;text-wrap:balance}
.hero-lead{max-width:585px;margin:clamp(30px,4vh,44px) 0 0;font-size:clamp(1rem,1.35vw,1.24rem);line-height:1.65;color:rgba(255,255,255,.9)}
.hero-link,.text-link{display:inline-flex;align-items:center;gap:28px;margin-top:28px;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.hero-link span,.text-link span{transition:transform .25s ease}
.hero-link:hover span,.text-link:hover span{transform:translateX(5px)}
.hero-project-note{position:absolute;right:calc(var(--home-gutter) * .72);bottom:clamp(106px,13vh,150px);z-index:1;width:260px;padding:17px 18px 0;border-top:1px solid rgba(255,255,255,.72);background:linear-gradient(90deg,rgba(10,10,8,.36),transparent);display:flex;flex-direction:column;gap:7px;text-shadow:0 1px 18px rgba(0,0,0,.72)}
.hero-project-note span,.hero-project-note small{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.64)}
.hero-project-note strong{font:400 1.35rem/1.2 var(--serif)}
.hero-scroll{position:absolute;z-index:1;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.hero-scroll span{width:1px;height:34px;background:rgba(255,255,255,.65);animation:scroll-line 1.9s infinite}
@keyframes hero-breathe{from{opacity:.2;transform:scale(1.08)}to{opacity:1;transform:scale(1.015)}}
@keyframes scroll-line{0%,100%{transform:scaleY(.2);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}}

.home-manifesto{padding:clamp(110px,14vw,220px) 0;background:var(--paper)}
.manifesto-grid{display:grid;grid-template-columns:minmax(150px,.55fr) 2.1fr;gap:6vw;align-items:start}
.section-index{margin:10px 0 0;color:#77746c}
.manifesto-grid h2,.project-heading h2,.expertise-content h2,.heritage-copy h2,.contact-inner h2{font:400 clamp(3.1rem,6.5vw,7rem)/.96 var(--serif);letter-spacing:-.05em;margin:0;text-wrap:balance}
.manifesto-copy{display:grid;grid-template-columns:1.2fr .72fr;gap:7vw;align-items:end;margin-top:clamp(42px,6vw,84px)}
.manifesto-copy p{font-size:clamp(1.06rem,1.55vw,1.35rem);line-height:1.75;margin:0;max-width:650px;color:#57574f}
.text-link{color:var(--ink);justify-self:start}

.home-styles{padding:clamp(110px,13vw,200px) 0;background:#e9e4da;overflow:hidden}
.styles-heading{display:grid;grid-template-columns:minmax(150px,.55fr) 2.1fr;gap:6vw;align-items:start;margin-bottom:clamp(70px,9vw,130px)}
.styles-heading>div{display:grid;grid-template-columns:1.45fr .65fr;gap:5vw;align-items:end}
.styles-heading h2{font:400 clamp(3.1rem,6.5vw,7rem)/.96 var(--serif);letter-spacing:-.05em;margin:0;text-wrap:balance}
.styles-heading p:not(.section-index){margin:0;color:#5f5c55;line-height:1.75;max-width:470px}
.styles-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,74px);align-items:start}
.style-card{min-width:0}
.style-card-classic{margin-top:clamp(64px,7vw,112px)}
.style-card figure{position:relative;margin:0;aspect-ratio:.9/1;overflow:hidden;background:#d3cdc1}
.style-card-classic figure{aspect-ratio:1.12/1}
.style-card img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .9s cubic-bezier(.2,.65,.2,1)}
.style-card:hover img{transform:scale(1.025)}
.style-card figcaption{position:absolute;left:18px;bottom:16px;padding:8px 10px;background:rgba(18,18,15,.72);color:#fff;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.style-card-copy{padding:25px 0 0;border-top:1px solid #aca69b;margin-top:18px;display:grid;grid-template-columns:.52fr 1fr;gap:10px 28px;align-items:start}
.style-card-copy>span{grid-row:1/3;font-size:.68rem;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:#777168;font-weight:700}
.style-card-copy h3{font:400 clamp(2rem,3.4vw,3.8rem)/1 var(--serif);letter-spacing:-.04em;margin:0}
.style-card-copy p{margin:13px 0 0;max-width:500px;color:#5f5c55;line-height:1.7}
.styles-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:clamp(70px,9vw,130px);padding-top:25px;border-top:1px solid #aca69b}
.styles-footer>p{margin:0;color:#777168;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase}
.styles-footer .text-link{margin-top:0}

.home-project{background:var(--home-dark);color:#fff;padding:clamp(100px,12vw,180px) 0}
.section-index-light{color:rgba(255,255,255,.55)}
.project-heading{display:grid;grid-template-columns:minmax(150px,.55fr) 2.1fr;gap:6vw;align-items:start;margin-bottom:clamp(70px,9vw,130px)}
.project-heading>div{display:grid;grid-template-columns:1.45fr .65fr;gap:5vw;align-items:end}
.project-heading p:not(.section-index){margin:0;color:rgba(255,255,255,.68);line-height:1.75;max-width:430px}
.project-editorial{display:grid;grid-template-columns:1.52fr .67fr;gap:clamp(18px,2vw,32px);align-items:start}
.project-editorial figure{margin:0;overflow:hidden}
.project-editorial img{width:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.2,1)}
.project-editorial figure:hover img{transform:scale(1.025)}
.editorial-main img{aspect-ratio:1.16/1}
.editorial-side{display:grid;gap:clamp(36px,5vw,74px);padding-top:13vw}
.editorial-side img{aspect-ratio:1.22/1}
.project-editorial figcaption{padding-top:15px;color:rgba(255,255,255,.72);font-size:.72rem;letter-spacing:.06em}
.project-editorial figcaption span{display:inline-block;margin-right:13px;color:var(--home-warm)}
.project-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:clamp(55px,7vw,100px);padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}
.project-footer p{margin:0;color:rgba(255,255,255,.55);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.text-link-light{color:#fff;margin-top:0}

.home-expertise{padding:clamp(110px,13vw,200px) 0;background:#ece9e1}
.expertise-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(60px,9vw,145px);align-items:start}
.expertise-image{position:sticky;top:115px}
.expertise-image img{width:100%;height:min(68vh,800px);object-fit:cover;object-position:center}
.expertise-image p{font:400 clamp(1.35rem,2vw,2.1rem)/1.3 var(--serif);margin:24px 0 0}
.expertise-content{padding-top:4vw}
.expertise-content h2{margin:36px 0 clamp(55px,7vw,100px)}
.expertise-list{border-top:1px solid #bcb9b0}
.expertise-list a{display:grid;grid-template-columns:45px 1fr 24px;gap:20px;align-items:start;padding:26px 0;border-bottom:1px solid #bcb9b0;color:var(--ink)}
.expertise-list a>span{font-size:.67rem;color:#77746c;margin-top:6px}
.expertise-list strong{display:block;font:400 clamp(1.4rem,2.1vw,2rem)/1.15 var(--serif);margin-bottom:9px}
.expertise-list small{display:block;max-width:510px;color:#68675f;line-height:1.55;font-size:.86rem}
.expertise-list i{font-style:normal;transition:transform .25s ease}
.expertise-list a:hover i{transform:translate(4px,-4px)}

.home-material{position:relative;min-height:88svh;display:flex;align-items:center;color:#fff;overflow:hidden;background:#29251f}
.home-material>img,.material-overlay{position:absolute;inset:0;width:100%;height:100%}
.home-material>img{object-fit:cover;object-position:center}
.material-overlay{background:linear-gradient(90deg,rgba(16,14,11,.79) 0%,rgba(16,14,11,.4) 58%,rgba(16,14,11,.12) 100%)}
.material-content{position:relative;z-index:1}
.material-content blockquote{font:400 clamp(3.2rem,6.5vw,7.3rem)/.94 var(--serif);letter-spacing:-.05em;margin:clamp(38px,5vw,66px) 0;max-width:1120px}
.material-content>p:last-child{max-width:520px;line-height:1.75;color:rgba(255,255,255,.76);margin:0}

.home-heritage{padding:clamp(105px,13vw,200px) 0;background:var(--paper);overflow:hidden}
.heritage-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:end}
.heritage-year{font:400 clamp(8.5rem,21vw,23rem)/.65 var(--serif);letter-spacing:-.1em;margin:0 0 .08em -.07em;color:#d2c7b8}
.heritage-copy{padding-bottom:1vw}
.heritage-copy h2{font-size:clamp(2.8rem,4.8vw,5.6rem);margin:36px 0}
.heritage-copy>p:not(.section-index){max-width:600px;color:#5f5e56;line-height:1.8;margin:0}

.home-contact{background:#50483e;color:#fff;padding:clamp(105px,13vw,190px) 0}
.contact-inner{display:grid;grid-template-columns:.56fr 1.45fr;column-gap:7vw;align-items:start}
.contact-inner h2{grid-column:2;font-size:clamp(3.4rem,7.3vw,8rem);margin:0 0 clamp(50px,6vw,85px)}
.contact-inner>a{grid-column:2;justify-self:start;display:inline-flex;gap:45px;align-items:center;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.65);font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.contact-inner>a span{transition:transform .25s ease}
.contact-inner>a:hover span{transform:translateX(7px)}

@media(max-width:1000px){
  .home-hero-media,.home-hero-shade{width:50%}
  .home-hero-content{width:44%;margin-bottom:110px}
  .home-hero h1{font-size:clamp(4rem,8.8vw,6.4rem)}
  .hero-project-note{display:none}
  .manifesto-grid,.styles-heading,.project-heading,.contact-inner{grid-template-columns:1fr}
  .manifesto-grid,.styles-heading,.project-heading{gap:42px}
  .styles-heading>div,.project-heading>div{grid-template-columns:1fr;gap:35px}
  .contact-inner h2,.contact-inner>a{grid-column:1}
  .contact-inner h2{margin-top:42px}
  .heritage-grid{grid-template-columns:1fr}
  .heritage-year{font-size:clamp(9rem,37vw,18rem)}
}

@media(max-width:860px){
  .home .header{padding-inline:var(--home-gutter)}
  .home .home-nav,.home .header.scrolled .home-nav{height:68px}
  .home .menu{color:currentColor}
  .home .links{color:var(--ink)}
  .home .links .nav-cta{border-color:var(--ink)}
  .home .header.menu-open{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
}

@media(max-width:760px){
  :root{--home-gutter:22px}
  .home .header{padding-inline:22px}
  .home-hero{min-height:100svh}
  .home-hero-media,.home-hero-shade{inset:0;width:100%}
  .home-hero-media img{object-position:center 46%}
  .home-hero-shade{background:linear-gradient(0deg,rgba(8,9,7,.82) 0%,rgba(8,9,7,.22) 58%,rgba(8,9,7,.38) 100%)}
  .home-hero-content{margin-bottom:92px;width:calc(100% - 44px)}
  .hero-kicker{margin-bottom:24px}
  .home-hero h1{font-size:clamp(4.15rem,21vw,6rem);line-height:.81}
  .hero-lead{font-size:.98rem;line-height:1.58;margin-top:25px;max-width:92%}
  .hero-link{margin-top:22px}
  .hero-scroll{display:none}
  .home-manifesto{padding:95px 0 105px}
  .manifesto-grid{gap:36px}
  .manifesto-grid h2,.styles-heading h2,.project-heading h2,.expertise-content h2,.heritage-copy h2,.contact-inner h2{font-size:clamp(2.8rem,13vw,4.1rem)}
  .manifesto-copy{grid-template-columns:1fr;gap:28px;margin-top:44px}
  .home-styles{padding:95px 0 105px}
  .styles-heading{margin-bottom:62px}
  .styles-grid{grid-template-columns:1fr;gap:70px}
  .style-card-classic{margin-top:0}
  .style-card figure{aspect-ratio:.88/1}
  .style-card-classic figure{aspect-ratio:1.12/1}
  .style-card-copy{grid-template-columns:1fr;gap:18px}
  .style-card-copy>span{grid-row:auto}
  .styles-footer{align-items:flex-start;flex-direction:column;gap:30px}
  .home-project{padding:95px 0}
  .project-heading{margin-bottom:62px}
  .project-editorial{grid-template-columns:1fr;gap:44px}
  .editorial-main img{aspect-ratio:1/1.08}
  .editorial-side{padding-top:0;gap:44px}
  .editorial-side img{aspect-ratio:1.18/1}
  .project-footer{align-items:flex-start;flex-direction:column;gap:30px}
  .home-expertise{padding:95px 0 105px}
  .expertise-grid{grid-template-columns:1fr;gap:80px}
  .expertise-image{position:relative;top:auto}
  .expertise-image img{height:auto;aspect-ratio:.84/1}
  .expertise-content{padding-top:0}
  .expertise-content h2{margin:30px 0 50px}
  .expertise-list a{grid-template-columns:34px 1fr 18px;gap:10px}
  .home-material{min-height:78svh}
  .home-material>img{object-position:58% center}
  .material-overlay{background:linear-gradient(0deg,rgba(16,14,11,.76),rgba(16,14,11,.3))}
  .material-content blockquote{font-size:clamp(3rem,13vw,4.5rem);margin:36px 0}
  .home-heritage{padding:100px 0}
  .heritage-grid{gap:65px}
  .heritage-year{font-size:33vw}
  .heritage-copy h2{margin:30px 0}
  .home-contact{padding:100px 0 115px}
  .contact-inner{display:block}
  .contact-inner h2{margin:36px 0 55px}
}

@media(prefers-reduced-motion:reduce){.home-hero-media img,.hero-scroll span{animation:none}.project-editorial img,.style-card img{transition:none}}

/* Realizziamo sogni — la fotografia del lavoro resta intera, accanto al testo. */
.home-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:4vw;align-items:center;padding:150px var(--home-gutter) 115px;min-height:max(740px,100svh)}
.home-hero-media{position:relative;inset:auto;width:100%;height:auto;grid-column:2;grid-row:1;aspect-ratio:4/3;transform:none}
.home-hero-media img{display:block;position:static;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;transform:none;animation:none}
.home-hero-shade{display:none}
.home-hero-content{grid-column:1;grid-row:1;position:relative;width:auto;margin:0;min-width:0}
.home-hero h1{font-size:clamp(3.3rem,5.3vw,6.1rem);line-height:1;letter-spacing:-.055em;max-width:none;text-wrap:initial}
.home-hero h1>span{display:block;white-space:nowrap}
.home-hero h1>em{display:block;font-weight:400;font-size:1.55em;line-height:1.12;color:#d1b08a;letter-spacing:-.06em}
.home-hero .hero-lead{max-width:430px;margin-top:24px;font-size:clamp(1rem,1.3vw,1.15rem)}
.hero-project-note{right:var(--home-gutter);bottom:35px;width:auto;min-width:245px;padding:14px 0 0;background:none;text-shadow:none;border-color:#757468;gap:5px}
.hero-project-note:hover strong{text-decoration:underline;text-underline-offset:5px}
.hero-project-note span,.hero-project-note small{color:#cbc5b9}
.hero-scroll{left:var(--home-gutter);transform:none;align-items:flex-start;bottom:32px}
.style-card-copy>span{grid-row:1/4}
.style-card-copy .text-link{grid-column:2;font-size:.65rem;letter-spacing:.08em;margin-top:14px;gap:20px}
@media(max-width:760px){.style-card-copy>span{grid-row:auto}.style-card-copy .text-link{grid-column:1}}
@media(max-width:1050px) and (min-width:901px){.home-hero h1{font-size:5.15vw}.hero-kicker{font-size:.57rem}.home-hero .hero-link{font-size:.62rem;gap:16px}}
@media(max-width:900px){
  .home-hero{grid-template-columns:1fr;gap:38px;padding:130px var(--home-gutter) 45px;min-height:auto}
  .home-hero-content{grid-column:1;grid-row:1;width:100%;margin:0}
  .home-hero-media{grid-column:1;grid-row:2;width:100%;height:auto;inset:auto;max-width:740px}
  .home-hero h1{font-size:clamp(3.3rem,8.5vw,5.7rem)}
  .home-hero h1>em{font-size:1.4em}
  .home-hero .hero-lead{max-width:540px}
  .hero-project-note{position:relative;inset:auto;display:flex;grid-column:1;grid-row:3;justify-self:start;width:auto;min-width:0;margin-top:-14px;padding-top:16px}
  .hero-scroll{display:none}
}
@media(max-width:560px){
  .home-hero{padding-top:122px;gap:30px}
  .home-hero h1{font-size:clamp(2.65rem,12.1vw,4.1rem)}
  .hero-kicker{font-size:.6rem;line-height:1.5;margin-bottom:22px}
  .home-hero .hero-lead{font-size:1rem;max-width:none;margin-top:20px}
  .home-hero .hero-link{font-size:.66rem;gap:25px}
  .hero-project-note strong{font-size:1.2rem}
  .style-card-copy>span{grid-row:auto}
  .style-card-copy .text-link{grid-column:1}
}
