
:root{--bg:#202011;--ink:#F4F6F8;--muted:#D5DBE2;--accent:#F2CF55;--card:rgba(8,20,14,.5);--line:rgba(255,255,255,.28);
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
.banner{position:relative;width:100%;height:clamp(240px,52vw,400px);overflow:hidden}.banner img{width:100%;height:100%;object-fit:cover;object-position:72% 50%;display:block;filter:saturate(.85);-webkit-mask-image:linear-gradient(to bottom,#000 14%,transparent 96%);mask-image:linear-gradient(to bottom,#000 14%,transparent 96%)}
.banner::after{content:"";position:absolute;inset:0;background:#63633E;mix-blend-mode:soft-light;opacity:.45;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 10%,transparent 92%);mask-image:linear-gradient(to bottom,#000 10%,transparent 92%)}
.banner-text{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;padding:22px 16px 0;color:#F2EEE8;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.banner-text h1,.banner-text .site-title{margin:0;text-align:center}
.sub{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:600;font-size:1.75rem;color:#FFDD66;text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 16px rgba(0,0,0,.8)}
*{box-sizing:border-box}
body{margin:0;overflow-x:hidden;background:linear-gradient(rgba(8,20,14,.5),rgba(8,20,14,.78)),url("../img/sfondo.jpg") 50% 50%/cover fixed,var(--bg);min-height:100vh;color:var(--ink);font-family:Karla,system-ui,sans-serif;line-height:1.6}
.wrap{max-width:960px;margin:0 auto;padding:0 22px 48px}
.hero{display:grid;gap:28px;align-items:center}
.photo{position:relative;z-index:1;width:100%;max-width:250px;aspect-ratio:4/5;margin:-80px auto 0}
.photo::before{content:'';position:absolute;inset:-22% -110px 0;z-index:-1;background:radial-gradient(ellipse at 50% 36%,#63633E 0%,transparent 72%)}
.photo img{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 80%,transparent),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 80%,transparent),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect;filter:saturate(.88) contrast(.96)}
.photo::after{content:'';position:absolute;inset:0;background:#63633E;mix-blend-mode:soft-light;opacity:.35;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 80%,transparent),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 80%,transparent),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}
.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
h1,.site-title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(2.6rem,9vw,4.4rem);line-height:1.05;margin:0 0 6px}
.role{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.35rem;color:var(--accent);margin:0 0 18px}
.intro{font-size:1.08rem;max-width:46ch;margin:0 0 26px;color:var(--muted)}
nav{display:flex;flex-direction:column;gap:10px;max-width:420px}
nav a{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);text-decoration:none;font-weight:600;font-size:1.05rem}
nav a span{color:var(--muted);font-weight:400;font-size:.9rem}
nav a:hover{border-color:var(--accent)}
a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
footer{margin-top:44px;color:var(--muted);font-size:.9rem}
@media (min-width:760px){.hero{grid-template-columns:250px 1fr;gap:56px}.photo{margin:-120px 0 0}.banner-text{justify-content:center;align-items:flex-end;text-align:right;padding:0 8% 40px 0}.banner-text h1,.banner-text .site-title{text-align:right}}
[hidden]{display:none!important}
.topnav{display:flex;flex-wrap:wrap;gap:8px 20px;padding:18px 0 4px;position:relative;z-index:3}
.topnav a{color:var(--ink);text-decoration:none;font-weight:600;padding-bottom:2px;border-bottom:2px solid transparent}
.topnav a:hover,.topnav a[aria-current]{border-bottom-color:var(--accent)}
.bio{display:grid;gap:26px;align-items:start}
.bio-photo{position:relative;z-index:1;width:100%;max-width:460px;aspect-ratio:946/868;margin:0 auto}
.bio-photo::before{content:'';position:absolute;inset:-14% -90px;z-index:-1;background:radial-gradient(ellipse at 50% 46%,#63633E 0%,transparent 72%)}
.bio-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 70%,transparent),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 70%,transparent),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.bio-photo::after{content:'';position:absolute;inset:0;background:#63633E;mix-blend-mode:soft-light;opacity:.35;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 70%,transparent),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 70%,transparent),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.bio-text h1,.bio-text h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(2.2rem,7vw,3.2rem);line-height:1.1;margin:0 0 14px}
.bio-text a{color:var(--accent)}
.bio-text p{color:var(--muted);max-width:58ch;margin:0 0 14px;font-size:1.05rem}
@media (min-width:760px){.bio{grid-template-columns:420px 1fr;gap:52px}.bio-photo{margin:0}}
.fb{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:20;width:50px;height:50px;border-radius:50%;background:#1877F2;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.45)}
.fb svg{width:28px;height:28px;fill:#fff}
.fb:hover{background:#2D88FF}
.gal h1,.gal h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(2.2rem,7vw,3.2rem);line-height:1.1;margin:18px 0 6px}
.gal h3{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;font-size:1.4rem;color:var(--accent);margin:0 0 4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:16px 0 28px}
.grid button{padding:0;border:0;background:var(--card);border-radius:4px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}
.grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.grid button:hover img{transform:scale(1.04)}
.grid button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.lb{position:fixed;inset:0;z-index:50;background:rgba(5,10,8,.95);display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 56px) 12px calc(env(safe-area-inset-bottom,0px) + 48px)}
.lb img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.lb button{position:absolute;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.lb .x{top:calc(env(safe-area-inset-top,0px) + 10px);right:12px}
.lb .p,.lb .q{top:50%;transform:translateY(-50%)}.lb .p{left:8px}.lb .q{right:8px}
.lb .n{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);left:0;right:0;text-align:center;color:#D5DBD7;font-size:.9rem}
.lead{color:var(--muted);margin:0 0 4px;max-width:56ch}
.books{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:22px 14px;margin:20px 0 30px}
.card{display:flex;flex-direction:column;gap:6px;color:var(--ink);text-decoration:none}
.card:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.cover{aspect-ratio:2/3;border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;padding:14% 9% 10%;color:#F4EFE4;background:linear-gradient(165deg,hsl(var(--h) 34% 30%),hsl(var(--h) 38% 14%));box-shadow:0 6px 18px rgba(0,0,0,.4);overflow:hidden}
.cover b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.02rem;line-height:1.15;letter-spacing:.01em}
.cover small{font-size:.68rem;opacity:.8}
.cover.big{width:min(60vw,240px);padding:14% 10% 10%;margin:0 auto}
.cover.big b{font-size:clamp(1.3rem,5.5vw,1.6rem)}.cover.big small{font-size:.8rem}
.card:hover .cover{transform:translateY(-3px)}.cover{transition:transform .2s}
.ct{font-weight:600;font-size:.95rem;line-height:1.25}
.cm{color:var(--muted);font-size:.84rem}
.tag{align-self:flex-start;font-size:.74rem;border:1px solid var(--line);border-radius:999px;padding:1px 9px;color:var(--muted)}
.book{display:grid;gap:22px;margin-top:22px;align-items:start}
.bk-cover{text-align:center}.prov{display:block;margin-top:8px;font-size:.78rem;color:var(--muted)}
.book h1,.book h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(1.9rem,6vw,2.8rem);line-height:1.1;margin:0 0 6px}
.auth{color:var(--accent);font-style:italic;margin:0 0 14px}
.bk-text p{max-width:60ch}
.data{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:18px 0;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:6px;max-width:460px}
.data dt{color:var(--muted)}.data dd{margin:0}.hint{color:var(--muted);font-size:.85rem}
.buy{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.btn{display:inline-block;padding:11px 18px;border-radius:6px;background:var(--accent);color:#1A2310;font-weight:600;text-decoration:none}
.btn.alt{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn:hover{filter:brightness(1.08)}.btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.back a{color:var(--muted)}
@media (min-width:760px){.book{grid-template-columns:260px 1fr;gap:44px}.cover.big{width:240px}.books{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
.cv{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,.4);transition:transform .2s;background:var(--card)}
.card:hover .cv{transform:translateY(-3px)}
.cv.big{width:min(60vw,240px);margin:0 auto}
@media (min-width:760px){.cv.big{width:240px}}

.site-title{display:block;color:inherit;text-decoration:none}

.topnav{flex-direction:row;max-width:none}
nav.topnav a{display:inline;padding:0 0 2px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;font-size:1rem}
nav.topnav a:hover,nav.topnav a[aria-current]{border-bottom-color:var(--accent)}

.gal h3.sec{margin-top:34px}
.antol{list-style:none;margin:14px 0 30px;padding:0;max-width:560px}
.antol li{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid var(--line)}
.antol strong{font-weight:600;font-size:1.05rem}.antol span{color:var(--muted);font-size:.92rem}

.antol a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.antol a:hover{color:var(--accent)}
