@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{--paper:#f5f2ea;--cream:#fcfaf5;--ink:#282c28;--mute:#65695f;--pine:#394b40;--brass:#99824e;--line:#d8d2c4;--measure:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #9e7548;outline-offset:4px}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand-name,.big-quote{font-family:'Italiana',Georgia,serif;font-weight:400;line-height:1.04}h1{font-size:clamp(4.2rem,8.4vw,9.1rem);letter-spacing:-.045em}h2{font-size:clamp(3.1rem,5.3vw,6rem);letter-spacing:-.028em}h3{font-size:clamp(1.7rem,3vw,2.7rem)}p{max-width:68ch}.overline{font-size:.69rem;letter-spacing:.23em;text-transform:uppercase;font-weight:700;color:var(--brass)}.lead{font-size:clamp(1.04rem,1.5vw,1.25rem);line-height:1.75;color:#485048}.muted{color:var(--mute)}.container{width:min(calc(100% - 9vw),var(--measure));margin-inline:auto}.narrow{max-width:900px}.site-header{position:relative;z-index:10;border-bottom:1px solid var(--line);background:var(--paper)}.header-in{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{text-decoration:none;display:flex;align-items:center;gap:13px}.brand-mark{font-size:2.2rem;color:var(--brass);line-height:1}.brand-name{display:block;text-transform:uppercase;letter-spacing:.035em;font-size:clamp(1.6rem,2.2vw,2.4rem)}.brand-sub{display:block;font-size:.53rem;letter-spacing:.34em;text-transform:uppercase}.nav{display:flex;gap:clamp(1rem,2.1vw,2.4rem);align-items:center}.nav a{text-decoration:none;font-size:.67rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;border-bottom:1px solid transparent;padding:.65rem 0}.nav a:hover,.nav a[aria-current=page]{border-color:var(--brass)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:.6rem 1rem;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;text-decoration:none;border:1px solid var(--pine);padding:1rem 1.5rem;letter-spacing:.1em;text-transform:uppercase;font-size:.71rem;font-weight:700;transition:background .2s,color .2s,transform .2s;cursor:pointer;background:transparent;color:var(--pine)}.button.primary{background:var(--pine);color:white}.button:hover{transform:translateY(-2px);background:var(--brass);border-color:var(--brass);color:white}.button-group{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.section{padding:clamp(5rem,9vw,10rem) 0;border-bottom:1px solid var(--line)}.hero{padding:clamp(4rem,7vw,7rem) 0 5rem;overflow:hidden}.hero-grid{display:grid;grid-template-columns:.92fr 1.4fr;align-items:center;gap:4vw}.hero-text{position:relative;z-index:2}.hero h1{margin:1.2rem 0 1.6rem}.hero h1 em{font-style:italic;color:var(--pine)}.hero-art{position:relative}.hero-art::before{content:'';position:absolute;inset:3% -2% -3% 4%;border:1px solid var(--brass);z-index:-1}.hero-art img{width:100%;height:min(70vw,670px);object-fit:cover;object-position:50% 38%}.art-caption,.caption{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-top:.9rem}.rule-title{display:flex;gap:2rem;align-items:center;margin-bottom:2.6rem}.rule-title:after{content:'';height:1px;background:var(--line);flex:1}.intro{text-align:center;max-width:860px;margin:auto}.intro .big-quote{font-size:clamp(2.5rem,4vw,4.8rem);line-height:1.24}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,8vw,10rem)}.book-image{max-height:630px;width:100%;object-fit:cover;object-position:center}.book-copy{padding-block:3rem}.book-copy h2{margin:.9rem 0 1.5rem}.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2.2rem)}.work{margin:0;grid-column:span 4}.work.wide{grid-column:span 6}.work img{width:100%;height:clamp(320px,37vw,510px);object-fit:cover;background:#ded9cd}.work.wide img{height:370px}.work figcaption{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-top:1px solid var(--line);padding-top:.9rem;margin-top:1rem}.work strong{font-family:'Italiana',Georgia,serif;font-size:1.7rem;font-weight:400}.work small{font-size:.65rem;color:var(--mute);text-transform:uppercase;letter-spacing:.11em}.work a{text-decoration:none}.work a:hover img{filter:saturate(1.09)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.4rem}.section-head h2{margin:.8rem 0 0}.section-head p{margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0}.service{border-top:1px solid var(--brass);padding-top:2rem}.service h3{margin:1rem 0}.service-num{color:var(--brass);font-size:.75rem}.pale{background:var(--cream)}.about-image{width:100%;height:530px;object-fit:cover}.footer{padding:5rem 0 2rem;background:#303f36;color:#f5f2ea}.footer .brand-name{font-size:2.1rem}.footer a{text-decoration:none}.footer-top{display:flex;justify-content:space-between;gap:3rem;flex-wrap:wrap}.footer-links{display:flex;flex-wrap:wrap;gap:1.4rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid #ffffff35;margin-top:4rem;padding-top:1.5rem;font-size:.72rem;color:#e1dfd5}.page-head{padding:clamp(5rem,8vw,9rem) 0 3rem}.page-head h1{font-size:clamp(4rem,7vw,7.5rem);margin:1rem 0 1.4rem}.page-head .lead{max-width:760px}.figure-pair{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.figure-pair img{width:100%;max-height:750px;object-fit:contain}.book-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5rem;align-items:center}.book-feature img{max-height:750px;width:100%;object-fit:contain;background:#e6e4dc}.note{padding:1.25rem;border-left:2px solid var(--brass);background:#ebe6da;font-size:.9rem}.portfolio-full{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 1.5rem}.portfolio-full .work{grid-column:auto}.portfolio-full .work img{height:350px}.contact-box{border:1px solid var(--line);padding:3rem;background:var(--cream)}.contact-box .button{margin-top:1rem}.lightbox{position:fixed;inset:0;z-index:100;background:#131b17ef;color:white;display:none;align-items:center;justify-content:center;padding:3rem}.lightbox[open]{display:flex}.lightbox-inner{max-width:min(100%,1100px);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:.7rem}.lightbox img{max-height:75vh;max-width:100%;object-fit:contain}.lightbox button{position:absolute;right:1.3rem;top:1rem;border:1px solid #fff8;background:none;color:white;font-size:1rem;padding:.5rem 1rem;cursor:pointer}.lightbox figcaption{text-align:center;font-size:.9rem}.work-open{background:none;border:0;padding:0;cursor:zoom-in;width:100%;text-align:left;color:inherit}.work-open img{transition:filter .2s}.work-open:hover img{filter:brightness(.93)}.skip{position:absolute;top:-200px;left:1rem;z-index:1000;background:white;color:black;padding:1rem}.skip:focus{top:1rem}.fadeup{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.fadeup.visible{opacity:1;transform:none}
@media(max-width:850px){.container{width:min(calc(100% - 36px),var(--measure))}.header-in{min-height:78px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:2rem 18px 2.5rem;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.4rem}.nav.is-open{display:flex}.nav a{padding:.75rem}.hero-grid,.split,.book-feature{grid-template-columns:1fr;gap:2.5rem}.hero-art{grid-row:1}.hero-art img{height:65vw;min-height:320px}.hero h1{font-size:clamp(4rem,12vw,7rem)}.section{padding:5rem 0}.work{grid-column:span 6}.work.wide{grid-column:span 6}.portfolio-full{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:1fr;gap:1rem}.about-image{height:430px}.section-head{align-items:start;flex-direction:column}}@media(max-width:540px){.brand-name{font-size:1.65rem}.brand-sub{font-size:.47rem}.hero{padding:2rem 0 4rem}.hero-art img{height:82vw;min-height:310px}.hero h1{font-size:clamp(3.4rem,15vw,5rem)}.button{width:100%}.button-group{flex-direction:column}.portfolio-grid,.portfolio-full,.figure-pair{display:block}.work{margin-bottom:2.5rem}.work img,.work.wide img,.portfolio-full .work img{height:auto;max-height:none;aspect-ratio:3/4;object-fit:cover}.work.wide img{aspect-ratio:4/3}.book-copy{padding:0}.about-image{height:350px}.contact-box{padding:1.5rem}.footer-top{flex-direction:column}.page-head h1{font-size:clamp(3.6rem,13vw,5.4rem)}.lightbox{padding:1rem}.lightbox img{max-height:70vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fadeup{opacity:1;transform:none;transition:none}.button,.work-open img{transition:none}}

/* Canali di contatto ufficiali — v0.2 */
.footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-left:auto}.footer-social a{font-size:.88rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.12rem}.footer-social a:hover,.footer-social a:focus-visible,.contact-address a:hover{text-decoration:underline}.contact-address{font-size:clamp(1.05rem,2.4vw,1.55rem);overflow-wrap:anywhere}.contact-address a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}@media(max-width:850px){.footer-social{margin-left:0}}

/* Social: recognizable, accessible monochrome brand marks */
.social-icon-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;min-height:42px;border:1px solid currentColor;border-radius:50%;color:inherit;text-decoration:none!important;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.social-icon-link:hover{background:var(--brass);color:#fff;border-color:var(--brass);transform:translateY(-2px)}
.social-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.social-icon-link[href*="facebook"] .social-icon{fill:currentColor;stroke:none}
.social-dot{fill:currentColor;stroke:none}
.footer-social,.header-social,.contact-social{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}
.footer-social{margin-left:auto}
.footer-social .social-icon-link{padding:0;border:1px solid #f5f2ea99}
.header-social{padding-left:.35rem;gap:.35rem}
.header-social .social-icon-link{height:36px;width:36px;min-height:36px;min-width:36px;border-color:var(--line)}
.header-social .social-icon{height:17px;width:17px}
.nav .header-social .social-icon-link{border:1px solid var(--line);padding:0}
.contact-social{gap:1rem;align-self:center}
.contact-social .social-icon-link{height:52px;width:52px;min-width:52px;min-height:52px}
.contact-social .social-icon{width:24px;height:24px}
@media(max-width:850px){.header-social{padding:1rem 0 0;gap:1rem}.header-social .social-icon-link{width:44px;height:44px;min-width:44px;min-height:44px}.footer-social{margin-left:0}}
@media(prefers-reduced-motion:reduce){.social-icon-link{transition:none}.social-icon-link:hover{transform:none}}

/* v0.5 — curated illustrated catalogue */
.work-description{font-size:.86rem;line-height:1.5;color:var(--muted,#65645f);margin:.45rem 0 0;max-width:48ch}
.portfolio-catalog-note{max-width:65ch;line-height:1.65;color:#5c5b54;margin:1rem 0 2rem}
.book-role{font-size:.98rem;font-weight:600;letter-spacing:.025em;color:#53664f;margin:.25rem 0 1.1rem}
/* The first narrative section is the editorial entry point. */
main>section#libro{padding-top:clamp(2.5rem,6vw,5rem)}

/* v0.6 — fixes verified against the full gallery */
.hero-art::before{display:none !important}
.hero-art img{outline:1px solid var(--line);outline-offset:7px}
.hero-art .art-caption{position:static;margin:1.1rem 0 0;padding:0;line-height:1.4}
.portfolio-full{align-items:start;grid-auto-flow:row}
.portfolio-full .work{min-width:0}
.portfolio-full .work img{width:100%;height:auto !important;max-height:none !important;aspect-ratio:auto !important;object-fit:contain !important;object-position:center;display:block;background:transparent}
.portfolio-full .work-open{display:block;line-height:0}
.portfolio-full .work figcaption{display:block !important;margin-top:1rem;padding-top:.8rem}
.portfolio-full .work figcaption strong{display:block;line-height:1.2;margin:0 0 .2rem}
.portfolio-full .work figcaption small{display:block;margin:.35rem 0;color:var(--mute)}
.portfolio-full .work figcaption .work-description{max-width:100%;margin:.55rem 0 0;line-height:1.55;font-size:.86rem}
@media (max-width:850px){.portfolio-full{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.portfolio-full{display:block}.portfolio-full .work{margin-bottom:2.5rem}}

/* Language switcher */
.language-switch{display:flex;gap:.5rem;align-items:center;font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.05em;white-space:nowrap}
.language-switch a{display:inline-flex;min-width:28px;min-height:32px;align-items:center;justify-content:center;text-decoration:none;color:inherit}
.language-switch a[aria-current=true]{text-decoration:underline;text-underline-offset:.3em;font-weight:700}
.language-switch a:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* v1.0: editorial commission availability and DeviantArt */
.availability-note{margin-top:2rem;padding:1rem 1.25rem;border-left:2px solid var(--gold,#af8b48);background:rgba(170,150,95,.08);font-size:1rem}
.deviantart-link{display:inline-flex;align-items:center;min-height:36px;font-size:.77rem;letter-spacing:.03em;text-decoration:underline;text-underline-offset:4px;margin-left:.35rem}
.deviantart-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Services editorial chapters — v1.1 */
.services-intro{max-width:1000px;padding-bottom:clamp(4rem,7vw,7rem)}
.services-intro h1{font-size:clamp(3.8rem,7vw,7.6rem);max-width:11ch}
.services-intro .lead{font-size:clamp(1.12rem,1.8vw,1.5rem);color:var(--ink);max-width:61ch}
.services-intro>p:not(.lead){max-width:66ch}
.services-intro>.button{margin-top:1.4rem}
.services-showcase{padding-block:2rem 6rem}
.service-chapter{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:clamp(2rem,6vw,7rem);align-items:center;padding:clamp(3.5rem,6vw,6rem) 0;border-bottom:1px solid var(--line)}
.service-chapter:last-child{border-bottom:0}
.service-chapter--reverse{grid-template-columns:minmax(0,1.22fr) minmax(240px,.78fr)}
.service-chapter--reverse .service-copy{order:2}
.service-chapter--reverse .service-art{order:1}
.service-copy h2{font-size:clamp(2.8rem,4.4vw,5.5rem);margin:1.1rem 0 1.5rem}
.service-copy p{font-size:1.08rem;line-height:1.8;max-width:44ch}
.service-art{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem}
.service-plate{margin:0;min-width:0}
.service-plate img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#ebe6da}
.service-plate figcaption{font-size:.65rem;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--mute);margin-top:.75rem}
.service-art--2 .service-plate:last-child{margin-top:3rem}
.service-art--3{grid-template-columns:1fr 1fr}
.service-art--4{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-art--4 img{background:transparent}
.service-experience{max-width:850px;text-align:center}
.service-experience h2{font-size:clamp(2.8rem,4.8vw,5.3rem);margin:1.5rem auto 2rem}
.service-experience p{margin:0 auto 1rem;max-width:65ch}
.service-final-cta{max-width:850px;text-align:center}
.service-final-cta h2{font-size:clamp(3.2rem,6vw,6.5rem);margin:1.5rem 0 2rem}
.service-final-cta p{margin:0 auto 1rem;max-width:64ch}
.service-final-cta .button{margin-top:1.7rem}
.service-email{margin-top:1.5rem!important;color:var(--mute);font-size:.9rem;overflow-wrap:anywhere}
@media(max-width:850px){.service-chapter,.service-chapter--reverse{grid-template-columns:1fr;gap:2rem}.service-chapter--reverse .service-copy,.service-chapter--reverse .service-art{order:initial}.services-intro h1{max-width:100%}}
@media(max-width:540px){.service-art{gap:.65rem}.service-art--4{gap:.4rem}.service-plate figcaption{font-size:.58rem}.service-art--2 .service-plate:last-child{margin-top:1.5rem}.service-chapter{padding:3.5rem 0}.services-showcase{padding-bottom:2rem}.services-intro .button{width:100%}}

/* v1.2 — About / Contact editorial refinement */
.about-heading h1{font-size:clamp(4.2rem,8vw,8rem)}
.about-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,7vw,8rem)}
.about-editorial-art{margin:0;min-width:0}.about-editorial-art img{display:block;width:100%;height:auto;max-height:670px;object-fit:contain;background:transparent}
.about-editorial-art figcaption{margin-top:1rem}.about-editorial-copy h2{margin:1.2rem 0 2rem;font-size:clamp(3rem,5vw,5.8rem)}
.about-editorial-copy p{max-width:55ch;line-height:1.85}.about-editorial-reverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.text-link{display:inline-block;color:var(--pine);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;margin-top:1rem;text-underline-offset:.3em}
.about-outro{text-align:center;max-width:840px}.about-outro h2{font-size:clamp(3rem,5.5vw,6rem);margin:1rem 0 1.5rem}.about-outro p{margin:0 auto 2rem}
.contact-heading h1{max-width:12ch}.contact-editorial{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2.5rem,7vw,8rem);align-items:center}
.contact-visual{margin:0;min-width:0}.contact-visual img{width:100%;height:auto;max-height:670px;object-fit:contain}.contact-visual figcaption{margin:1rem 0 0}
.contact-content h2{font-size:clamp(3rem,5vw,5.7rem);margin:1rem 0 1.7rem}.contact-content p{line-height:1.85}
.contact-mail{display:block;font-size:clamp(1.1rem,2vw,1.5rem);overflow-wrap:anywhere;margin:1.5rem 0 2rem;text-underline-offset:.3em;color:var(--pine)}
.contact-disclaimer{font-size:.8rem;color:var(--mute);margin-top:1.4rem}
.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.contact-bottom h2{font-size:clamp(3rem,5vw,5.3rem);margin:1rem 0}
.contact-platforms{display:flex;flex-direction:column;gap:2.2rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);background:var(--cream)}
.contact-platform-icons .contact-social{display:flex;gap:1rem}.contact-platform-text{display:flex;flex-wrap:wrap;gap:1.2rem 2rem}.contact-platform-text a{text-underline-offset:.3em;font-weight:600}
@media(max-width:850px){.about-editorial,.about-editorial-reverse,.contact-editorial,.contact-bottom{grid-template-columns:1fr;gap:2rem}.about-editorial-reverse .about-editorial-copy{order:2}.about-editorial-reverse .about-editorial-art{order:1}}
@media(max-width:540px){.about-editorial-copy h2,.contact-content h2{font-size:clamp(2.8rem,10vw,4.2rem)}.contact-platforms{padding:1.4rem}.contact-heading h1{font-size:clamp(3rem,12vw,4.6rem)}}
