.thdn-shell{margin:clamp(28px,5vw,54px) 0;padding:clamp(24px,4vw,42px);border:1px solid #ccc5b8;background:#fffdf7;box-shadow:0 18px 45px rgba(20,22,21,.08)}
.thdn-hero{max-width:820px;margin-bottom:28px}.thdn-hero h2{margin:.2em 0;font-size:clamp(2rem,4vw,3.6rem);line-height:.95;letter-spacing:-.05em}.thdn-hero p:last-child{font-size:1.05rem;color:#56524b}
.thdn-filter,.thdn-form{display:grid;gap:16px}.thdn-filter{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.thdn-filter label,.thdn-form label{display:grid;gap:7px;font-size:.72rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.thdn-filter input,.thdn-form input,.thdn-form textarea{width:100%;min-height:50px;padding:10px 12px;border:1px solid #8a857d;border-radius:0;background:#fff;color:#151716;font:inherit}.thdn-form textarea{min-height:140px;resize:vertical}.thdn-summary{margin:0 0 18px;color:#56524b}
.thdn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.thdn-card,.thdn-panel{padding:22px;border:1px solid #ccc5b8;background:#fff}.thdn-card{box-shadow:0 10px 26px rgba(20,22,21,.07)}.thdn-card h3,.thdn-panel h3{margin:.3em 0 .45em;font-size:1.45rem;line-height:1.08;letter-spacing:-.03em}.thdn-card__meta{margin:0 0 10px;font-size:.8rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#7c5a08}.thdn-card__badges{display:flex;flex-wrap:wrap;gap:8px}.thdn-badge{display:inline-flex;align-items:center;padding:6px 9px;background:#151716;color:#fff;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.thdn-badge--sponsored{background:#176b4b}.thdn-badge--featured{background:#193f5c}
.thdn-facts{display:grid;gap:10px;margin:18px 0 0}.thdn-facts div{display:grid;gap:3px;padding-top:8px;border-top:1px solid #ddd4c4}.thdn-facts dt{font-size:.65rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#6b675f}.thdn-facts dd{margin:0}.thdn-card__actions,.thdn-panel__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.thdn-link{font-weight:850;text-underline-offset:3px}.thdn-cta-band{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;margin-top:24px;padding:18px 20px;border-top:5px solid #e15b2a;background:#f6f2e9}.thdn-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.thdn-panel--alt{background:#f6f2e9}.thdn-check{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.45}.thdn-check input{width:20px;min-height:20px;margin-top:2px}
.thdn-modal-open{overflow:hidden}.thdn-modal{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:rgba(11,14,14,.65);z-index:99999}.thdn-modal__dialog{width:min(100%,620px);padding:28px;border:1px solid #ccc5b8;background:#fffdf7;box-shadow:0 24px 70px rgba(0,0,0,.25)}.thdn-modal__disclosure,.thdn-modal__label{margin:0 0 10px;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.thdn-modal__disclosure{color:#176b4b}.thdn-modal__label{color:#e15b2a}.thdn-modal__title{margin:0 0 10px;font-size:clamp(1.8rem,4vw,2.6rem);line-height:.98;letter-spacing:-.04em}.thdn-modal__body,.thdn-modal__sponsor,.thdn-modal__note{margin:0 0 12px}.thdn-modal__sponsor{font-weight:800}.thdn-modal__note{color:#56524b}.thdn-modal__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.thdn-modal__skip{padding:12px 0;border:0;background:transparent;color:#151716;font:inherit;font-weight:850;text-decoration:underline;cursor:pointer}.thdn-modal__image{margin:0 0 16px}.thdn-modal__image img{display:block;max-width:220px;max-height:72px;width:auto;height:auto}
@media(max-width:850px){.thdn-filter,.thdn-split{grid-template-columns:1fr}}
@media(max-width:560px){.thdn-shell{padding:22px 18px}.thdn-filter{grid-template-columns:1fr}.thdn-card__actions,.thdn-panel__actions,.thdn-modal__actions{flex-direction:column;align-items:stretch}.thdn-card__actions .th-button,.thdn-panel__actions .th-button,.thdn-modal__actions .th-button{width:100%}.thdn-cta-band{align-items:flex-start}}
