:root{
  --ink:#15110c;
  --ink-2:#1c1712;
  --parchment:#efe6d4;
  --parchment-2:#e6dac2;
  --terracotta:#a8552f;
  --brass:#b9975a;
  --moss:#4b5240;
  --stone-dim:#c9bfa7;
  --ink-dim:#5c554a;
  --hair: rgba(185,151,90,0.35);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);
  color:var(--parchment);
  font-family:'EB Garamond', serif;
  font-size:18px;
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,.display{font-family:'Cormorant Garamond', serif;font-weight:500;letter-spacing:0.01em;}
.eyebrow{font-family:'Jost', sans-serif;font-size:12px;letter-spacing:0.25em;text-transform:uppercase;color:var(--brass);font-weight:500;}
a{color:inherit;text-decoration:none;}
img{display:block;width:100%;height:100%;object-fit:cover;}
button{font-family:inherit;cursor:pointer;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:26px 5vw;transition:padding .5s ease, background .5s ease, box-shadow .5s ease;}
nav.scrolled{padding:14px 5vw;background:rgba(21,17,12,0.94);backdrop-filter:blur(6px);box-shadow:0 1px 0 var(--hair);}
.brand{display:flex;align-items:center;gap:12px;}
.brand svg{width:28px;height:38px;flex-shrink:0;}
.brand-text{font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:0.08em;color:var(--parchment);}
.navlinks{display:flex;gap:32px;font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:0.15em;text-transform:uppercase;}
.navlinks a{opacity:0.85;position:relative;padding-bottom:4px;}
.navlinks a.active{opacity:1;color:var(--brass);}
.navlinks a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--brass);transition:width .35s ease;}
.navlinks a:hover::after{width:100%;}
@media (max-width:900px){.navlinks{display:none;}}

/* GENERIC LAYOUT */
section{position:relative;padding:120px 5vw;}
.section-inner{max-width:1180px;margin:0 auto;}
.narrow{max-width:820px;}
.light{background:var(--parchment);color:var(--ink);}
.light .eyebrow{color:var(--terracotta);}
.light .ink-dim{color:#3a352c;}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);}
.reveal.in-view{opacity:1;transform:translateY(0);}
.fade-line{height:1px;width:64px;background:var(--brass);margin:26px auto;}
.center{text-align:center;}

/* PAGE HERO (interior pages) */
.page-hero{position:relative;height:64vh;min-height:420px;display:flex;align-items:flex-end;padding:0 5vw 60px;}
.page-hero img{position:absolute;inset:0;filter:brightness(0.55);}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(15,12,8,0.25) 0%, rgba(15,12,8,0.85) 100%);}
.page-hero-content{position:relative;z-index:2;max-width:760px;}
.page-hero h1{font-size:clamp(34px,5vw,58px);color:var(--parchment);line-height:1.1;}
.breadcrumb{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--stone-dim);margin-bottom:18px;display:inline-block;}
.breadcrumb:hover{color:var(--brass);}

/* CLICKABLE CARD (home teasers) */
.card-link{display:block;position:relative;overflow:hidden;border:1px solid var(--hair);background:var(--ink-2);transition:transform .5s ease, box-shadow .5s ease;}
.card-link:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,0.35);}
.card-link .media{height:320px;overflow:hidden;}
.card-link .media img{transition:transform 1.1s ease;}
.card-link:hover .media img{transform:scale(1.06);}
.card-link .body{padding:32px 32px 36px;}
.card-link h3{font-size:27px;color:var(--parchment);margin:8px 0 10px;}
.card-link p{color:var(--stone-dim);font-size:16px;}
.card-cta{margin-top:18px;font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--brass);display:flex;align-items:center;gap:8px;}
.card-cta .arrow{transition:transform .35s ease;}
.card-link:hover .card-cta .arrow{transform:translateX(6px);}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;padding:16px 30px;border:1px solid var(--brass);color:var(--parchment);transition:background .35s ease, color .35s ease;}
.btn:hover{background:var(--brass);color:var(--ink);}
.btn-solid{background:var(--brass);color:var(--ink);border:1px solid var(--brass);}
.btn-solid:hover{background:transparent;color:var(--parchment);}
.btn-row{display:flex;gap:18px;flex-wrap:wrap;}
.light .btn{border-color:var(--terracotta);color:var(--ink);}
.light .btn:hover{background:var(--terracotta);color:var(--parchment);}

/* GALLERY (lightbox grid) */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.gallery .g-item{aspect-ratio:4/3;overflow:hidden;cursor:pointer;position:relative;}
.gallery .g-item img{transition:transform .6s ease;}
.gallery .g-item:hover img{transform:scale(1.08);}
.gallery .g-item.tall{grid-row:span 2;aspect-ratio:auto;}
@media (max-width:820px){.gallery{grid-template-columns:repeat(2,1fr);}}

.lightbox{position:fixed;inset:0;background:rgba(10,8,6,0.94);z-index:1000;display:none;align-items:center;justify-content:center;padding:5vw;}
.lightbox.open{display:flex;}
.lightbox img{max-width:100%;max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,0.6);}
.lightbox .close{position:absolute;top:28px;right:5vw;color:var(--parchment);font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;cursor:pointer;}
.lightbox .nav-arrow{position:absolute;top:50%;transform:translateY(-50%);color:var(--parchment);font-size:28px;cursor:pointer;padding:14px;opacity:0.7;transition:opacity .3s;}
.lightbox .nav-arrow:hover{opacity:1;}
.lightbox .prev{left:2vw;}
.lightbox .next{right:2vw;}

/* TIMELINE (storia) */
.timeline{border-left:1px solid var(--terracotta);padding-left:32px;display:flex;flex-direction:column;gap:34px;}
.tl-item{position:relative;}
.tl-item::before{content:'';position:absolute;left:-38px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--terracotta);}
.tl-item .tl-date{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--terracotta);margin-bottom:6px;}
.tl-item .tl-body{font-size:17px;color:#3a352c;}

/* long-form article */
.article p{margin-bottom:20px;color:#3a352c;font-size:18.5px;}
.article h2{font-size:clamp(28px,3.6vw,38px);margin:50px 0 18px;color:var(--ink);}
.article h2:first-child{margin-top:0;}
.pull-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(22px,2.6vw,30px);color:var(--terracotta);border-left:2px solid var(--terracotta);padding-left:28px;margin:40px 0;}

footer{border-top:1px solid var(--hair);padding-top:26px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.1em;color:var(--ink-dim);text-transform:uppercase;text-align:center;}
.contatti{text-align:center;background:var(--ink);padding-top:100px;padding-bottom:60px;}
.contatti h2{font-size:clamp(30px,4vw,44px);margin-bottom:18px;}
.contatti p.lead{color:var(--stone-dim);max-width:480px;margin:0 auto 34px;font-size:18px;}
.contact-links{display:flex;justify-content:center;gap:44px;font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:60px;flex-wrap:wrap;}
.contact-links a{border-bottom:1px solid var(--hair);padding-bottom:6px;transition:color .3s, border-color .3s;color:var(--brass);}
.contact-links a:hover{color:var(--parchment);border-color:var(--brass);}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
@media (max-width:900px){.two-col{grid-template-columns:1fr;gap:40px;}}

.meta-row{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass);margin-bottom:8px;}

.notice{border:1px dashed var(--hair);padding:22px 26px;font-size:15px;color:var(--stone-dim);margin-top:26px;font-family:'Jost',sans-serif;letter-spacing:0.02em;line-height:1.7;}
.light .notice{color:#6b6355;border-color:rgba(168,85,47,0.4);}
