.media-tag{position:absolute;z-index:3;background:rgba(255,255,255,.95);color:var(--deep);border:2px dashed var(--orange);border-radius:10px;padding:.55rem .75rem;font-size:.75rem;font-weight:700;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.media-tag span{color:var(--orange);margin-right:.4rem}.hero-media-tag{top:105px;right:3vw}.product-card{min-height:500px}
.product-grid{grid-template-columns:repeat(2,1fr)}.product-card.bites{background:linear-gradient(145deg,#8b5b18,#4b3010)}
.media-plan{background:#fff}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.media-grid .wide{grid-column:span 2}
.media-slot{min-height:230px;border:2px dashed #93a79e;border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative;background:repeating-linear-gradient(135deg,#f5f8f6,#f5f8f6 12px,#edf2ef 12px,#edf2ef 24px);color:var(--deep)}
.media-slot:before{content:"MEDIA PLACEHOLDER";position:absolute;top:1.2rem;left:1.2rem;font-size:.65rem;letter-spacing:.15em;color:#71877c;font-weight:700}.media-slot b{font-size:.72rem;letter-spacing:.12em;color:var(--orange)}.media-slot span{font:600 1.35rem "Fraunces"}.media-slot small{color:var(--muted);max-width:470px}
.media-slot.compact{min-height:130px;margin-bottom:1rem;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff;justify-content:end}.media-slot.compact:before{color:rgba(255,255,255,.7)}.media-slot.compact b{color:var(--yellow)}.media-slot.compact span{font-size:1.05rem}
.play{position:absolute;right:1.5rem;top:1.5rem;width:54px;height:54px;border-radius:50%;border:0;background:var(--orange);color:#fff;cursor:pointer}.quality-media{grid-column:1/-1;min-height:180px}
.logo-upload-slot{min-height:180px;border:3px dashed rgba(255,255,255,.85);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.4rem;color:#fff}.logo-upload-slot b{font:700 1.4rem "Fraunces"}.logo-upload-slot span{font-size:.75rem}
.history-media-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.history-media-strip .media-slot{min-height:200px}.training-preview{margin-top:1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.training-preview .media-slot{min-height:220px}
@media(max-width:1000px){.product-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr 1fr}.media-grid .wide{grid-column:span 2}.history-media-strip,.training-preview{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.media-grid,.history-media-strip,.training-preview{grid-template-columns:1fr}.media-grid .wide{grid-column:auto}.hero-media-tag{top:92px;right:1rem}}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.5rem 0 2rem;max-height:55vh;overflow:auto;padding-right:.4rem}.catalog-item{border:1px solid var(--line);border-radius:14px;padding:.65rem;display:flex;flex-direction:column;gap:.25rem}.catalog-thumb{aspect-ratio:4/3;border:2px dashed #9eb0a7;border-radius:9px;background:repeating-linear-gradient(135deg,#f5f8f6,#f5f8f6 9px,#e9efec 9px,#e9efec 18px);display:grid;place-items:center;color:#73867c;font-size:.62rem;font-weight:700;letter-spacing:.1em}.catalog-item b{font-size:.84rem;line-height:1.25}.catalog-item small{font-size:.65rem;color:var(--muted)}
@media(max-width:650px){.catalog-grid{grid-template-columns:repeat(2,1fr)}}
.client-wall{background:#f6f8f7}.client-wall .section-head h2{max-width:850px}.approval-flag{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:2px dashed #d66a13;background:#fff4e8;color:#713406;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.75rem}.approval-flag span{color:#86562f}.logo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.client-logo{min-height:180px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;box-shadow:0 12px 35px rgba(5,51,38,.06)}.client-logo img{display:block;width:100%;height:82px;object-fit:contain}.client-logo small{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.logo-disclaimer{font-size:.72rem;color:var(--muted);margin:1rem 0 0}
@media(max-width:900px){.logo-wall{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.logo-wall{grid-template-columns:1fr}.approval-flag{align-items:flex-start;flex-direction:column}}
