.dp_1_bold,.dp_2_bold,.dp_3_bold,.dp_4_bold,.xl_1_bold,.xl_2_bold,.xl_3_bold,.h1_bold,.h2_bold,.h3_bold,.h4_bold,.h5_bold,.h6_bold,.h4_bold_500,.news_card_main_card_heading,.font_variation_settings,.static-page-title{font-variation-settings:"opsz" 50,"slnt" 0,"wdth" 25,"GRAD" 0,"XOPQ" 96,"XTRA" 468,"YOPQ" 79,"YTAS" 750,"YTDE" -203,"YTFI" 738,"YTLC" 514,"YTUC" 712 !important;}.h4_bold_500{font-family:'Roboto Flex';font-weight:500;font-size:20px;line-height:24px;}@media (max-width:1024px){.ibl-header .ibl-header__drawer{left:auto;width:100%;right:-100%;transform:none;transition:right 0.25s;}.ibl-header .ibl-header__drawer--open{right:0;}.ibl-header .ibl-header__drawer-top{border-bottom:none !important;}}body[class~="photos"] .ibl-header .ibl-header__nav-link[href^="/photos"],body[class*=" photos/"] .ibl-header .ibl-header__nav-link[href^="/photos"]{color:#ff4100;box-shadow:inset 0 -4px 0 #db3700;}body[class~="photos"] .ibl-header .ibl-header__drawer-link[href^="/photos"],body[class*=" photos/"] .ibl-header .ibl-header__drawer-link[href^="/photos"]{color:#ff4100;box-shadow:inset 4px 0 0 #db3700;padding-left:12px;}body[class~="videos"] .ibl-header .ibl-header__nav-link[href^="/videos"],body[class*=" videos/"] .ibl-header .ibl-header__nav-link[href^="/videos"]{color:#ff4100;box-shadow:inset 0 -4px 0 #db3700;}body[class~="videos"] .ibl-header .ibl-header__drawer-link[href^="/videos"],body[class*=" videos/"] .ibl-header .ibl-header__drawer-link[href^="/videos"]{color:#ff4100;box-shadow:inset 4px 0 0 #db3700;padding-left:12px;}body[class~="news"] .ibl-header .ibl-header__nav-link[href^="/news"],body[class*=" news/"] .ibl-header .ibl-header__nav-link[href^="/news"]{color:#ff4100;box-shadow:inset 0 -4px 0 #db3700;}body[class~="news"] .ibl-header .ibl-header__drawer-link[href^="/news"],body[class*=" news/"] .ibl-header .ibl-header__drawer-link[href^="/news"]{color:#ff4100;box-shadow:inset 4px 0 0 #db3700;padding-left:12px;}body[class~="home"] .ibl-header .ibl-header__nav-link[href="/"],body[class~="home"] .ibl-header .ibl-header__nav-link[href^="/?"]{color:#ff4100;box-shadow:inset 0 -4px 0 #db3700;}body[class~="home"] .ibl-header .ibl-header__drawer-link[href="/"],body[class~="home"] .ibl-header .ibl-header__drawer-link[href^="/?"]{color:#ff4100;box-shadow:inset 4px 0 0 #db3700;padding-left:12px;}.ibl-header .ibl-header__drawer-link--active{color:hsl(var(--text_main_prim)) !important;}.static-page-title{font:var(--dp_3_bold);color:hsl(var(--text_invert_high));text-align:left;text-transform:uppercase;max-width:55%;}.ibl-header__offset{height:70px;}.ibl-header__bar{position:fixed;top:0;left:0;z-index:50;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:100%;height:70px;padding:0 98px;background:#000000;border-bottom:1px solid #333333;}.ibl-header__left{display:flex;align-items:center;gap:28px;min-width:0;height:100%;}.ibl-header__logo{display:flex;flex-shrink:0;width:52px;height:52px;}.ibl-header__logo-img{width:52px;height:52px;object-fit:contain;}.ibl-header__logo-fallback{display:flex;align-items:center;justify-content:center;width:52px;height:52px;color:#ffffff;font-size:0.75rem;font-weight:700;letter-spacing:0.04em;}.ibl-header__nav{display:flex;align-items:center;gap:16px;height:100%;}.ibl-header .ibl-header__nav-link{display:inline-flex;align-items:center;justify-content:center;height:70px;padding:0 8px;border:0;border-radius:0;background:transparent;font:var(--body_sm_bold);color:hsl(var(--text_invert_medium));text-transform:uppercase;text-box-trim:trim-both;text-box-edge:cap alphabetic;text-decoration:none;white-space:nowrap;box-shadow:none;}.ibl-header .ibl-header__nav-link:hover,.ibl-header .ibl-header__nav-link--active{color:#ff4100;}.ibl-header .ibl-header__nav-link--active{box-shadow:inset 0 -4px 0 #db3700;}.ibl-header__download{display:flex;flex-shrink:0;align-items:center;gap:16px;}.ibl-header__download-label{color:#ffffff;font-family:var(--body_xs_bold-font-family,"Noto Sans"),sans-serif;font-size:var(--body_xs_bold-font-size,0.625rem);font-weight:var(--body_xs_bold-font-weight,700);line-height:var(--body_xs_bold-line-height,1rem);letter-spacing:var(--body_xs_bold-letter-spacing,0);text-box-trim:trim-both;text-box-edge:cap alphabetic;text-decoration:none;text-transform:uppercase;white-space:nowrap;}.ibl-header__stores{display:flex;align-items:center;gap:15px;}.ibl-header__store{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:#ffffff;text-decoration:none;}.ibl-header__icon{color:inherit;font-size:16px;line-height:1;}.ibl-header__menu-btn{display:none;flex-direction:column;align-items:flex-end;justify-content:space-between;width:24px;height:16px;padding:0;border:0;background:transparent;cursor:pointer;}.ibl-header__menu-line{display:block;width:11px;height:1.5px;background:#ffffff;}.ibl-header__menu-line--wide{width:24px;}.ibl-header__drawer{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;gap:0;padding:0;overflow-y:auto;background:#1a1a1a !important;color:#ffffff;visibility:hidden;transform:translateX(100%);transition:transform 0.25s ease;}.ibl-header__drawer--open{visibility:visible;transform:none;padding-left:0px !important;padding-bottom:0px !important;padding-right:0px !important;padding-top:0px !important;height:calc(100% - 70px) !important;margin-top:auto !important;}.ibl-header__drawer.ibl-header__drawer--open .ibl-header__drawer-cta .icon_ibl-apple-store{order:2;}.ibl-header:has(.ibl-header__drawer--open) .ibl-header__bar{z-index:-1;}.ibl-header__drawer-nav:empty,.ibl-header__drawer-ctas:empty,.ibl-header__drawer-socials:empty{display:none;}.ibl-header__drawer-top{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;box-sizing:border-box;height:60px;padding:0 20px;background:#000000;border-bottom:0.5px solid #333333;}.ibl-header__close{display:inline-flex;align-items:center;justify-content:flex-end;box-sizing:border-box;gap:0;height:30px;padding:0 0 0 20px;border:0;border-left:0.5px solid #333333;background:transparent;color:#ffffff;font-size:0px !important;line-height:0;cursor:pointer;}.ibl-header__font-icon--close{display:inline-block;position:relative;flex-shrink:0;width:24px;height:24px;}.ibl-header__font-icon--close::before,.ibl-header__font-icon--close::after{content:"";position:absolute;top:11px;left:4.5px;width:15px;height:1.5px;background:#ff4100 !important;}.ibl-header__font-icon--close::before{transform:rotate(45deg);}.ibl-header__font-icon--close::after{transform:rotate(-45deg);}.ibl-header__drawer-nav{display:flex;flex-direction:column;gap:12px;padding:16px 40px 0;}.ibl-header .ibl-header__drawer-link{display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;width:100%;min-height:44px;padding:12px 16px;border:0;border-radius:4px;background:transparent;color:#ffffff;font-family:var(--body_md_bold-font-family,"Noto Sans"),sans-serif;font-size:var(--body_md_bold-font-size,1rem);font-weight:var(--body_md_bold-font-weight,700);line-height:var(--body_md_bold-line-height,1.5rem);letter-spacing:var(--body_md_bold-letter-spacing,0);text-decoration:none;text-transform:uppercase;box-shadow:none;}.ibl-header .ibl-header__drawer-link:hover,.ibl-header .ibl-header__drawer-link--active{color:#ff4100;}.ibl-header__drawer-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:auto;padding:20px;background:#002dbc;}.ibl-header__drawer-socials{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:20px;}.ibl-header__drawer-cta{display:inline-flex;align-items:center;gap:20px;color:#ffffff;font-family:var(--body_md_bold-font-family,"Noto Sans"),sans-serif;font-size:var(--body_md_bold-font-size,1rem);font-weight:var(--body_md_bold-font-weight,700);line-height:var(--body_md_bold-line-height,1.5rem);letter-spacing:var(--body_md_bold-letter-spacing,0);text-decoration:none;text-transform:uppercase;}.ibl-header__drawer-social{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#ffffff;text-decoration:none;}@media (max-width:1279px){.ibl-header__bar{padding:0 32px;}}@media (max-width:1024px){.ibl-header__bar{height:60px;padding:0 20px 0 16px;}.ibl-header__offset{height:60px;}.ibl-header__logo,.ibl-header__logo-img{width:44px;height:44px;}.ibl-header__nav,.ibl-header__download{display:none;}.ibl-header__menu-btn{display:flex;box-sizing:content-box;height:30px;padding-left:20px;border-left:0.5px solid #333333;align-items:flex-end;justify-content:center;gap:5px;}.ibl-header__bar{z-index:70;}.ibl-header__drawer{top:60px;}.ibl-header__drawer-top{position:fixed;top:0;right:0;z-index:80;height:60px;padding:0 20px;background:#000000;border-bottom:0.5px solid #333333;}}.ibl-footer{width:100%;}.ibl-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1440px;margin:0 auto;}.ibl-footer__social{box-sizing:border-box;width:100%;background:#101010;border-top:0.5px solid hsl(var(--border_invert_disable));padding:var(--spacing_3) var(--container-offset,98px);}.ibl-footer__socials{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}.ibl-footer__social-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid hsl(var(--text_invert_high));border-radius:50%;background:transparent;color:hsl(var(--text_invert_high));text-decoration:none;transition:opacity 0.2s ease;}.ibl-footer__social-link:hover{opacity:0.85;}.ibl-footer__social-icon{font-size:16px;line-height:1;}.ibl-footer__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}.ibl-footer__legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0;}.ibl-footer__legal-sep{flex-shrink:0;align-self:center;width:0;height:12px;margin:0 12px;border-left:0.5px solid #333333;}.ibl-footer__legal-link{color:hsl(var(--text_invert_medium));font:var(--body_xs_regular);text-decoration:none;white-space:nowrap;text-transform:capitalize;}.ibl-footer__legal-link:hover{color:hsl(var(--text_invert_high));text-decoration:underline;}.ibl-footer__powered{box-sizing:border-box;width:100%;background:#002DBC !important;padding:16px 98px;}.ibl-footer__copyright{margin:0;color:#ffffff;font-family:var(--body_xs_regular-font-family,"Noto Sans"),sans-serif;font-size:var(--body_xs_regular-font-size,0.625rem);font-weight:var(--body_xs_regular-font-weight,400);line-height:var(--body_xs_regular-line-height,0.875rem);}.ibl-footer__powered-by{display:inline-flex;align-items:center;gap:8px;color:#ffffff;text-decoration:none;}.ibl-footer__powered-by:hover{opacity:0.9;}.ibl-footer__powered-label{font-family:var(--body_xs_regular-font-family,"Noto Sans"),sans-serif;font-size:var(--body_xs_regular-font-size,0.625rem);font-weight:var(--body_xs_regular-font-weight,400);line-height:var(--body_xs_regular-line-height,0.875rem);white-space:nowrap;}.ibl-footer__powered-logo{display:block;height:20px;width:auto;}.ibl-footer__si-logo{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-style:italic;font-weight:700;line-height:1;letter-spacing:-0.02em;}@media (max-width:1024px){.ibl-footer__social,.ibl-footer__powered{padding-inline:var(--spacing_4,24px);}.ibl-footer__inner{flex-direction:column;align-items:center;gap:20px;}.ibl-footer__socials{justify-content:center;width:100%;}.ibl-footer__legal{justify-content:center;}}.icon_ibl_youtube:before{margin-left:0px;}@media (max-width:640px){.ibl-footer__social{padding:32px var(--spacing_4,16px);}.ibl-footer__powered{padding:var(--spacing_4,16px);}.ibl-footer__inner{gap:24px;}.ibl-footer__legal{justify-content:center;width:100%;}.ibl-footer__legal-sep{margin:0 8px;}.ibl-footer__legal-link{font-size:0.625rem;}.ibl-footer__powered .ibl-footer__inner{flex-direction:column;align-items:center;gap:8px;text-align:center;}}.ibl-sponsors{--sponsor-bg:#ffffff;--sponsor-ink:#111111;--sponsor-gap:8px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;background-color:var(--sponsor-bg);padding-block:72px 80px;}.ibl-sponsors .sponsors-title{margin:0 0 48px;color:var(--sponsor-ink);font-family:"Roboto Flex",Roboto,sans-serif;font-weight:700;font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:0.01em;text-align:center;text-transform:uppercase;}.ibl-sponsors .sponsor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sponsor-gap);width:100%;max-width:100%;min-width:0;}.ibl-sponsors .sponsor-card{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;padding:0;background:transparent;overflow:hidden;}.ibl-sponsors .sponsor-label{display:none;}.ibl-sponsors .sponsor-card .sponsor-logo,.ibl-sponsors .sponsor-card picture,.ibl-sponsors .sponsor-card img{display:block;width:100%;height:109px;max-height:109px;object-fit:contain;background:transparent;border-radius:0;}@media (max-width:767px){.ibl-sponsors{--sponsor-gap:8px;padding-block:48px 56px;}.ibl-sponsors .sponsors-title{margin-bottom:36px;}.ibl-sponsors .sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.ibl-sponsors .sponsor-grid > .sponsor-card:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc((100% - var(--sponsor-gap)) / 2);max-width:calc((100% - var(--sponsor-gap)) / 2);}}.ibl-sponsors .sponsors-title{font-variation-settings:"opsz" 50,"GRAD" 0,"wdth" 25 !important;letter-spacing:0px !important;font-weight:500 !important;}#ibl-sponsors{display:none !important;}.ibl-header__stores{display:none !important;}.ibl-header__drawer-socials{display:none !important;}.ibl-footer__legal-link[href="/contact"]{display:none !important;}.ibl-footer__legal a[href="/contact"],.ibl-footer__legal a[href="/contact"] + .ibl-footer__legal-sep{display:none !important;}.ibl-footer__legal{display:flex;align-items:center;gap:12px;}.ibl-footer__legal-sep{display:block;width:1px;height:14px;background-color:currentColor;flex-shrink:0;}.section-header .view-more-btn{transition:gap 0.4s ease !important;}.section-header .view-more-btn:hover{gap:16px !important;}
.photo-listing-page::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 240px;
  transform: translateX(-50%);
  background: url(/static-assets/images/misc/photos-header.png?w=1200);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 0;
}
@media (max-width: 1023px) {
  .photo-listing-page::before {
    height: 140px;
  }
}
body {
  --ph-gap: 16px;
  /* columns + featured row */ --ph-row-gap: 24px;
  /* small-card rows */ --ph-radius: 8px;
  /* md */ --ph-radius-sm: 4px;
  /* sm */ --ph-condensed: "opsz" 50, "slnt" 0, "wdth" 25, "GRAD" 0, "XOPQ" 96, "XTRA" 468, "YOPQ" 79, "YTAS" 750, "YTDE" -203, "YTFI" 738, "YTLC" 514, "YTUC" 712;
  /* featured title – Figma h1/bold 32/36 · 500 */ --ph-ft-ff: var(--xl_2_bold_phone-font-family);
  --ph-ft-fs: var(--xl_2_bold_phone-font-size);
  --ph-ft-lh: var(--xl_2_bold_phone-line-height);
  --ph-ft-fw: var(--xl_2_bold_phone-font-weight);
  /* small card title – Figma h4/bold 20/24 · 500 */ --ph-st-ff: var(--h1_semi_bold-font-family);
  --ph-st-fs: var(--h1_semi_bold-font-size);
  --ph-st-lh: var(--h1_semi_bold-line-height);
  --ph-st-fw: var(--h1_semi_bold-font-weight);
  /* badge – Figma badge/lg 14/18 · 700 */ --ph-badge-fs: var(--badge_lg-font-size);
  --ph-badge-lh: var(--badge_lg-line-height);
  --ph-badge-fw: var(--badge_md_count-font-weight);
  --ph-badge-h: 24px;
}
/* --------------------------------------------------------------------- 3. Page frame – section order, grey background --------------------------------------------------------------------- */ main {
  position: relative;
  display: flex;
  flex-direction: column;
  background: hsl(var(--background_main_container));
}
/* the server sends the big-card section last – show it first */ main > section:has(.photos-mainCard) {
  order: -1;
}
main > section .template-body {
  margin: 0 !important;
  padding: 0 !important;
}
/* --------------------------------------------------------------------- 4. Featured cards – 2 × 577×325, text over image --------------------------------------------------------------------- */ main .photos-mainCard {
  position: relative;
  overflow: hidden;
  border-radius: var(--ph-radius);
}
main .photos-mainCard [class*="aspect-"] {
  aspect-ratio: 16 / 9 !important;
  border-radius: 0 !important;
}
main .photos-mainCard img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
/* gradient so white text stays readable (Figma gradients/nue/vert) */ main .photos-mainCard::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(16, 16, 16, 0.9) 0%, rgba(16, 16, 16, 0.5) 40%, rgba(16, 16, 16, 0) 70%);
  pointer-events: none;
}
main .photos-mainCard > div:last-child {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
}
main .photos-mainCard .home-photo-content > div {
  padding: 0 20px 23px !important;
}
main .photos-mainCard .home-photo-content > div > div:nth-child(1) > div {
  padding: 0 0 20px !important;
}
/* image-count badge */ main .photos-mainCard .badge-site.bg-background_invert_surface {
  height: var(--ph-badge-h);
  padding: 0 10px !important;
  gap: 4px;
  border-radius: var(--ph-radius-sm) !important;
  background: hsl(var(--background_tert_surface)) !important;
  color: hsl(var(--text_main_high)) !important;
  font-family: var(--badge_lg-font-family), sans-serif;
  font-size: var(--ph-badge-fs);
  line-height: var(--ph-badge-lh);
  font-weight: var(--ph-badge-fw);
  text-transform: uppercase;
}
main .photos-mainCard .badge-site .icon_ibl_images {
  color: hsl(var(--text_main_high)) !important;
  font-size: var(--body_lg_regular-font-size) !important;
  line-height: 1 !important;
}
/* title – h1/bold 32/36 */ main .photos-mainCard p.card-description {
  margin: 0;
  color: hsl(var(--text_invert_high)) !important;
  /* font-family: var(--ph-ft-ff), sans-serif !important;
  */ /* font-size: var(--ph-ft-fs) !important;
  */ /* line-height: var(--ph-ft-lh) !important;
  */ /* font-weight: var(--ph-ft-fw) !important;
  */ /* letter-spacing: var(--xl_2_bold_phone-letter-spacing) !important;
  */ /* font-variation-settings: var(--ph-condensed);
  */ text-transform: uppercase;
  height: auto !important;
  max-height: calc(var(--ph-ft-lh) * 2);
}
/* date – body_sm/regular, text/invert/medium */ main .photos-mainCard .badge-site.body_sm_regular {
  padding: 14px 0 0 !important;
  color: hsl(var(--core_neu_200)) !important;
  font-family: var(--body_sm_regular-font-family), sans-serif;
  font-size: var(--body_sm_regular-font-size);
  line-height: var(--body_sm_regular-line-height);
  font-weight: var(--body_sm_regular-font-weight);
}
/* --------------------------------------------------------------------- 5. Small cards – 4 × 281×278 (image 16:9, text 16/12, gap 20) --------------------------------------------------------------------- */ main > section:not(:has(.photos-mainCard)) .template-body {
  column-gap: var(--ph-gap) !important;
  row-gap: var(--ph-row-gap) !important;
}
main .card-layout {
  height: 100%;
  background: hsl(var(--core_neu_00));
  border-radius: var(--ph-radius);
  overflow: hidden;
  box-shadow: none;
}
main .card-layout > div:first-child {
  grid-area: media;
}
main .card-layout [class*="aspect-"] {
  aspect-ratio: 16 / 9 !important;
}
main .card-layout img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
main .card-layout .photos-sub-card-heading {
  grid-area: title;
  padding: 22px 12px 0 !important;
  gap: 0 !important;
}
main .card-layout .photos-sub-card-heading > div:empty {
  display: none;
}
/* title – h4/bold 20/24 */ main .card-layout p.h1_bold {
  margin: 0;
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: auto !important;
  max-height: calc(var(--ph-st-lh) * 2);
  color: hsl(var(--text_main_high)) !important;
  font-family: var(--ph-st-ff), sans-serif !important;
  font-size: var(--ph-st-fs) !important;
  line-height: var(--ph-st-lh) !important;
  font-weight: var(--ph-st-fw) !important;
  letter-spacing: var(--h1_semi_bold-letter-spacing) !important;
  font-variation-settings: var(--ph-condensed);
  text-transform: uppercase;
}
/* flatten the time row so date + count become grid items */ main .card-layout .photos-sub-card-time, main .card-layout .photos-sub-card-time > div:first-child, main .card-layout .photos-sub-card-time > div:first-child > div {
  display: contents !important;
}
main .card-layout .photos-sub-card-time > div:last-child {
  display: none !important;
}
/* date – body_sm/regular, text/main/medium */ main .card-layout .badge-site.date:not(.side-border-duration) {
  grid-area: date;
  justify-self: start;
  padding: 21px 12px 13px !important;
  color: hsl(var(--text_main_medium)) !important;
  font-family: var(--body_sm_regular-font-family), sans-serif !important;
  font-size: var(--body_sm_regular-font-size) !important;
  line-height: var(--body_sm_regular-line-height) !important;
  font-weight: var(--body_sm_regular-font-weight) !important;
}
/* image-count badge over the image (left 12 / bottom 12) */ main .card-layout .badge-site.side-border-duration {
  grid-area: media;
  align-self: end;
  justify-self: start;
  z-index: 2;
  height: var(--ph-badge-h);
  margin: 0 0 12px 12px !important;
  padding: 0 10px !important;
  gap: 4px;
  border: 0 !important;
  border-radius: var(--ph-radius-sm);
  background: hsl(var(--background_tert_surface));
  color: hsl(var(--text_main_high)) !important;
  font-family: var(--badge_lg-font-family), sans-serif !important;
  font-size: var(--ph-badge-fs) !important;
  line-height: var(--ph-badge-lh) !important;
  font-weight: var(--ph-badge-fw) !important;
}
/* --------------------------------------------------------------------- 6. Load More – outline pill, button/sm (Figma 107×40, 1px border) --------------------------------------------------------------------- */ main .template-footer {
  padding: 44px 0 80px !important;
  /* + 16px section gap = Figma 60 */
}

/* --------------------------------------------------------------------- 7. Tablet (768px – 1023px) – 2 featured + 2-up grid --------------------------------------------------------------------- */ @media (min-width: 768px) and (max-width: 1023px) {
  body {
    --ph-ft-ff: var(--h3_bold-font-family);
    --ph-ft-fs: var(--h3_bold-font-size);
    --ph-ft-lh: var(--h3_bold-line-height);
    --ph-ft-fw: var(--h3_bold-font-weight);
  }
}
/* --------------------------------------------------------------------- 8. Mobile (≤ 767px) – Figma M_Photos Listing 1st card = featured (343×257) · every other card = list row 343×100 --------------------------------------------------------------------- */ @media (max-width: 767px) {
  body {
    /* featured title – h2/bold 28/32 */ --ph-ft-ff: var(--h2_bold-font-family);
    --ph-ft-fs: var(--h2_bold-font-size);
    --ph-ft-lh: var(--h2_bold-line-height);
    --ph-ft-fw: var(--h2_bold-font-weight);
    /* row title – h5/bold 18/22 */ --ph-st-ff: var(--h5_bold-font-family);
    --ph-st-fs: var(--h5_bold-font-size);
    --ph-st-lh: var(--h5_bold-line-height);
    --ph-st-fw: var(--h5_bold-font-weight);
    --ph-badge-fs: var(--badge_md_count-font-size);
    --ph-badge-lh: var(--badge_md_count-line-height);
    --ph-list-h: 100px;
  }
  /* ---- featured (1st card): 4:3, text over image, radius sm ---- */ main .photos-mainCard {
    border-radius: var(--ph-radius-sm);
  }
  main .template-body > article:first-child .photos-mainCard [class*="aspect-"] {
    aspect-ratio: 4 / 3 !important;
  }
  main .photos-mainCard .home-photo-content > div {
    padding: 0 12px 15px !important;
  }
  main .photos-mainCard .home-photo-content > div > div:nth-child(1) > div {
    padding: 0 0 12px !important;
  }
  main .photos-mainCard .badge-site.body_sm_regular {
    padding-top: 8px !important;
  }
  /* ---- list rows: 2nd featured card + all small cards ---- */ main .template-body > article:nth-child(n + 2) .photos-mainCard, main .card-layout {
    height: var(--ph-list-h) !important;
    background: hsl(var(--core_neu_00));
    border-radius: var(--ph-radius-sm);
    overflow: hidden;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard::after {
    content: none;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard > div:first-child, main .card-layout > div:first-child {
    grid-area: media;
    height: var(--ph-list-h);
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard > div:first-child *, main .card-layout > div:first-child * {
    height: 100%;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard [class*="aspect-"], main .card-layout [class*="aspect-"] {
    aspect-ratio: auto !important;
    height: var(--ph-list-h) !important;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard > div:last-child, main .template-body > article:nth-child(n + 2) .photos-mainCard .home-photo-content, main .template-body > article:nth-child(n + 2) .photos-mainCard .home-photo-content > div {
    display: contents !important;
  }
  /* row badge – badge/sm 10/14 · 700, over image (left 8 / bottom 8) */ main .template-body > article:nth-child(n + 2) .photos-mainCard .home-photo-content > div > div:nth-child(1) {
    grid-area: media;
    align-self: end;
    justify-self: start;
    z-index: 2;
    margin: 0 0 8px 8px;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard .home-photo-content > div > div:nth-child(1) > div {
    padding: 0 !important;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard .badge-site.bg-background_invert_surface, main .card-layout .badge-site.side-border-duration {
    height: 18px;
    margin: 0 0 8px 8px !important;
    padding: 0 6px !important;
    gap: 2px;
    font-size: var(--badge_sm-font-size) !important;
    line-height: var(--badge_sm-line-height) !important;
    font-weight: var(--badge_md_count-font-weight) !important;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard .badge-site.bg-background_invert_surface {
    margin: 0 !important;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard .badge-site .icon_ibl_images {
    font-size: var(--badge_md_count-font-size) !important;
  }
  /* row title – h5/bold 18/22 */ main .template-body > article:nth-child(n + 2) .photos-mainCard .home-photo-content > div > div:nth-child(2) {
    grid-area: title;
    padding: 10px 12px 0;
    min-width: 0;
  }
  main .card-layout .photos-sub-card-heading {
    padding: 10px 12px 0 !important;
    min-width: 0;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard p.card-description {
    color: hsl(var(--text_main_high)) !important;
    /* font-family: var(--ph-st-ff), sans-serif !important;
    */ /* font-size: var(--ph-st-fs) !important;
    */ /* line-height: var(--ph-st-lh) !important;
    */ /* font-weight: var(--ph-st-fw) !important;
    */ max-height: calc(var(--ph-st-lh) * 2);
  }
  /* row date */ main .template-body > article:nth-child(n + 2) .photos-mainCard .home-photo-content > div > div:nth-child(3) {
    grid-area: date;
    padding: 0 12px 11px;
  }
  main .template-body > article:nth-child(n + 2) .photos-mainCard .badge-site.body_sm_regular {
    padding: 0 !important;
    color: hsl(var(--text_main_medium)) !important;
  }
  main .card-layout .badge-site.date:not(.side-border-duration) {
    align-self: end;
    padding: 0 12px 11px !important;
  }
  /* Load More – border/main/invert #1a1a1a */ main .template-footer {
    padding: 32px 0 44px !important;
  }
}
/* --------------------------------------------------------------------- 9. Mobile list template (pl-mobile-list) · Figma M_Photos Listing Reuses the "Photo Card - listing page" organism unchanged. Targets only tags: pl-mobile-list (template) + photo-card-top, photo-count, listing-photo-card-details (organism). 1st card = featured 343×257, text over image · others = 343×100 rows --------------------------------------------------------------------- */ @media (max-width: 767px) {
  /* ---- every card: flatten the organism into one grid ---- */ main .pl-mobile-list :has(> .photo-card-top) {
    align-items: stretch !important;
    height: 100px;
    overflow: hidden;
    border-radius: 4px;
    background: hsl(var(--background_main_surface));
  }
  main .pl-mobile-list .photo-card-top, main .pl-mobile-list .listing-photo-card-details {
    display: contents !important;
  }
  /* image */ main .pl-mobile-list .photo-card-top > :first-child {
    height: 100%;
  }
  main .pl-mobile-list .photo-card-top [class*="aspect-"] {
    aspect-ratio: auto !important;
    height: 100%;
    border-radius: 0 !important;
  }
  main .pl-mobile-list .photo-card-top [class*="aspect-"] picture, main .pl-mobile-list .photo-card-top [class*="aspect-"] img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  /* image-count badge – badge/sm, over the image (left 8 / bottom 8) */ main .pl-mobile-list .photo-count {
    position: relative !important;
    inset: auto !important;
    z-index: 2;
    align-self: end !important;
    justify-self: start;
    width: auto !important;
    margin: 0 0 8px 8px;
  }
  main .pl-mobile-list .photo-count .badge-site {
    height: 18px;
    padding: 0 6px !important;
    gap: 2px;
    font-size: var(--badge_sm-font-size) !important;
    line-height: var(--badge_sm-line-height) !important;
    font-weight: var(--badge_md_count-font-weight) !important;
  }
  main .pl-mobile-list .photo-count .wac-icon {
    font-size: var(--badge_md_count-font-size) !important;
    line-height: 1 !important;
  }
  /* title – h5/bold 18/22, uppercase, condensed */ main .pl-mobile-list .listing-photo-card-details > :first-child {
    position: relative;
    z-index: 2;
    min-width: 0;
    padding: 14px 12px 0;
  }
  main .pl-mobile-list .listing-photo-card-details > :first-child p {
    margin: 0;
    color: hsl(var(--text_main_high)) !important;
    font-family: var(--h5_bold-font-family), sans-serif !important;
    font-size: var(--h5_bold-font-size) !important;
    line-height: var(--h5_bold-line-height) !important;
    font-weight: var(--h5_bold-font-weight) !important;
    letter-spacing: var(--h5_bold-letter-spacing) !important;
    font-variation-settings: var(--ph-condensed);
    text-transform: uppercase;
    /* theme sets .h4_bold.line-clamp-2 {
      height: 2 × h4
    }
    – size to this line-height */ height: auto !important;
    max-height: calc(var(--h5_bold-line-height) * 2);
  }
  /* date – body_sm/regular, text/main/medium */ main .pl-mobile-list .listing-photo-card-details > :last-child {
    position: relative;
    z-index: 2;
    min-width: 0;
    padding: 0 12px 14px;
  }
  main .pl-mobile-list .listing-photo-card-details > :last-child .badge-site {
    color: hsl(var(--text_main_medium)) !important;
  }
  /* ---- featured (1st card): 343×257, text over a gradient ---- */ main .pl-mobile-list .template-body > :first-child :has(> .photo-card-top) {
    position: relative;
    height: auto;
    aspect-ratio: 343 / 257;
  }
  main .pl-mobile-list .template-body > :first-child :has(> .photo-card-top)::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0) 75%);
    pointer-events: none;
  }
  main .pl-mobile-list .template-body > :first-child .photo-count {
    grid-row: 2;
    margin: 0 0 12px 12px;
  }
  main .pl-mobile-list .template-body > :first-child .photo-count .badge-site {
    height: 24px;
    padding: 0 8px !important;
    gap: 4px;
    font-size: var(--badge_md_count-font-size) !important;
    line-height: var(--badge_md_count-line-height) !important;
  }
  main .pl-mobile-list .template-body > :first-child .photo-count .wac-icon {
    font-size: var(--body_lg_regular-font-size) !important;
  }
  main .pl-mobile-list .template-body > :first-child .listing-photo-card-details > :first-child {
    padding: 0 12px 12px;
  }
  main .pl-mobile-list .template-body > :first-child .listing-photo-card-details > :first-child p {
    color: hsl(var(--text_invert_high)) !important;
    font-family: var(--h2_bold-font-family), sans-serif !important;
    font-size: var(--h2_bold-font-size) !important;
    line-height: var(--h2_bold-line-height) !important;
    font-weight: var(--h2_bold-font-weight) !important;
    letter-spacing: var(--h2_bold-letter-spacing) !important;
    max-height: calc(var(--h2_bold-line-height) * 2);
  }
  main .pl-mobile-list .template-body > :first-child .listing-photo-card-details > :last-child {
    grid-column: 1;
    grid-row: 4;
    padding: 0 12px 20px;
  }
  main .pl-mobile-list .template-body > :first-child .listing-photo-card-details > :last-child .badge-site {
    color: hsl(var(--text_invert_medium)) !important;
  }
}
main .card-layout .badge-site.side-border-duration::before {
  content: "\e80e";
  font-family: "ibl";
  font-weight: normal;
  font-size: var(--body_lg_regular-font-size);
  line-height: 1;
}
@media (max-width: 767px) {
  main .card-layout .badge-site.side-border-duration::before {
    font-size: var(--badge_md_count-font-size);
  }
}
[data-component-id="9e490e3e-ed2a-4226-b2fe-e4211c9460d6"] .photos-card-overlay {
pointer-events: none;
}
[data-component-id="9e490e3e-ed2a-4226-b2fe-e4211c9460d6"] .photos-card-overlay a {
pointer-events: auto;
}
[data-component-id="67c1a905-6830-4fda-9ba1-eab8b7259ab3"] .photo-card {
position: relative;
}
[data-component-id="67c1a905-6830-4fda-9ba1-eab8b7259ab3"] .photo-count {
position: absolute;
    bottom: 10px;
    left: 10px;
}
[data-component-id="d6840427-06df-48cf-baac-708d1aaf46be"] .load-more-btn:hover {
background: hsl(var(--background_invert_surface));
  color: hsl(var(--text_invert_high));
}
[data-component-id="d6840427-06df-48cf-baac-708d1aaf46be"] .load-more-btn:focus-visible {
outline: 2px solid hsl(var(--text_main_prim));
  outline-offset: 3px;
}
[data-component-id="d6840427-06df-48cf-baac-708d1aaf46be"] .load-more-btn:disabled {
opacity: 0.5;
  cursor: not-allowed;
}
[data-component-id="72038002-ede8-4491-95be-41f3a27e2407"] .web_pfc_count .badge-site {
line-height: 12px;
}
[data-component-id="72038002-ede8-4491-95be-41f3a27e2407"] .web_pfc_count .badge-site .wac-icon {
height: 12px;
  font-size: 14px;
  line-height: 12px;
}
[data-component-id="a0fc950c-4a79-4116-a97c-9a9051ecfa71"] .web_photo_row_text_m {
justify-content: space-between;
}
[data-component-id="a0fc950c-4a79-4116-a97c-9a9051ecfa71"] .web_photo_row_badge_m .badge-site {
line-height: 10px;
}
[data-component-id="0f3a4ffd-75cf-491d-8205-51f3a9efed42"] {
.ibl-footer {
    width: 100%;
  }
  .ibl-footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1440px;
    margin: 0 auto;
  }
  .ibl-footer__social {
    box-sizing: border-box;
    width: 100%;
    background: #101010;
    border-top: 0.5px solid hsl(var(--border_invert_disable));
    padding: var(--spacing_3) var(--container-offset, 98px);
  }
  .ibl-footer__socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }
  .ibl-footer__social-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid hsl(var(--text_invert_high));
    border-radius: 50%;
    background: transparent;
    color: hsl(var(--text_invert_high));
    text-decoration: none;
    transition: opacity 0.2s ease;
  }
  .ibl-footer__social-link:hover {
    opacity: 0.85;
  }
  .ibl-footer__social-icon {
    font-size: 16px;
    line-height: 1;
  }
  .ibl-footer__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .ibl-footer__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
  }
  .ibl-footer__legal-sep {
    flex-shrink: 0;
    align-self: center;
    width: 0;
    height: 12px;
    margin: 0 12px;
    border-left: 0.5px solid #333333;
  }
  .ibl-footer__legal-link {
    color: hsl(var(--text_invert_medium));
    font: var(--body_xs_regular);
    text-decoration: none;
    white-space: nowrap;
  }
  .ibl-footer__legal-link:hover {
    color: hsl(var(--text_invert_high));
    text-decoration: underline;
  }
  .ibl-footer__powered {
    box-sizing: border-box;
    width: 100%;
    background: #0066ff;
    padding: 16px 98px;
  }
  .ibl-footer__copyright {
    margin: 0;
    color: #ffffff;
    font-family: var(--body_xs_regular-font-family, "Noto Sans"), sans-serif;
    font-size: var(--body_xs_regular-font-size, 0.75rem);
    font-weight: var(--body_xs_regular-font-weight, 400);
    line-height: var(--body_xs_regular-line-height, 1rem);
  }
  .ibl-footer__powered-by {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
    text-decoration: none;
  }
  .ibl-footer__powered-by:hover {
    opacity: 0.9;
  }
  .ibl-footer__powered-label {
    font-family: var(--body_xs_regular-font-family, "Noto Sans"), sans-serif;
    font-size: var(--body_xs_regular-font-size, 0.75rem);
    font-weight: var(--body_xs_regular-font-weight, 400);
    line-height: var(--body_xs_regular-line-height, 1rem);
    white-space: nowrap;
  }
  .ibl-footer__powered-logo {
    display: block;
    height: 20px;
    width: auto;
  }
  .ibl-footer__si-logo {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
    font-style: italic;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
  }
  @media (max-width: 1024px) {
    .ibl-footer__social, .ibl-footer__powered {
      padding-inline: var(--spacing_4, 24px);
    }
    .ibl-footer__inner {
      flex-direction: column;
      align-items: center;
      gap: 20px;
    }
    .ibl-footer__socials {
      justify-content: center;
      width: 100%;
    }
    .ibl-footer__legal {
      justify-content: center;
    }
  }
  @media (max-width: 640px) {
    .ibl-footer__social {
      padding: 32px var(--spacing_4, 16px);
    }
    .ibl-footer__powered {
      padding: var(--spacing_4, 16px);
    }
    .ibl-footer__inner {
      gap: 24px;
    }
    .ibl-footer__legal {
      justify-content: center;
      width: 100%;
    }
    .ibl-footer__legal-sep {
      margin: 0 8px;
    }
    .ibl-footer__legal-link {
      font-size: 0.625rem;
    }
    .ibl-footer__powered .ibl-footer__inner {
      flex-direction: column;
      align-items: center;
      gap: 8px;
      text-align: center;
    }
  }
}