
.flag-types-section,.flag-sizes-section,.flag-events-section{padding:42px 0;scroll-margin-top:115px}.flag-types-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.flag-type-card{background:#fff;border:1px solid #e2e0db;border-radius:7px;overflow:hidden;min-width:0;scroll-margin-top:115px}.flag-type-body{padding:22px;display:flex;flex-direction:column;align-items:flex-start}.flag-type-body h3{font-size:23px;line-height:1.3;margin:0 0 12px}.flag-type-short{font-size:14px;color:#9b1929;font-weight:500}.flag-type-body p{font-size:14px;line-height:1.75}.flag-type-quote{display:inline-flex;align-items:center;min-height:44px;padding:12px 20px;background:#bd2030;color:#fff;border-radius:4px;font-size:14px;margin-top:6px}.flag-type-quote:hover,.flag-type-quote:focus-visible{background:#9e1b29;outline:2px solid #cda96c;outline-offset:3px}.flag-size-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.flag-size-group{padding:24px;background:#fff;border:1px solid #e2e0db;border-top:3px solid #bd2030;min-width:0;scroll-margin-top:115px}.flag-size-group h3{font-size:21px;line-height:1.4;margin:0 0 14px}.flag-table-wrap{overflow-x:auto}.flag-size-table{width:100%;border-collapse:collapse;table-layout:fixed}.flag-size-table caption{text-align:left;font-size:12px;color:#68737a;padding-bottom:12px;line-height:1.5}.flag-size-table td{padding:11px 5px;border:1px solid #eeeae3;text-align:center;font-size:12px;line-height:1.5;white-space:nowrap}.flag-size-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:#a71929;font-size:14px;font-weight:700}.flag-events-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.flag-events-grid article{background:#182631;color:#fff;padding:28px;border-radius:6px}.flag-events-grid p{color:#cbd6dc;font-size:14px;line-height:1.7}.flag-events-grid h3{font-size:23px}.flag-events-grid .flag-size-link{color:#e9c28c}.flag-types-section .section-top,.flag-sizes-section .section-top{margin-bottom:24px}.flag-types-section h2,.flag-sizes-section h2,.flag-events-section h2{font-size:clamp(26px,3vw,36px);line-height:1.3}.flag-types-section .section-top>p,.flag-sizes-section .section-top>p{font-size:14px;line-height:1.7}@media(max-width:760px){.flag-size-groups,.flag-events-grid{grid-template-columns:1fr}.flag-size-group{padding:18px}.flag-size-table td{font-size:11px;padding:10px 2px}.flag-types-section,.flag-sizes-section,.flag-events-section{padding:30px 0}}@media(max-width:650px){.flag-types-grid{grid-template-columns:1fr}.flag-type-body{padding:20px}.flag-type-body h3{font-size:22px}} 

.flag-size-group .flag-group-media{margin:-24px -24px 22px}.flag-size-group .flag-group-note{font-size:14px;line-height:1.7;color:#65717a}.flag-events-grid .flag-group-media{margin:-28px -28px 24px}.flag-events-grid article{overflow:hidden}.flag-size-group .flag-group-media img{aspect-ratio:1.5;object-fit:cover}.flag-events-grid .flag-group-media img{aspect-ratio:1.5;object-fit:cover}@media(max-width:760px){.flag-size-group .flag-group-media{margin:-18px -18px 20px}}

/* Three-column catalog on desktop, adapted for smaller screens. */
.flag-types-grid,.flag-size-groups,.flag-events-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flag-type-body{padding:18px}.flag-type-body h3{font-size:21px}.flag-size-group{padding:18px}.flag-size-group .flag-group-media{margin:-18px -18px 20px}.flag-size-group h3{font-size:19px}.flag-size-table td{font-size:11px;padding:10px 2px}.flag-events-grid article{padding:22px}.flag-events-grid .flag-group-media{margin:-22px -22px 20px}@media(max-width:1000px){.flag-types-grid,.flag-size-groups,.flag-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.flag-types-grid,.flag-size-groups,.flag-events-grid{grid-template-columns:1fr}}

/* Consistent three-card rows, including ceremony and parade models. */
.flag-type-card .flag-group-media{margin:0}.flag-type-card .card-image img{width:100%;aspect-ratio:1.5;object-fit:cover}.flag-type-card{display:flex;flex-direction:column}.flag-type-body{flex:1}.flag-type-body .flag-size-link{margin-top:auto;padding-top:12px}
@media(min-width:751px){.flag-types-grid,.flag-size-groups,.flag-events-grid,#modeller>.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:501px) and (max-width:750px){.flag-types-grid,.flag-size-groups,#modeller>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.flag-types-grid,.flag-size-groups,#modeller>.grid{grid-template-columns:1fr}}
