:root{--ink:#12100e;--paper:#f3f0e9;--gold:#c7ad7f;--muted:#b9b1a5;--white:#fff;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:300}a{color:inherit;text-decoration:none}.skip{position:fixed;top:-4rem;left:1rem;z-index:100;background:#fff;padding:.8rem}.skip:focus{top:1rem}.site-header{position:absolute;z-index:10;left:0;right:0;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:28px 4.5vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.23)}.brand{display:inline-flex;flex-direction:column;width:max-content;line-height:1}.brand span{font-family:var(--serif);font-size:1.45rem;letter-spacing:.14em}.brand small{margin-top:.42rem;font-size:.53rem;letter-spacing:.38em}.site-header nav{display:flex;gap:2.3rem;text-transform:uppercase;font-size:.73rem;letter-spacing:.14em}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:.35s}.site-header nav a:hover:after{right:0}.header-cta{justify-self:end;text-transform:uppercase;font-size:.72rem;letter-spacing:.16em;padding-bottom:.4rem;border-bottom:1px solid var(--gold)}.menu{display:none;background:none;border:0}.hero{position:relative;min-height:100svh;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0;background:linear-gradient(125deg,#2c2722 0%,#65594c 42%,#181715 100%);background-size:cover;background-position:center}.hero-media:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 63% 35%,rgba(255,235,207,.18),transparent 24%),linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.04) 68%)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.26))}.hero-copy{position:absolute;z-index:2;left:8vw;bottom:14vh;max-width:720px}.eyebrow,.section-tag{text-transform:uppercase;letter-spacing:.25em;font-size:.7rem;font-weight:400}.eyebrow{color:#e7d8c0;margin-bottom:2.3rem}.hero h1{font-family:var(--serif);font-size:clamp(4rem,8.2vw,8.4rem);font-weight:400;line-height:.88;letter-spacing:-.025em;margin:0}.hero h1 em{font-weight:400;color:#e2ccb0}.intro{max-width:550px;font-size:1.05rem;line-height:1.65;margin:2.2rem 0}.text-link{display:inline-flex;gap:1.3rem;align-items:center;text-transform:uppercase;letter-spacing:.15em;font-size:.73rem;font-weight:500;border-bottom:1px solid #7b7164;padding-bottom:.55rem}.text-link.light{border-color:rgba(255,255,255,.55)}.hero-index{position:absolute;right:4.5vw;bottom:8vh;z-index:2;display:flex;align-items:center;gap:.8rem;font-size:.64rem;letter-spacing:.12em}.hero-index i{display:block;width:66px;height:1px;background:rgba(255,255,255,.5)}.scroll{position:absolute;z-index:2;left:4.5vw;bottom:7vh;text-transform:uppercase;writing-mode:vertical-rl;font-size:.62rem;letter-spacing:.22em}.manifesto{display:grid;grid-template-columns:1fr 2.2fr 1.25fr;gap:5vw;padding:12rem 8vw 11rem}.section-tag{color:#786f65;padding-top:1rem}.manifesto h2{font-family:var(--serif);font-size:clamp(2.8rem,4.9vw,5.4rem);line-height:1.06;font-weight:400;margin:0}.manifesto-text{padding-top:1rem}.manifesto-text p{line-height:1.9;color:#524d47;margin:0 0 3rem}.categories{display:grid;grid-template-columns:repeat(3,1fr);min-height:78vh;background:#181613}.category{position:relative;min-height:78vh;overflow:hidden}.category a{position:absolute;inset:0}.category-media,.category-overlay{position:absolute;inset:0}.category-media{background-size:cover;background-position:center;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .8s}.category:nth-child(1) .category-media{background:linear-gradient(145deg,#38312c,#8c7b6c 48%,#25211e)}.category:nth-child(2) .category-media{background:linear-gradient(135deg,#201d1a,#73604d 48%,#12110f)}.category:nth-child(3) .category-media{background:linear-gradient(150deg,#292724,#77736d 48%,#191817)}.category-overlay{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72))}.category:hover .category-media{transform:scale(1.035);filter:saturate(.8)}.category-copy{position:absolute;inset:auto 2.6rem 3rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:end;color:#fff}.category-copy>span{align-self:start;color:#d9c49e;font-size:.65rem}.category-copy h2{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.6rem);font-weight:400;margin:0}.category-copy p{font-size:.8rem;letter-spacing:.05em;margin:.5rem 0 0;color:#ddd4c9}.category-copy b{font-size:1.4rem;font-weight:300}.quote{padding:12rem 8vw;text-align:center}.quote p{font-family:var(--serif);font-size:clamp(3rem,6vw,7rem);line-height:1.05;margin:0 0 2.5rem}.quote span{text-transform:uppercase;font-size:.65rem;letter-spacing:.22em;color:#70675e}.contact{background:var(--ink);color:#fff;padding:9rem 8vw 3rem}.contact .section-tag{color:var(--gold)}.contact h2{font-family:var(--serif);font-size:clamp(4rem,7vw,8rem);font-weight:400;line-height:.95;margin:3rem 0}.contact>a{display:inline-flex;gap:1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid var(--gold);padding-bottom:.6rem}footer{margin-top:9rem;padding-top:2.5rem;border-top:1px solid #37322e;display:flex;justify-content:space-between;align-items:flex-end;color:#8f877f;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}footer .brand{color:#fff}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;padding:22px 6vw}.site-header nav,.header-cta{display:none}.menu{display:block;width:40px;height:40px;padding:10px}.menu span{display:block;background:#fff;height:1px;margin:6px 0}.hero-copy{left:8vw;right:8vw;bottom:14vh}.hero h1{font-size:clamp(3.5rem,16vw,6rem)}.intro{font-size:.96rem}.scroll{display:none}.manifesto{grid-template-columns:1fr;padding:7rem 8vw}.manifesto h2{font-size:3.2rem}.manifesto-text{max-width:560px}.categories{grid-template-columns:1fr}.category{min-height:72vh}.quote{padding:8rem 7vw}.contact{padding:7rem 7vw 2rem}footer{gap:2rem;align-items:flex-start;flex-direction:column;margin-top:7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.category-media{transition:none}}

/* Immagini dimostrative della proposta: da sostituire con il portfolio Controluce. */
.hero-media{background-image:url('assets/wedding.jpg');background-position:center 46%}
.category:nth-child(1) .category-media{background-image:url('assets/wedding.jpg')}
.category:nth-child(2) .category-media{background-image:url('assets/commercial.jpg')}
.category:nth-child(3) .category-media{background-image:url('assets/moda.jpg')}

.brand-logo{display:block;width:112px;height:72px;overflow:hidden}
.brand-logo img{width:100%;height:100%;object-fit:contain;filter:invert(1);display:block}
.footer-logo{width:150px;height:108px}
@media(max-width:900px){.brand-logo{width:92px;height:62px}.footer-logo{width:135px;height:96px}}

/* Quarta area: produzioni film e video. */
@media(min-width:901px){.categories{grid-template-columns:repeat(4,1fr)}}
.category:nth-child(4) .category-media{background-image:url('assets/film.jpg')}
.brand-logo img{filter:none}
.category:nth-child(5) .category-media{background-image:url('assets/photobooth.jpg')}
@media(min-width:1201px){.categories{grid-template-columns:repeat(6,1fr)}.category{grid-column:span 2;min-height:68vh}.category:nth-child(n+4){grid-column:span 3}}
@media(min-width:901px) and (max-width:1200px){.categories{grid-template-columns:repeat(2,1fr)}.category:last-child{grid-column:span 2}.site-header nav{gap:1.25rem}}

/* Servizi inclusi nell'area Wedding. */
.service-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin:.85rem 0 0;padding:0;list-style:none}
.service-tags li{padding:.36rem .62rem;border:1px solid rgba(255,255,255,.45);font-size:.61rem;letter-spacing:.12em;text-transform:uppercase}
.mobile-only{display:none}

/* Layout a quattro aree dopo l'integrazione del Photobooth nel Wedding. */
@media(min-width:1201px){.categories{grid-template-columns:repeat(4,1fr)}.category{grid-column:auto;min-height:72vh}.category:nth-child(n+4){grid-column:auto}}
@media(min-width:901px) and (max-width:1200px){.categories{grid-template-columns:repeat(2,1fr)}.category:last-child{grid-column:auto}}

/* Menu mobile a tutto schermo. */
@media(max-width:900px){
  body.menu-open{overflow:hidden}
  .site-header{z-index:50}
  .menu{position:relative;z-index:52;cursor:pointer}
  .menu span{transition:transform .3s ease,opacity .3s ease}
  body.menu-open .menu span:first-child{transform:translateY(3.5px) rotate(45deg)}
  body.menu-open .menu span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  body.menu-open .site-header nav{display:flex;position:fixed;z-index:51;inset:0;background:#12100e;flex-direction:column;justify-content:center;align-items:center;gap:1.7rem;font-family:var(--serif);font-size:clamp(2.2rem,10vw,4rem);letter-spacing:.03em;text-transform:none}
  body.menu-open .site-header nav a:after{bottom:-5px}
  .site-header nav .mobile-only{display:block}
}

/* Tema chiaro — avorio, antracite e champagne. */
:root{--ink:#24211e;--paper:#f8f6f1;--gold:#a88654;--muted:#8b837a}
body{background:var(--paper);color:var(--ink)}
.site-header{color:var(--ink);border-bottom-color:rgba(36,33,30,.2)}
.brand-logo img{filter:invert(1)}
.header-cta{border-bottom-color:var(--gold)}
.hero{color:var(--ink);background:#e9e4da}
.hero-media{opacity:.58;filter:grayscale(.12) brightness(1.18)}
.hero-media:after{background:linear-gradient(90deg,rgba(248,246,241,.96) 0%,rgba(248,246,241,.72) 45%,rgba(248,246,241,.22) 78%),linear-gradient(180deg,rgba(248,246,241,.25),rgba(248,246,241,.62))}
.hero-shade{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(248,246,241,.3))}
.eyebrow{color:#755f41}.hero h1 em{color:#9a7745}.intro{color:#37332f}.text-link.light{border-color:#8f7b5e}.hero-index i{background:rgba(36,33,30,.42)}
.categories{background:#ede8df;padding:1rem;gap:1rem}.category{min-height:72vh}.quote{background:#f8f6f1}
.contact{background:#ded1bd;color:var(--ink)}.contact .section-tag{color:#755f41}.contact>a{border-bottom-color:#8f7044}.contact footer{border-top-color:rgba(36,33,30,.2);color:#665e55}.contact footer .brand{color:var(--ink)}
@media(max-width:900px){.menu span{background:var(--ink)}body.menu-open .menu span{background:#fff}body.menu-open .site-header nav{background:#f5f1e9;color:var(--ink)}body.menu-open .menu span{background:var(--ink)}.categories{padding:.65rem;gap:.65rem}.category{min-height:68vh}}

/* Centratura dell'anteprima Wedding nella homepage. */
.category.wedding .category-media{background-position:50% 50%!important}
