
:root{
  --ink:#2b2723; --bg:#faf7f2; --band:#efe9df; --line:#ddd3c4;
  --accent:#b5482b; --muted:#7a7266; --maxw:52rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:18px/1.65 "Iowan Old Style","Palatino Linotype",Palatino,
  "Book Antiqua","Georgia",serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.2rem}
a{color:var(--accent)}
img{max-width:100%;height:auto;display:block}
h1{font-size:2rem;line-height:1.15;margin:.2em 0 .4em}
h2{font-size:1.4rem;margin:1.8em 0 .5em}
h3{font-size:1.12rem;margin:1.5em 0 .4em}
p{margin:0 0 1em}
.lede{font-size:1.15rem;color:var(--muted)}
.crumb{font-size:.9rem;margin:1rem 0 0}
.meta{color:var(--muted);font-size:.95rem;letter-spacing:.02em}
/* header */
.site-head{background:var(--band);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;
  padding-top:.55rem;padding-bottom:.55rem;max-width:64rem}
.brand{font-weight:700;text-decoration:none;color:var(--ink);font-size:1.05rem;
  white-space:nowrap;margin-right:auto}
.site-head nav{display:flex;flex-wrap:wrap;gap:.15rem .9rem;align-items:center}
.site-head nav a{color:var(--muted);text-decoration:none;font-size:.93rem}
.site-head nav a:hover,.site-head nav a.on{color:var(--accent)}
.site-head nav a.buy,.btn.buy,.buy{color:#fff !important;background:var(--accent);
  padding:.25rem .7rem;border-radius:4px}
.langswitch{border:1px solid var(--line);border-radius:4px;padding:.15rem .55rem !important;
  font-size:.85rem !important}
main.wrap{max-width:var(--maxw);padding-top:1.5rem;padding-bottom:3rem}
main.wrap:has(.grid),main.wrap:has(.gindex),main.wrap:has(.tlist){max-width:66rem}
/* footer */
.site-foot{background:var(--band);border-top:1px solid var(--line);
  color:var(--muted);font-size:.9rem;margin-top:3rem}
.site-foot .wrap{padding:1.4rem 1.2rem}
.site-foot p{margin:.2em 0}
/* hero */
.hero{display:flex;gap:2rem;flex-wrap:wrap;align-items:flex-start;margin:1rem 0 2rem}
.hero .cover{width:230px;border:1px solid var(--line);box-shadow:0 6px 24px #0002}
.hero>div{flex:1;min-width:16rem}
.tag{color:var(--muted);font-size:1.1rem;margin-top:-.3em}
.rating-line{margin:.4em 0 0;font-size:.95rem}
.rating-line a{color:var(--accent);text-decoration:none}
.rating-line a:hover{text-decoration:underline}
.pull-quote{max-width:38rem;margin:2rem auto;text-align:center;font-style:italic;
  font-size:1.2rem;color:var(--ink);border:0;padding:0}
.pull-quote cite{display:block;margin-top:.6rem;font-style:normal;font-size:.9rem;
  color:var(--muted)}
.pull-quote cite a{color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.btn{display:inline-block;text-decoration:none;border:1px solid var(--accent);
  color:var(--accent);padding:.35rem .9rem;border-radius:4px;font-size:.95rem}
.btn:hover{background:var(--accent);color:#fff}
.sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
  gap:1rem;margin-top:2rem}
.sections a{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);
  border-radius:6px;padding:1rem 1.1rem;background:#fff}
.sections a:hover{border-color:var(--accent)}
.sections h3{margin:.1em 0 .3em;color:var(--accent)}
.sections p{margin:0;color:var(--muted);font-size:.95rem}
/* diario list */
.totals{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;
  color:var(--muted);font-size:.95rem;border-block:1px solid var(--line);
  padding:.7rem 0;margin:1.4rem 0}
.trip-overview{margin:1.4rem 0 1.8rem;text-align:center}
.trip-overview img{width:100%;max-width:44rem;margin:0 auto;border:1px solid var(--line);
  border-radius:6px}
.trip-overview figcaption{color:var(--muted);font-size:.9rem;margin-top:.5rem;
  font-style:italic}
.tlist{display:grid;gap:.7rem;margin-top:1.5rem}
.tcard{display:grid;grid-template-columns:2.4rem 110px 1fr;gap:1rem;align-items:center;
  text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:6px;
  padding:.6rem .9rem;background:#fff}
.tcard:hover{border-color:var(--accent)}
.tnum{font-size:1.6rem;font-weight:700;color:var(--accent);text-align:center}
.tcard img{width:110px;height:74px;object-fit:cover;border-radius:3px}
.tbody{display:flex;flex-direction:column;gap:.1rem}
.tbody strong{font-size:1.05rem}
.tdate{color:var(--muted);font-size:.9rem}
.tblurb{font-size:.95rem}
.tdet{color:var(--muted);font-size:.85rem}
.tnote{display:inline-block;margin-left:.5rem;font-size:.78rem;color:var(--accent);
  border:1px solid var(--accent);border-radius:3px;padding:0 .35rem}
.daynote{font-size:.9rem;color:var(--muted);font-style:italic;
  border-left:3px solid var(--accent);padding-left:.6rem;margin:.6rem 0 1rem}
@media(max-width:33rem){.tcard{grid-template-columns:2rem 1fr}.tcard img{display:none}}
/* stage */
.stage .banner{width:100%;max-height:393px;object-fit:cover;object-position:center;border-radius:6px;margin:1rem 0}
.stage-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:2rem}
.stage-nav a{text-decoration:none;border:1px solid var(--line);border-radius:4px;
  width:2.2rem;height:2.2rem;display:grid;place-items:center;color:var(--accent)}
.stage-nav a:hover{background:var(--accent);color:#fff}
/* photo grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.grid.small{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.grid a{display:block;overflow:hidden;border-radius:3px}
.grid img{width:100%;height:130px;object-fit:cover;transition:transform .2s}
.grid.small img{height:170px}
.grid a:hover img{transform:scale(1.05)}
/* galleries index */
.gindex{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}
.gcard{position:relative;display:block;text-decoration:none;border-radius:6px;overflow:hidden;
  border:1px solid var(--line)}
.gcard img{width:100%;height:170px;object-fit:cover}
.gcard span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(#0000,#000a);
  color:#fff;padding:1.4rem .8rem .5rem;font-weight:700;display:flex;justify-content:space-between}
.gcard small{font-weight:400;opacity:.85}
/* longread */
.longread{max-width:40rem;margin:0 auto}
.longread img{margin:1.4rem auto;border-radius:4px}
.longread h2{border-bottom:1px solid var(--line);padding-bottom:.2em}
.side-fig{width:44%;max-width:16rem;margin:.2rem 0 1rem;text-align:center}
.side-fig.left{float:left;margin-right:1.3rem}
.side-fig.right{float:right;margin-left:1.3rem}
.side-fig img{width:100%;border:1px solid var(--line);border-radius:4px;
  background:#fff;padding:.4rem;display:block}
.side-fig figcaption{font-size:.8rem;color:var(--muted);font-style:italic;
  margin-top:.4rem;text-align:left}
@media (max-width:34rem){.side-fig{float:none !important;width:100%;max-width:none;
  margin:0 0 1.2rem}}
.specsheet{background:var(--band);border-radius:6px;padding:1rem 1.3rem;margin:1.4rem 0;
  clear:right}
.specsheet .specs-title{font-weight:700;margin:0 0 .4em}
.specsheet ul{margin:0;padding-left:1.2rem}
.specsheet li{margin:.2em 0}
.byline{color:var(--muted);font-style:italic;margin-top:-.6em}
.switch{font-size:.9rem}
.epigraph{border:0;font-style:italic;color:var(--muted);font-size:1.15rem;
  margin:1.5rem 0;padding-left:1rem;border-left:3px solid var(--accent)}
.video-embed{position:relative;padding-top:56.25%;background:#000;border-radius:6px;overflow:hidden;margin:1rem 0}
.video-embed iframe,.video-embed video{position:absolute;inset:0;width:100%;height:100%;border:0}
/* recensioni */
.rsummary{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;margin:1.2rem 0;
  padding:1rem 0;border-block:1px solid var(--line)}
.rscore{font-size:2.6rem;font-weight:700;color:var(--accent);line-height:1}
.rscore span{font-size:1.2rem;color:var(--muted);font-weight:400}
.rbars{flex:1;min-width:14rem;display:flex;flex-direction:column;gap:.25rem}
.rbar{display:grid;grid-template-columns:2.6rem 1fr 3rem;align-items:center;gap:.5rem;
  font-size:.85rem;color:var(--muted)}
.rbar-track{background:var(--band);border-radius:3px;height:8px;overflow:hidden}
.rbar-fill{display:block;height:100%;background:var(--accent)}
.rcount{width:100%;color:var(--muted);font-size:.9rem;margin:0}
.rnote{font-size:.9rem;max-width:40rem;margin:0 auto 1.5rem}
.rlist{display:grid;gap:1.1rem;max-width:40rem;margin:0 auto}
.review{border:1px solid var(--line);border-radius:6px;padding:1rem 1.2rem;background:#fff}
.review-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem}
.review-head h3{margin:0;font-size:1.05rem}
.stars{color:var(--accent);letter-spacing:1px}
.review-meta{color:var(--muted);font-size:.85rem;margin:.2rem 0 .7rem}
.translated-note{color:var(--muted);font-size:.78rem;font-style:italic;margin:-.4rem 0 .7rem}
.vbadge{display:inline-block;color:#5a7a52;font-style:normal}
.review p{margin:0 0 .7rem;font-size:.97rem}
.review p:last-child{margin-bottom:0}
@media (prefers-color-scheme:dark){.review{background:#242019}}
/* lightbox */
.lb{position:fixed;inset:0;background:#000d;display:flex;align-items:center;
  justify-content:center;z-index:100;padding:2vmin}
.lb img{max-width:96vw;max-height:92vh;width:auto;height:auto;border-radius:2px}
.lb button{position:absolute;background:#fff2;color:#fff;border:0;font-size:2rem;
  width:3rem;height:3rem;border-radius:50%;cursor:pointer}
.lb .x{top:1rem;right:1rem}.lb .p{left:1rem}.lb .n{right:1rem}
.lb .p,.lb .n{top:50%;transform:translateY(-50%)}
@media (prefers-color-scheme:dark){
  :root{--ink:#e9e2d6;--bg:#1c1a17;--band:#26231f;--line:#3a352e;--muted:#9c9284}
  .sections a,.tcard,.gcard{background:#242019}
  .hero .cover{box-shadow:0 6px 24px #0006}
}
