/* Moduli dallo ZIP Typress: stili isolati dai componenti del sito. */
.typress-module{--tp-line:#66511b;--tp-muted:#c4c8cc;color:#f6f6f6;background:var(--ink)}
.typress-module section[id]{scroll-margin-top:100px}
.typress-module .tp-wrap{width:min(1220px,calc(100% - 44px));margin-inline:auto}
.tp-section-nav{display:flex;flex-wrap:wrap;gap:10px 24px;padding:24px 0;border-top:1px solid var(--line);font-size:13px;font-weight:700}
.tp-section-nav a:hover,.tp-section-nav a:focus-visible{color:var(--gold)}
.typress-module a:focus-visible,.typress-module video:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.tp-hero{background:radial-gradient(ellipse at 70% 35%,#2c2317,#101113 72%)}
.tp-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 120px;gap:28px;align-items:center;padding-block:55px 70px}
.tp-hero-copy{min-width:0}
.tp-hero-copy h2{font-size:clamp(40px,5.5vw,72px);line-height:1.06;margin:14px 0 22px}
.tp-eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--gold);text-transform:uppercase;margin-bottom:16px}
.tp-gold{color:var(--gold)}
.tp-muted{color:var(--tp-muted)}
.tp-portrait{width:100%;height:490px;object-fit:cover;object-position:center 30%;border-radius:var(--radius);border:1px solid var(--tp-line)}
.tp-seal{align-self:start;text-align:center}
.tp-seal img{width:110px;height:110px;border-radius:50%;object-fit:contain;background:white;margin-inline:auto}
.tp-seal small{display:block;font-size:10px;line-height:1.6;letter-spacing:1px;margin-top:14px}
.tp-button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#141414;padding:13px 22px;border-radius:10px;font-size:14px;font-weight:800;margin-top:10px;min-height:49px}
.tp-button:hover{background:#ffd149}
.tp-section{padding:70px 0;border-top:1px solid #303136}
.tp-section h2{max-width:1000px}
.tp-lead{max-width:850px;color:#d0d2d4}
.tp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0}
.tp-grid.tp-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.tp-card{min-width:0;border:1px solid var(--tp-line);border-radius:var(--radius);padding:24px;background:linear-gradient(140deg,#1b1d20,#111215)}
.tp-symbol{display:block;color:var(--gold);font-size:28px;margin-bottom:12px;line-height:1.2}
.tp-card h3{color:var(--gold);font-size:18px;line-height:1.35;letter-spacing:-.025em}
.tp-card p{font-size:14px;color:#d0d2d4;margin:0}
.tp-tagline{border-left:3px solid var(--gold);padding-left:18px;font-weight:700;margin:28px 0 0}
.tp-shipping{background:radial-gradient(ellipse at right,#292318,#101113 65%)}
.tp-callout{padding:26px;border:1px solid var(--tp-line);border-radius:var(--radius);margin-top:26px}
.tp-callout h3{font-size:21px}
.tp-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.tp-video{min-width:0;border:1px solid var(--tp-line);border-radius:var(--radius);overflow:hidden;background:#151719}
.tp-video video{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#000;display:block}
.tp-caption{padding:20px 24px}
.tp-caption h3{font-size:20px}
.tp-caption p{color:var(--tp-muted);font-size:13px;margin:0}
@media(max-width:1000px){
 .tp-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .tp-seal{grid-column:1/-1;grid-row:1;justify-self:end;display:flex;align-items:center;gap:12px}
 .tp-seal img{width:75px;height:75px}.tp-seal small{margin:0;text-align:left}
 .tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .tp-hero-grid{grid-template-columns:minmax(0,1fr);padding-block:28px 45px;gap:24px}
 .tp-hero-copy{grid-row:2}.tp-portrait{grid-row:3;height:440px;object-position:center 24%}
 .tp-section{padding:55px 0}.tp-video-grid{grid-template-columns:minmax(0,1fr)}
 .tp-video video{aspect-ratio:4/3;max-height:500px}
}
@media(max-width:500px){
 .typress-module .tp-wrap{width:calc(100% - 30px)}
 .tp-section-nav{gap:12px 18px}.tp-hero-copy h2{font-size:44px}
 .tp-portrait{height:370px}.tp-grid,.tp-grid.tp-two{grid-template-columns:minmax(0,1fr)}
 .tp-card,.tp-callout{padding:20px}.tp-section{padding:45px 0}
}
