.z4d-home [hidden] { display:none!important; }
.z4d-home .site-header nav a { display:block; }
.home-opening { display:grid;grid-template-columns:.95fr 1.05fr;gap:20px;align-items:center;padding-block:62px 56px; }
.opening-copy { position:relative;z-index:1; }
.opening-copy .eyebrow { color:var(--accent);margin-bottom:28px; }
.opening-copy h1 { font-size:clamp(48px,5.55vw,86px);line-height:1.02;letter-spacing:-.055em; }
.opening-description { color:var(--muted);font-size:17px;line-height:1.7;margin-top:26px; }
.opening-copy .button { margin-top:30px; }
.opening-piece { min-width:0; }
.opening-piece>a { display:block;background:#242826; }
.opening-piece img { width:100%;aspect-ratio:1.12;object-fit:cover; }
.opening-piece figcaption { display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:17px; }
.opening-piece small { display:block;font-size:11px;color:var(--muted);margin-bottom:5px; }
.opening-piece strong { font-size:23px;font-weight:500;letter-spacing:-.025em; }
.home-media-label { font-size:11px;line-height:1.4;color:#f6f6f3;background:#171819e8;padding:7px 10px; }
.home-section { padding-block:68px; }
.home-section-heading { display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px; }
.home-section-heading .eyebrow { color:var(--accent);margin-bottom:14px; }
.home-section-heading h2 { font-size:clamp(34px,3.55vw,54px);line-height:1.12; }
.home-section-heading>.text-link { font-size:13px;white-space:nowrap; }
.home-lines { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.line-image { position:relative;display:block;background:#2c3330;aspect-ratio:1;overflow:hidden; }
.line-image img { width:100%;height:100%;object-fit:cover;transition:transform .2s; }
.line-figure img,.line-picture img { object-fit:contain;padding:22px; }
.line-image .home-media-label { position:absolute;bottom:12px;left:12px; }
.home-line h3 { margin-top:20px;font-size:28px; }
.home-line h3 a { display:flex;justify-content:space-between;gap:20px; }
.home-line h3 span { color:var(--accent);font-size:22px; }
.home-line>p { color:var(--muted);font-size:14px;line-height:1.6;margin-top:10px;max-width:35ch; }
.home-more-lines { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px; }
.home-line-more { display:block;padding:27px 28px;background:#222725;border-top:1px solid #56645d; }
.home-line-more .eyebrow { color:var(--accent);margin-bottom:15px; }
.home-line-more h3 { display:flex;justify-content:space-between;gap:20px;font-size:27px; }
.home-line-more h3 span { color:var(--accent); }
.home-line-more>p:last-child { margin-top:12px;color:var(--muted);font-size:14px; }
.home-line-more:hover { background:#29312c; }
.home-gallery-section { background:#1e2120; }
.gallery-controls { display:flex;gap:10px; }
.gallery-controls button { width:48px;height:48px;border:1px solid #606963;background:transparent;font-size:22px; }
.gallery-controls button:hover:not(:disabled) { background:var(--ink);color:var(--bg); }
.gallery-controls button:disabled { opacity:.3; }
.home-gallery { display:flex;gap:24px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:0 var(--gutter) 18px;margin:0;scrollbar-width:thin;scrollbar-color:#67776f #262d29; }
.home-gallery li { min-width:0;flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start; }
.home-gallery a { display:block; }
.gallery-image { position:relative;background:#313a34;aspect-ratio:1; }
.gallery-image img { width:100%;height:100%;object-fit:cover; }
.gallery-figure img,.gallery-photo img,.gallery-picture img { object-fit:contain;padding:18px; }
.gallery-image .home-media-label { position:absolute;bottom:12px;left:12px; }
.home-gallery figcaption { display:flex;justify-content:space-between;gap:20px;margin-top:17px;font-size:22px; }
.home-gallery figcaption small { display:block;color:var(--muted);font-size:11px;margin-top:7px;line-height:1.5; }
.home-gallery figcaption b { color:var(--accent);font-weight:400; }
.gallery-bottom { display:flex;justify-content:space-between;gap:24px;margin-top:20px;color:var(--muted);font-size:12px; }
.home-find { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-block:100px; }
.home-find .eyebrow { color:var(--accent);margin-bottom:18px; }
.home-find h2 { font-size:clamp(36px,3.8vw,58px);line-height:1.1; }
.home-find>div>p:last-child { margin-top:22px;color:var(--muted);font-size:15px;max-width:38ch; }
.home-find-action label { display:block;margin-bottom:12px;font-size:13px; }
.pokemon-search-row { display:flex;border:1px solid #737e78;background:#232926; }
.pokemon-search-row input { flex:1;min-width:0;background:transparent;padding:17px 18px;color:var(--ink);font:inherit;border:0; }
.pokemon-search-row input:focus-visible { outline:3px solid var(--accent);outline-offset:3px; }
.pokemon-search-row button { background:var(--ink);color:var(--bg);padding:14px 22px;font-size:14px; }
#pokemon-search-status { font-size:12px;color:var(--muted);margin-top:12px;min-height:1.5em; }
.home-find-action>a { display:inline-flex;margin-top:25px;font-size:13px; }
.home-reviews .eyebrow { color:var(--accent);margin-bottom:14px; }
#reviews-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:32px;margin-top:30px; }
#reviews-list blockquote { margin:0;padding:24px 0;border-top:1px solid var(--line); }
#reviews-list cite { display:block;margin-top:16px;color:var(--muted);font-size:13px;font-style:normal; }
.home-footer { border-top:1px solid var(--line);padding-block:48px 25px; }
.home-footer-top { display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px; }
.home-footer-top h2 { font-size:13px;letter-spacing:0;font-weight:500;margin-bottom:16px; }
.home-footer-top #progetto p { margin-top:18px;color:var(--muted);font-size:13px;line-height:1.7; }
.home-footer-top nav>a { display:block;color:var(--muted);font-size:13px;width:fit-content;padding-block:7px; }
.home-footer-info summary { font-size:13px;color:var(--muted);cursor:pointer;padding-block:7px; }
.home-footer-info details p { font-size:12px;color:var(--muted);line-height:1.7;padding-top:13px; }
.home-footer-bottom { display:flex;justify-content:space-between;gap:40px;border-top:1px solid var(--line);margin-top:40px;padding-top:24px;color:var(--muted);font-size:11px;line-height:1.7; }
.home-footer-bottom p { max-width:75ch; }
.home-footer-bottom a { white-space:nowrap; }
@media(hover:hover) { .line-image:hover img { transform:scale(1.025); } }
@media(max-width:1000px) { .home-opening{padding-top:45px}.opening-copy h1{font-size:52px}.home-find{gap:35px}.home-lines{gap:18px} }
@media(max-width:700px) {
  .z4d-home .site-header nav{gap:17px;font-size:12px}.z4d-home .site-header nav a{display:block}.z4d-home .site-header nav a:last-child{display:none}
  .home-opening{grid-template-columns:1fr;padding-top:35px;gap:32px;padding-bottom:38px}
  .opening-copy .eyebrow{margin-bottom:22px;font-size:10px}.opening-copy h1{font-size:clamp(39px,10.5vw,62px)}
  .opening-description{font-size:15px;margin-top:22px}.opening-copy .button{margin-top:24px}
  .opening-piece img{aspect-ratio:1.2}.opening-piece figcaption{margin-top:12px;gap:10px}.opening-piece strong{font-size:21px}.opening-piece .home-media-label{font-size:10px;padding-inline:8px}
  .home-section{padding-block:45px}.home-section-heading{flex-wrap:wrap;margin-bottom:26px;gap:18px}.home-section-heading h2{font-size:34px}
  .home-lines{grid-template-columns:1fr;gap:34px}.line-image{aspect-ratio:1.25}.home-line h3{margin-top:16px;font-size:27px}.home-line>p{max-width:none;font-size:14px}
  .home-more-lines{grid-template-columns:1fr;gap:18px;margin-top:30px}.home-line-more{padding:24px}.home-line-more h3{font-size:25px}
  .home-gallery{gap:15px}.home-gallery li{flex-basis:86%}.gallery-controls{margin-left:auto}.gallery-controls button{width:44px;height:44px}.home-gallery figcaption{font-size:21px}.gallery-bottom{font-size:11px;gap:10px}
  .home-find{grid-template-columns:1fr;gap:32px;padding-block:55px}.home-find h2{font-size:38px}.pokemon-search-row input{padding:15px 12px}.pokemon-search-row button{padding:14px 16px}
  .home-footer-top{grid-template-columns:1fr 1fr;gap:30px 22px}.home-footer-top #progetto{grid-column:1/-1}.home-footer-bottom{display:block;margin-top:30px}.home-footer-bottom>a{display:inline-block;margin-top:20px}
}
@media(prefers-reduced-motion:reduce) { .line-image img,.z4d-home .button{transition:none} }
