.tad-wrap{max-width:1200px;margin:0 auto 50px;padding:0 20px;font-family:var(--wp--preset--font-family--body-font,-apple-system,BlinkMacSystemFont,'Inter',sans-serif);color:var(--wp--preset--color--contrast,#16181d);}
.tad-columns{display:flex;gap:24px;align-items:stretch;}
/* Only real columns show here. The escape hatch matters: a guard written
   as "> *:not(.x)" hides the whole block the moment anything runs the markup
   through wpautop and it comes back with the children wrapped in a <p> - the
   <p> is not .x, so it is hidden, and everything inside it goes with it.
   That took the banners off a page once already. A stray <p> is unwrapped
   instead of hidden. */
.tad-wrap > p{display:contents;}
.tad-wrap > *:not(.tad-columns):not(p){display:none;}
.tad-columns > p{display:contents;}
.tad-columns > *:not(.tad-main):not(.tad-promo-stack):not(p){display:none;}
.tad-main > p{display:contents;}
.tad-main > *:not(.tad-layout):not(p){display:none;}
.tad-main{flex:1;min-width:0;max-width:900px;}
.tad-promo-stack{flex:0 0 300px;display:flex;flex-direction:column;gap:16px;}
.tad-promo-stack > p{display:contents;}
.tad-promo-stack > *:not(.tad-promo):not(p){display:none;}
.tad-promo{
	flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
	background:#fff;color:#4f46e5;border-radius:16px;padding:28px 26px;
	box-shadow:0 6px 20px -14px rgba(16,20,30,.25);
	text-decoration:none;transition:transform .15s, box-shadow .15s;
}
.tad-promo:hover{transform:translateY(-2px);box-shadow:0 14px 32px -10px rgba(79,70,229,.38);}
.tad-promo-title{font-size:19px;font-weight:700;color:#4f46e5;margin-bottom:8px;}
.tad-promo-text{font-size:15px;line-height:1.55;color:#8a8f98;margin-bottom:18px;}
.tad-promo-cta{display:inline-block;align-self:flex-start;font-size:15px;font-weight:600;line-height:1;color:#fff;background:#4f46e5;border-radius:999px;padding:11px 20px;transition:background .15s;}
.tad-promo:hover .tad-promo-cta{background:#4338ca;}
@media(max-width:1200px){.tad-columns{flex-direction:column;}.tad-main{max-width:none;}.tad-promo-stack{flex-direction:row;}}
@media(max-width:640px){.tad-promo-stack{flex-direction:column;}}
.tad-layout{display:flex;gap:20px;align-items:flex-start;background:#fff;border-radius:16px;padding:32px;}
.tad-art{display:flex;flex:0 0 220px;border-radius:12px;overflow:hidden;padding:10px;align-items:center;justify-content:center;text-decoration:none;color:inherit;cursor:pointer;transition:transform .15s;}
.tad-art:hover{transform:translateY(-2px);}
.tad-art:focus,.tad-art:focus-visible{outline:2px solid #4f46e5;outline-offset:2px;border-radius:5px;}
.tad-art img{width:100%;height:auto;display:block;border-radius:6px;}
.tad-art img.tad-reversed{transform:rotate(180deg);}
.tad-art .tad-noimg{aspect-ratio:1144/1919;width:100%;display:flex;align-items:center;justify-content:center;color:#8a8f98;font-size:15px;}
.tad-info{flex:1;min-width:0;display:flex;flex-direction:column;}
.tad-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:5px;}
.tad-top-row p{display:contents;margin:0;}
.tad-eyebrow{font-size:15px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#4f46e5;margin-bottom:6px;}
.tad-info h3{font-size:34px;margin:0;color:#16181d;}
.tad-daylabel{text-align:right;white-space:nowrap;}
.tad-daylabel p{margin:0;text-align:right;}
.tad-heading{font-size:15px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#4f46e5;margin-bottom:6px;}
.tad-date{font-size:15px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#8a8f98;}
.tad-orient{display:inline-block;font-size:15px;font-weight:600;color:#4f46e5;background:#f4f3ff;border-radius:999px;padding:8px 16px;margin-bottom:30px;align-self:flex-start;}
.tad-section{border-left:3px solid #e6e7eb;padding-left:16px;margin-bottom:20px;}
.tad-lbl{font-size:15px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#4f46e5;margin-bottom:6px;}
.tad-txt{font-size:19px;line-height:1.65;color:#16181d;}
@media(max-width:640px){
	.tad-layout{flex-direction:column;}
	.tad-art{flex:0 0 auto;max-width:220px;margin:0 auto;}
	.tad-top-row{flex-direction:column;align-items:center;text-align:center;}
	.tad-daylabel{text-align:center;}
	.tad-orient{align-self:center;}
}


/* --- the block's own width, against the theme's layout rule ---------------

   Block themes print a layout rule of their own - .wp-container-… > * - that
   clamps every child of the post content to the theme's content size (620px
   in Twenty Twenty-Four). It carries the same specificity as a plain class
   and lands in <head> after our stylesheet, so it wins on order alone and
   the block is squeezed into a column meant for prose. Naming the content
   container puts our width back in front on specificity, without
   !important, which would also override the narrower widths this block sets
   for itself on small screens.

   Last in the file on purpose: @media adds no specificity, so a later plain
   rule wins on paper as well as on screen. */
.entry-content .tad-wrap,
.wp-block-post-content .tad-wrap,
.wp-site-blocks .tad-wrap{max-width:1200px;}
