:root{
  --bg:#fff;--fg:#1a1a1a;--mfg:#6b6b6b;--border:rgba(0,0,0,.08);--gold:#b5a268;
  --serif:"Cormorant Garamond",serif;--sans:"Inter",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;min-height:100vh}
body{display:flex;flex-direction:column}
.link-reset{color:inherit;text-decoration:none}
a{color:inherit;text-decoration:none}

/* ===== layout containers (generic, reusable) ===== */
.container-wide{max-width:1400px;width:100%;margin:0 auto}
.container-720{max-width:720px;margin:0 auto}
.container-980{max-width:980px;margin:0 auto}
.container-1100{max-width:1100px;margin:0 auto}

/* ===== site header ===== */
.site-header{display:flex;justify-content:space-between;align-items:flex-end;padding:10px 32px 24px;border-bottom:1px solid var(--border)}
.brand-title{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-.01em;color:var(--gold)}

.site-nav{display:flex;gap:32px}
.site-nav-link{font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:var(--mfg);padding-bottom:4px;transition:color .2s}
.site-nav-link:hover{color:var(--fg)}
.site-nav-link.is-current{color:var(--fg);border-bottom:1px solid var(--fg)}

.lang-bar{display:flex;justify-content:flex-end;align-items:center;gap:6px;padding:8px 32px 0}
.lang-bar-link{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--mfg);transition:color .2s}
.lang-bar-link:hover{color:var(--fg)}
.lang-bar-link.is-current{color:var(--fg);border-bottom:1px solid var(--fg)}
.lang-bar-sep{font-size:10px;color:var(--border)}

.menu-toggle{display:none;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid var(--border);border-radius:50%;background:none;cursor:pointer}
.menu-toggle-bar{display:block;width:16px;height:1px;background:var(--fg);transition:transform .3s,opacity .3s}
.menu-toggle.is-open .menu-toggle-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle.is-open .menu-toggle-bar:nth-child(2){opacity:0}
.menu-toggle.is-open .menu-toggle-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.mobile-nav{display:none;position:fixed;inset:0;background:#fff;z-index:100;flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:0;pointer-events:none;transition:opacity .3s}
.mobile-nav.is-open{opacity:1;pointer-events:auto}
.mobile-nav-link{font-size:14px;text-transform:uppercase;letter-spacing:.3em;color:var(--fg)}
.mobile-nav-link.is-current{color:var(--gold)}
.mobile-nav-close{position:absolute;top:32px;right:32px;font-size:24px;line-height:1;background:none;border:0;cursor:pointer;color:var(--fg);-webkit-text-fill-color:var(--fg);appearance:none;-webkit-appearance:none}

@media (max-width:900px){
  .site-nav{display:none}
  .menu-toggle{display:flex}
  .mobile-nav{display:flex}
}
@media (max-width:768px){.lang-bar{padding:8px 20px 0}}

/* ===== secondary category nav ===== */
.categorie-nav{padding:24px 32px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:safe center;gap:40px;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.categorie-nav::-webkit-scrollbar{display:none}
.categorie-nav-link{white-space:nowrap;flex:0 0 auto;font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:var(--mfg);padding-bottom:4px;transition:color .2s}
.categorie-nav-link:hover{color:var(--fg)}
.categorie-nav-link.is-current{color:var(--fg);border-bottom:1px solid var(--fg)}
.categorie-nav a.active {
  color: var(--fg);
  border-bottom: 1px solid var(--fg);
}
@media (max-width:768px){.categorie-nav{gap:24px;padding:18px 20px}}

/* ===== breadcrumb ===== */
.breadcrumb{padding:12px 32px;font-size:10px;letter-spacing:.18em;color:#b3b3b3;text-align:right;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.breadcrumb::-webkit-scrollbar{display:none}
.breadcrumb-link{color:#b3b3b3;transition:color .2s}
.breadcrumb-link:hover{color:var(--mfg)}
.breadcrumb-sep{margin:0 2px;color:#d0d0d0}
.site-footer .breadcrumb-sep:last-child{display:none;}
.breadcrumb-current{color:#999}
@media (max-width:768px){.breadcrumb{padding:12px 20px;letter-spacing:.12em}}

/* ===== enter / reveal animation utilities (reusable triggers) ===== */
@keyframes enterUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.enter-up{opacity:0;animation:enterUp .7s ease forwards}

.reveal-up{opacity:0;transform:translateX(-24px);transition:opacity .9s ease,transform .9s ease}
.reveal-up.reveal-right{transform:translateX(24px)}
.reveal-up.is-visible{opacity:1;transform:translateX(0)}

@keyframes tileIn{to{opacity:1;transform:translateY(0) scale(1)}}
.stagger-in{opacity:0;transform:translateY(24px) scale(.98);animation:tileIn 1s cubic-bezier(.22,1,.36,1) forwards}

/* ===== index: hero mosaic ===== */
.hero-main{flex:1;padding:48px 32px}
.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(4,1fr);gap:20px;height:65vh;min-height:520px}
.hero-tile{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border);display:block}
.hero-tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:0;transition:transform .7s ease}
.hero-tile:hover .hero-tile-img{transform:scale(1.04)}
.hero-tile-label{position:absolute;top:20px;left:20px;font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1;z-index:2}
.hero-tile-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:26px;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,.2) 45%,transparent 75%);opacity:0;transition:opacity .5s}
.hero-tile:hover .hero-tile-overlay{opacity:1}
.hero-tile-overlay-text{font-family:var(--serif);font-style:italic;color:#fff;font-size:20px;line-height:1.35;max-width:460px}

.hero-tile--7{grid-column:span 6;grid-row:span 4}
.hero-tile--8{grid-column:span 6;grid-row:span 2}
.hero-tile--9{grid-column:span 3;grid-row:span 2}
.hero-tile--9 .hero-tile-img{width:130%;height:130%;top:-15%;left:-15%}
.hero-tile--10{grid-column:span 3;grid-row:span 2}

.about-quote{margin-top:56px;text-align:center;opacity:0;transform:translateY(20px);animation:tileIn 1s cubic-bezier(.22,1,.36,1) .6s forwards}
.about-quote-title{font-family:"Cormorant Garamond",Georgia,serif;font-style:normal;color:var(--gold);font-size:30px;font-weight:400;line-height:1.3}
.about-quote-text{font-family:"Inter",Arial,sans-serif;font-style:normal;color:var(--mfg);font-size:15px;font-weight:300;line-height:1.7;max-width:1000px;margin:0 auto 16px}
.about-quote-text:last-child{margin-bottom:0}
.emph{font-weight:500}

@media (max-width:768px){
  .hero-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;height:auto;min-height:0}
  .hero-tile--7{grid-column:span 2;grid-row:span 1;aspect-ratio:1/1}
  .hero-tile--8{grid-column:span 2;grid-row:span 1;aspect-ratio:16/10}
  .hero-tile--9,.hero-tile--10{grid-column:span 1;grid-row:span 1;aspect-ratio:1/1}
  .hero-tile-label{font-size:22px;top:14px;left:14px}
  .hero-tile-overlay{display:none}
}

/* ===== category / product head ===== */
.category-head{padding:56px 32px 0}
.category-head-title{font-family:var(--serif);font-size:44px;color:var(--gold);line-height:1;font-weight:500}
.category-head-desc{font-size:15px;line-height:1.8;color:var(--mfg);margin-top:18px}

.product-head{padding:36px 32px 0}
.product-head-title{font-family:var(--serif);font-size:36px;color:var(--gold);line-height:1;font-weight:500}
.product-head-meta{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--mfg);margin-top:14px}

@media (max-width:900px){
  .category-head{padding:36px 20px 0}
  .category-head-title{font-size:34px}
  .category-head-desc{font-size:14px}
}

/* ===== collane: gallery grid ===== */
.gallery-main{flex:1;padding:48px 32px 72px}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:28px}
.gallery-card{position:relative;display:block;overflow:hidden;background:#fff;border:1px solid var(--border);opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease;padding:0}
.gallery-card.is-visible{opacity:1;transform:none}
.gallery-card-frame{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery-card-img{width:100%;height:100%;object-fit:contain;transition:transform .7s ease}
.gallery-card:hover .gallery-card-img{transform:scale(1.04)}
.gallery-card-overlay{position:absolute;inset:0;background:rgba(255,255,255,.60);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;text-align:center;padding:20px 20px 28px;opacity:1;transition:opacity .35s ease}
.gallery-card:hover .gallery-card-overlay{opacity:0}
.gallery-card-title{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.2;color:var(--fg)}
.gallery-card-meta{font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:var(--mfg)}

/* generic grid-span / height utilities */
.col-4{grid-column:span 4}
.col-5{grid-column:span 5}
.col-6{grid-column:span 6}
.col-7{grid-column:span 7}
.col-8{grid-column:span 8}
.col-12{grid-column:span 12}
.h-1{height:480px}
.h-2{height:340px}
.h-3{height:560px}
.h-4{height:380px}
.h-6{height:620px}

@media (max-width:900px){
  .gallery-main{padding:28px 20px 56px}
  .gallery-grid{grid-template-columns:repeat(6,1fr);gap:16px}
  .col-4,.col-5,.col-6,.col-7,.col-8,.col-12{grid-column:span 6}
  .h-1,.h-2,.h-3,.h-4,.h-6{height:auto}
  .gallery-card-overlay{opacity:1;position:static;background:none;padding:10px 0 0;align-items:flex-start;text-align:left}
  .gallery-card{display:flex;flex-direction:column;overflow:visible;background:none;border:0}
  .gallery-card-frame{aspect-ratio:1/1;height:auto;background:#fff;border:1px solid var(--border)}
  .gallery-card-title{font-size:16px}
}

/* ===== product detail: viewer + info + thumbs ===== */
.product-gallery{flex:1;padding:32px 32px 48px}
.product-gallery-grid{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}
.product-viewer{position:relative;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border);min-height:480px}
.product-viewer-link{display:block;width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.product-viewer-img{max-width:100%;height:auto;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}
.product-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:rgba(255,255,255,.85);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.product-viewer-nav:hover{background:#fff}
.product-viewer-nav--prev{left:16px}
.product-viewer-nav--next{right:16px}
.product-viewer-arrow{display:block;width:8px;height:8px;border-left:1px solid var(--fg);border-bottom:1px solid var(--fg);transform:rotate(45deg)}
.product-viewer-arrow--right{border-left:none;border-right:1px solid var(--fg);border-top:1px solid var(--fg);border-bottom:none}

.product-info{display:flex;flex-direction:column;gap:40px}
.product-info-count{font-size:11px;font-family:monospace;color:var(--mfg);margin-bottom:10px}
.product-info-descr{border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;padding:20px 0;font-size:14px;line-height:1.95;color:var(--fg);margin-top:20px}
.product-info-owner{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--mfg);border-bottom:1px solid #e6e6e6;padding-bottom:20px;margin-top:20px}
.product-info-owner-label{color:var(--gold)}

.product-thumbs{padding:32px;border-top:1px solid var(--border)}
.product-thumbs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}
.product-thumb{display:block;aspect-ratio:1/1;overflow:hidden;border:1px solid transparent;cursor:pointer;transition:border-color .2s}
.product-thumb:hover{border-color:var(--border)}
.product-thumb.is-current{border-color:var(--fg)}
.product-thumb-img{width:100%;height:100%;object-fit:cover}
@media (max-width:768px){.product-thumbs{display:none}}

@media (max-width:900px){
  .product-viewer{min-height:0;aspect-ratio:1/1;padding:0}
  .product-viewer-img{max-height:100%;width:auto}
  .product-gallery-grid{grid-template-columns:1fr}
  .product-info{order:1}
}

/* ===== bio / editorial page (leggi) ===== */
.leggi-main{padding:64px 32px 96px}
.bio-intro{margin-bottom:80px}
.bio-head{display:flex;align-items:center;gap:32px;margin-bottom:40px}
.bio-portrait{width:150px;height:150px;border-radius:50%;object-fit:cover;flex:0 0 auto;filter:grayscale(100%)}
.bio-name{font-family:var(--serif);font-size:38px;font-weight:500;color:var(--fg);margin-bottom:6px;letter-spacing:-.01em}
.bio-subtitle{font-family:var(--serif);font-size:22px;color:var(--gold);font-style:italic;display:block}
.bio-text{font-size:15px;line-height:1.85;color:var(--fg);margin-bottom:18px}
.bio-text h3{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--fg);margin:36px 0 16px;letter-spacing:-.01em}
.content-subhead{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--fg);margin:36px 0 16px;letter-spacing:-.01em}

/* ===== generic page content (CMS html) ===== */
.serif-content{padding:28px 32px 96px;max-width:1000px;font-family:var(--sans);font-size:15px;font-weight:300;line-height:1.85;color:var(--fg)}
.serif-content>*:first-child{margin-top:0}
.serif-content p,.serif-content ul,.serif-content ol,.serif-content blockquote,.serif-content table,.serif-content figure{margin:0 0 18px}
.serif-content h2,.serif-content h3,.serif-content h4,.serif-content h5,.serif-content h6{font-family:var(--serif);font-weight:500;color:var(--fg);line-height:1.2;letter-spacing:-.01em;margin:36px 0 16px}
.serif-content h2{font-size:34px;color:var(--gold)}
.serif-content h3{font-size:24px}
.serif-content h4{font-size:20px}
.serif-content h5,.serif-content h6{font-size:17px}
.serif-content strong,.serif-content b{font-weight:500}
.serif-content em,.serif-content i{font-style:italic}
.serif-content a{color:var(--gold);border-bottom:1px solid rgba(181,162,104,.4);transition:opacity .2s,border-color .2s}
.serif-content a:hover{opacity:.75;border-bottom-color:var(--gold)}
.serif-content ul,.serif-content ol{padding-left:24px}
.serif-content ul{list-style:none}
.serif-content ul>li{position:relative}
.serif-content ul>li::before{content:"";position:absolute;left:-18px;top:.85em;width:6px;height:1px;background:var(--gold)}
.serif-content ol{list-style:decimal}
.serif-content ol>li::marker{color:var(--gold);font-family:var(--serif);font-weight:500}
.serif-content li{margin-bottom:6px}
.serif-content li>ul,.serif-content li>ol{margin:6px 0 0}
.serif-content blockquote{border-left:2px solid var(--gold);padding:4px 0 4px 24px;font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.5;color:var(--mfg)}
.serif-content img,.serif-content video,.serif-content iframe{max-width:100%;height:auto;display:block;margin:24px 0}
.serif-content figcaption{font-size:13px;color:var(--mfg);margin-top:8px}
.serif-content hr{border:0;border-top:1px solid var(--border);margin:40px 0}
.serif-content table{width:100%;border-collapse:collapse;font-size:14px}
.serif-content th,.serif-content td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.serif-content th{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--gold)}
.serif-content div{margin-bottom:0}
@media(max-width:640px){.serif-content{padding:20px 20px 64px}.serif-content h2{font-size:28px}}

.sezione{margin-bottom:72px}
.section-title{font-family:var(--serif);font-size:34px;font-weight:500;color:var(--fg);margin-bottom:36px;letter-spacing:-.01em}
.section-title-num{font-family:var(--sans);font-size:11px;letter-spacing:.25em;color:var(--mfg);text-transform:uppercase;display:block;margin-bottom:10px;font-weight:400}

.voce{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:18px 0;border-top:1px solid var(--border);align-items:baseline}
.voce:last-child{border-bottom:1px solid var(--border)}
.voce-data{font-family:var(--serif);font-size:20px;color:var(--gold);font-weight:500;letter-spacing:.02em;line-height:1.1}
.voce-testo{font-size:15px;line-height:1.7;color:var(--fg)}

@media (max-width:700px){
  .voce{grid-template-columns:1fr;gap:6px}
  .voce-data{font-size:18px}
  .section-title{font-size:28px}
  .bio-head{flex-direction:column;align-items:flex-start;gap:20px}
  .bio-portrait{width:120px;height:120px}
}

/* ===== links page ===== */
.links-main{padding:80px 32px 96px}
.links-voce{display:grid;grid-template-columns:280px 1fr;gap:36px;padding:24px 0;border-top:1px solid var(--border);align-items:baseline}
.links-voce:last-child{border-bottom:1px solid var(--border)}
.links-voce-title{font-family:var(--serif);font-size:24px;color:var(--gold);font-weight:500;letter-spacing:.01em;line-height:1.2;transition:opacity .2s}
.links-voce-title:hover{opacity:.7}
.links-voce-text{font-size:15px;line-height:1.7;color:var(--fg)}
@media (max-width:700px){
  .links-voce{grid-template-columns:1fr;gap:8px}
  .links-voce-title{font-size:20px}
}

/* ===== ascolta page ===== */
.ascolta-main{padding:96px 32px}
.ascolta-text{font-family: "Inter",Arial,sans-serif;line-height:1.7;color:var(--fg);}
.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin-top:48px;border:1px solid var(--border);animation:enterUp .7s ease forwards;animation-delay:600ms;opacity:0}
.video-frame{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
@media (max-width:700px){
  .ascolta-text{font-size:18px}
}

/* ===== contatti page / form ===== */
.contatti-main{padding:80px 32px 96px}
.contatti-intro{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--fg);margin-bottom:48px;font-style:italic}
.contatti-form{display:flex;flex-direction:column;gap:22px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-label{font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:var(--mfg)}
.form-input,.form-textarea{
  font-family:var(--sans);font-size:15px;font-weight:300;color:var(--fg);
  background:transparent;border:0;border-bottom:1px solid var(--border);
  padding:10px 2px;outline:none;transition:border-color .2s;width:100%;
}
.form-textarea{resize:vertical;min-height:140px;border:1px solid var(--border);padding:14px}
.form-input:focus,.form-textarea:focus{border-color:var(--gold)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-submit{
  align-self:flex-start;margin-top:12px;
  font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:var(--fg);
  background:transparent;border:1px solid var(--fg);padding:14px 32px;cursor:pointer;
  transition:background .2s,color .2s;
}
.form-submit:hover{background:var(--fg);color:#fff}
.form-submit:disabled{opacity:.5;cursor:default}
.form-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.form-captcha{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.form-captcha-img{display:block;width:150px;height:42px;border:1px solid var(--border);background:#fff}
.form-captcha-refresh{
  flex:none;width:36px;height:36px;display:grid;place-items:center;
  font-size:16px;line-height:1;color:var(--mfg);background:transparent;
  border:1px solid var(--border);cursor:pointer;transition:color .2s,border-color .2s;
}
.form-captcha-refresh:hover{color:var(--fg);border-color:var(--fg)}
.form-captcha-input{flex:1 1 140px;min-width:100px}

.notification{
  font-family:var(--sans);font-size:13px;font-weight:300;line-height:1.6;
  padding:14px 18px;margin-top:4px;border-left:2px solid transparent;
  animation:enterUp .4s ease forwards;
}
.notification.is-danger{border-left-color:#a5423c;color:#a5423c;background:rgba(165,66,60,.05)}
.notification.is-primary{border-left-color:var(--gold);color:var(--fg);background:rgba(181,162,104,.08)}

@media (max-width:700px){
  .contatti-intro{font-size:18px}
  .form-row{grid-template-columns:1fr}
}

/* ===== legal / simple text page (privacy, 404) ===== */
.legal-main{padding:80px 32px 96px}
.legal-title{font-family:var(--serif);font-size:38px;font-weight:500;color:var(--gold);margin-bottom:32px;letter-spacing:-.01em}
.legal-text{font-size:15px;line-height:1.85;color:var(--fg);margin-bottom:18px}
.notfound-main{padding:120px 32px;text-align:center}
.notfound-code{font-family:var(--serif);font-size:96px;font-weight:500;color:var(--gold);line-height:1}
.notfound-title{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--fg);margin-top:16px}
.notfound-text{font-size:15px;line-height:1.7;color:var(--mfg);margin-top:16px}
.notfound-link{display:inline-block;margin-top:32px;font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:var(--fg);border:1px solid var(--fg);padding:14px 32px;transition:background .2s,color .2s}
.notfound-link:hover{background:var(--fg);color:#fff}

/* ===== site footer ===== */
.site-footer{padding:40px 32px;border-top:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:var(--mfg)}
.footer-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.footer-left{justify-self:start}
.footer-center{justify-self:center}
.footer-right{justify-self:end}
.footer-link{color:var(--mfg);transition:color .2s}
.footer-link:hover{color:var(--fg)}
@media (max-width:900px){
  .footer-row{grid-template-columns:1fr;gap:14px;text-align:center}
  .footer-left,.footer-center,.footer-right{justify-self:center}
  .site-footer{padding:32px 20px}
}

/* ===== credits modal ===== */
.credits-trigger{cursor:pointer;color:var(--mfg);transition:color .2s;background:none;border:none;font:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.25em;padding:0}
.credits-trigger:hover{color:var(--fg)}
.credits-modal{position:fixed;inset:0;background:rgba(255,255,255,.92);z-index:300;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.credits-modal.is-open{display:flex;opacity:1}
.credits-box{max-width:420px;width:calc(100% - 48px);background:#fff;border:1px solid var(--border);padding:40px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.08)}
.credits-title{font-family:var(--serif);font-size:24px;color:var(--gold);margin-bottom:28px;font-weight:500}
.credits-text{font-size:13px;line-height:1.8;color:var(--mfg);margin-bottom:16px}
.credits-anchor{color:var(--fg);border-bottom:1px solid var(--border);padding-bottom:1px;transition:border-color .2s}
.credits-anchor:hover{border-color:var(--fg)}
.credits-close{position:absolute;top:28px;right:32px;background:none;border:0;font-size:32px;color:var(--mfg);cursor:pointer;line-height:1;transition:color .2s}
.credits-close:hover{color:var(--fg)}

@media (max-width:900px){
  .site-header{padding:24px 20px 16px}
  .brand-title{font-size:24px}
}
