@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');:root{--ink:#222321;--muted:#777872;--bg:#faf9f6;--line:#e6e5e0;--accent:#a96950}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.container{width:min(1260px,calc(100% - 80px));margin:auto}.header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:10}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:700;letter-spacing:-.055em;font-size:23px;line-height:1}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.13em;color:var(--muted);margin-top:7px}.links{display:flex;gap:30px;align-items:center;font-size:13px}.links a:hover,.filters button:hover{color:var(--accent)}.lang{background:none;border:0;color:var(--muted);cursor:pointer;font-size:12px}.hero{padding:108px 0 95px;max-width:930px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.17em;color:var(--accent);font-weight:700}.hero h1{font-size:clamp(48px,7.2vw,104px);line-height:1.03;letter-spacing:-.075em;font-weight:500;margin:22px 0 26px}.hero p{font-size:clamp(17px,2vw,21px);max-width:660px;color:#65665f;line-height:1.55}.hero .cta{display:inline-flex;margin-top:24px;border-bottom:1px solid var(--ink);padding-bottom:7px;font-weight:600}.section{padding:65px 0}.section-head{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:20px;margin-bottom:30px;gap:20px}.section-head h2{font-size:clamp(28px,3.5vw,43px);font-weight:500;letter-spacing:-.055em;margin:0}.section-head span{font-size:12px;color:var(--muted)}.filters{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:35px}.filters button{padding:0 0 8px;border:0;border-bottom:1px solid transparent;background:none;color:var(--muted);cursor:pointer;font-size:13px}.filters button.active{border-color:var(--ink);color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 22px}.project img{width:100%;aspect-ratio:1.12;object-fit:cover;background:#e8e7e3;transition:transform .3s}.project .image{overflow:hidden}.project:hover img{transform:scale(1.025)}.project h3{font-size:17px;font-weight:600;letter-spacing:-.03em;margin:13px 0 1px}.project p{font-size:12px;color:var(--muted);margin:0}.dark{background:#242522;color:#f8f7f4}.dark .section-head{border-color:#484944}.dark .section-head span,.dark p{color:#bcbdb7}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:35px 0 25px}.services h3{font-size:23px;font-weight:500;letter-spacing:-.04em}.services p{font-size:14px}.about{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;padding:40px 0 80px}.about h2{font-size:clamp(34px,4vw,55px);font-weight:500;letter-spacing:-.06em;line-height:1.12;margin:0}.about p{font-size:17px;color:#62635f}.contact{padding:80px 0 105px;border-top:1px solid var(--line)}.contact h2{font-size:clamp(42px,6vw,76px);font-weight:500;letter-spacing:-.065em;line-height:1.08;margin:15px 0 25px}.contact p{color:var(--muted);max-width:630px}.contact a{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:5px;font-weight:600;margin-top:14px}.footer{padding:24px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.footer .container{display:flex;justify-content:space-between}.detail{padding:55px 0 90px}.back{color:var(--muted);font-size:13px}.detail h1{font-size:clamp(44px,6vw,84px);font-weight:500;letter-spacing:-.065em;line-height:1.1;margin:35px 0 15px}.detail .intro{max-width:760px;font-size:17px;color:#64655f;margin-bottom:50px}.detail .gallery{display:grid;gap:26px}.detail .gallery img{max-height:1100px;width:100%;object-fit:contain;background:#eeedea}.detail .meta{color:var(--accent);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-top:22px}.mobile-menu{display:none}@media(max-width:850px){.container{width:calc(100% - 36px)}.nav{min-height:68px}.links{gap:14px;font-size:12px}.hero{padding:70px 0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 15px}.services{grid-template-columns:1fr;gap:0}.about{grid-template-columns:1fr;gap:12px}.section{padding:45px 0}}@media(max-width:560px){.brand{font-size:19px}.brand small{font-size:8px}.links a:nth-child(2),.links a:nth-child(3){display:none}.links{gap:14px}.hero h1{font-size:51px}.hero{padding:65px 0 70px}.grid{grid-template-columns:1fr;gap:30px}.project img{aspect-ratio:1.12}.section-head{align-items:start}.filters{gap:16px}.contact{padding:60px 0 75px}}
/* V3: minimal, white backgrounds, restrained portfolio image */
:root{--bg:#fff;--line:#e9e9e6;--accent:#a96950}
body,.header{background:#fff}
.hero-split{max-width:none;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.65fr);gap:clamp(35px,5vw,95px);align-items:center;padding:94px 0 88px}
.hero-copy h1{font-size:clamp(52px,6.7vw,94px);max-width:760px}
.hero-copy h1 em{font-weight:400;font-style:italic;color:var(--accent)}
.hero-copy p{max-width:600px}
.hero-art{display:flex;justify-content:center;align-items:center;min-height:250px;background:#fff;overflow:hidden}
.hero-art img{width:100%;max-height:350px;object-fit:contain;mix-blend-mode:multiply}
.hero-actions{display:flex;gap:28px;flex-wrap:wrap}.hero-actions .muted-link{font-weight:400;color:var(--muted)}
.project .image{background:#fff;display:flex;align-items:center;justify-content:center}
.project img{background:#fff;object-fit:contain}
.detail .gallery{gap:22px}.detail .gallery img{background:#fff;object-fit:contain}
.detail-original{margin-top:40px}
.contact-page{padding:90px 0 120px}.contact-page h1{font-size:clamp(56px,8vw,112px);font-weight:500;letter-spacing:-.075em;line-height:1.05;margin:14px 0 18px}.accent{color:var(--accent)}
.contact-intro{font-size:19px;color:var(--muted);max-width:620px;margin-bottom:75px}
.contact-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.65fr);gap:clamp(50px,9vw,160px)}
.contact-form{display:grid;gap:25px}.contact-form label{display:grid;gap:8px;font-size:13px;font-weight:600}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #d9d9d6;background:#fff;border-radius:0;padding:14px;font:inherit;color:var(--ink)}
.contact-form input:focus,.contact-form textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}
.submit{justify-self:start;background:var(--ink);color:#fff;border:0;padding:13px 25px;cursor:pointer}.submit:hover{background:var(--accent)}
.form-note{font-size:12px;color:var(--muted);line-height:1.7}.contact-aside h2{font-size:25px;letter-spacing:-.04em;font-weight:500;margin:0 0 12px}.contact-aside p{color:var(--muted)}.contact-aside .cta{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-top:12px;font-weight:600}.aside-rule{border-top:1px solid var(--line);margin:45px 0 20px}
.skip{position:absolute;top:-100px;left:10px;background:#fff;padding:12px;z-index:100}.skip:focus{top:10px}
@media(max-width:850px){.hero-split{grid-template-columns:1fr 220px;gap:20px;padding:75px 0}.hero-copy h1{font-size:clamp(48px,7vw,70px)}.contact-columns{gap:45px}}
@media(max-width:650px){.hero-split{grid-template-columns:1fr;padding:62px 0 55px}.hero-art{width:min(72%,290px);justify-self:end;min-height:0;margin-top:8px}.hero-art img{max-height:230px}.hero-copy h1{font-size:clamp(49px,12vw,68px)}.contact-columns{grid-template-columns:1fr}.contact-page{padding:60px 0 85px}.contact-intro{margin-bottom:45px}.hero-actions{gap:18px}}

/* V4 — Typographic artwork, no portfolio image in the hero */
.hero-art{background:#fff;display:block;min-height:0;overflow:visible}
.type-art{position:relative;width:100%;max-width:380px;margin:0 auto;padding:20px 0 12px;color:#181818;border-top:2px solid #222;border-bottom:1px solid #222;transform:rotate(-2deg)}
.type-art-top{font-size:9px;letter-spacing:.16em;font-weight:700;border-bottom:1px solid #aaa;padding-bottom:12px}
.type-art-columns{display:grid;grid-template-columns:1fr .83fr;gap:19px;margin:12px 0 0;align-items:start}
.type-art-columns p{font-family:Georgia,serif;font-size:10px;line-height:1.43;color:#242424;margin:0;text-align:justify;max-width:none}
.type-art-columns p:nth-child(2){margin-top:33px}
.type-art-large{font-family:Georgia,serif;font-size:clamp(85px,11vw,155px);font-weight:700;line-height:.9;letter-spacing:-.11em;margin:-13px 0 6px;text-align:right;color:#191919}
.type-art-large span{color:var(--accent)}
.type-art-bottom{border-top:1px solid #aaa;padding-top:9px;font-size:9px;letter-spacing:.14em;font-weight:700;display:flex;justify-content:space-between}
.project img,.detail .gallery img{background:#fff}
@media(max-width:650px){.hero-art{width:min(78%,320px);margin:24px 0 0 auto}.type-art{transform:rotate(-1deg)}.type-art-large{font-size:100px}}

/* V5 — fotografia autentica di una doppia pagina, presentata come libro aperto. */
.hero-art{background:transparent!important;overflow:visible!important;min-height:0;perspective:1100px;padding:22px 8px 24px}
.open-book{width:100%;max-width:480px;margin:auto;filter:drop-shadow(0 18px 13px rgba(33,29,24,.14))}
.open-book-spread{position:relative;isolation:isolate;background:white;border-radius:3px 7px 7px 3px;transform:rotate(-3deg) rotateY(-7deg);transform-origin:center center;box-shadow:2px 3px 0 #e5e1d9,5px 6px 0 #d6d2cb,8px 9px 0 #f0ede8;overflow:hidden}
.open-book-spread img{display:block;width:100%;height:auto;max-height:none!important;object-fit:contain;mix-blend-mode:normal!important}
.open-book-spread::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 15px rgba(25,25,25,.06);border-radius:inherit}
.book-gutter{position:absolute;top:0;bottom:0;left:49.5%;width:3%;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(0,0,0,.12) 43%,rgba(0,0,0,.045) 60%,transparent);pointer-events:none}
@media(max-width:850px){.hero-art{width:min(90%,460px)!important;margin:22px auto 0!important;padding:8px 4px 22px}.open-book-spread{transform:rotate(-2deg) rotateY(-4deg)}}

/* V6 — full-size, straight editorial spread flush with hero title */
.hero.hero-split{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);column-gap:0;align-items:stretch;max-width:none;padding-top:74px;padding-bottom:74px}
.hero-copy{align-self:center;padding-right:clamp(8px,1.5vw,22px);position:relative;z-index:1}
.hero-copy h1{font-size:clamp(48px,5.8vw,82px);max-width:none}
.hero-art{width:100%!important;min-height:390px!important;height:100%;padding:0!important;margin:0!important;display:flex!important;align-items:stretch!important;justify-content:stretch!important;overflow:hidden!important;background:#fff!important;perspective:none!important}
.open-book{width:100%!important;max-width:none!important;margin:0!important;filter:none!important;display:flex}
.open-book-spread{width:100%;height:100%;border-radius:0!important;transform:none!important;box-shadow:none!important;overflow:hidden!important;display:flex;align-items:center;background:#fff}
.open-book-spread img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center center;mix-blend-mode:normal!important}
.open-book-spread::after{display:none!important}
.book-gutter{background:linear-gradient(90deg,transparent,rgba(0,0,0,.08) 46%,transparent);width:2%}
@media(max-width:850px){.hero.hero-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:54px 0}.hero-copy h1{font-size:clamp(40px,6vw,62px)}.hero-art{min-height:310px!important}}
@media(max-width:650px){.hero.hero-split{grid-template-columns:1fr;padding:50px 0 55px;gap:24px}.hero-copy{padding-right:0}.hero-art{width:100%!important;min-height:0!important;aspect-ratio:1800/1164;margin:0!important}.hero-copy h1{font-size:clamp(47px,11vw,68px)}.open-book-spread img{object-fit:contain!important}}

/* V7: open editorial book on pure white, straight, generous size and subtle shadow */
.hero.hero-split{grid-template-columns:minmax(0,.94fr) minmax(0,1.18fr);gap:0;align-items:center}
.hero-copy{padding-right:clamp(4px,1vw,14px)}
.hero-art{background:#fff!important;overflow:visible!important;min-height:0!important;align-items:center!important}
.open-book{width:100%!important;filter:none!important;display:block!important}
.open-book-spread{background:white!important;box-shadow:none!important;overflow:visible!important;display:block!important;transform:none!important}
.open-book-spread img{width:100%!important;height:auto!important;object-fit:contain!important;display:block!important}
.open-book-spread::after,.book-gutter{display:none!important}
@media(max-width:850px){.hero.hero-split{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.hero-art{min-height:0!important}}
@media(max-width:650px){.hero.hero-split{grid-template-columns:1fr;gap:10px}.hero-art{aspect-ratio:auto!important;width:100%!important}.hero-copy{padding-right:0}}

/* V9: Web3Forms form status and honeypot */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.submit:disabled{opacity:.6;cursor:wait}
.form-success{color:#176b39;font-weight:600}
.form-error{color:#a12a2a;font-weight:600}
