:root { --renewal-color-1: #f6f5f2; --renewal-color-2: #263b31; --renewal-color-3: #d4d5c9; --renewal-color-4: #fff; --renewal-color-5: #101b18c7; --renewal-color-6: #101b1833; --renewal-color-7: #101b1855; --renewal-color-8: #101913ed; --renewal-color-9: #101913b8; --renewal-color-10: #10191333; --renewal-color-11: #101913b3; --renewal-color-12: #0008; --renewal-color-13: #eeede9; }

body { margin: 0; background: var(--renewal-color-1); }
a { color: inherit; }
button, a { touch-action: manipulation; }
button { cursor: pointer; }
#ifc-renewal-gallery {
  --paper: var(--renewal-color-1); --ink: var(--renewal-color-2); --line: var(--renewal-color-3);
  --content-max: 1200px; --copy-max: 560px; --gutter: 32px;
  --content-inset: max(var(--gutter), calc((100% - var(--content-max)) / 2));
  --font-hero: 64px; --font-heading: 32px; --font-body: 16px; --font-link: 14px; --font-small: 12px;
  --leading-body: 1.8; --leading-heading: 1.4; --tracking-link: 1px; --tracking-eyebrow: 2px;
  --section-space: 64px; --space-label: 16px; --space-copy: 24px; --space-paragraph: 16px;
  --space-link: 32px; --space-grid: 32px; --space-header: 30px; --touch-size: 44px;
  width: 100%; background: var(--paper); color: var(--ink);
  font-family: 'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  font-size: var(--font-body); line-height: var(--leading-body);
}
#ifc-renewal-gallery * { box-sizing: border-box; }
#ifc-renewal-gallery :is(h1,h2,h3,p,figure) { margin: 0; }
#ifc-renewal-gallery :is(h2,h3) { font-size: var(--font-heading); font-weight: 400; line-height: var(--leading-heading); }
#ifc-renewal-gallery p { max-width: var(--copy-max); font-size: var(--font-body); line-height: var(--leading-body); }
#ifc-renewal-gallery p + p { margin-top: var(--space-paragraph); }
#ifc-renewal-gallery .eyebrow + :is(h1,h2,h3),
#ifc-renewal-gallery .small + h3 { margin-top: var(--space-label); }
#ifc-renewal-gallery :is(h1,h2,h3) + p { margin-top: var(--space-copy); }
#ifc-renewal-gallery :is(header,.hero-copy,.intro,.section-head,.gallery,.details,footer,.viewer,.member-strip) {
  padding-inline: var(--content-inset);
}
#ifc-renewal-gallery :is(.hero-copy,.intro,.details,.viewer,.member-strip) { padding-block: var(--section-space); }
#ifc-renewal-gallery header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-copy); flex-wrap: wrap; padding-block: var(--space-header); }
#ifc-renewal-gallery .brand { text-decoration: none; }
.official-logo { width: 150px; height: auto; display: block; }
#ifc-renewal-gallery .header-brand { display: flex; align-items: center; gap: var(--space-copy); min-width: 0; }
#ifc-renewal-gallery .brand { flex-shrink: 0; }
#ifc-renewal-gallery .header-subtitle { font-size: var(--font-small); line-height: 1.5; white-space: nowrap; }
#ifc-renewal-gallery nav { display: flex; gap: var(--space-copy); flex-wrap: wrap; }
#ifc-renewal-gallery button { font: inherit; color: inherit; background: transparent; border: 0; min-height: var(--touch-size); }
#ifc-renewal-gallery :is(nav button,.action,.viewer-top button) { font-size: var(--font-link); letter-spacing: var(--tracking-link); }
#ifc-renewal-gallery nav button { padding: 8px 0; border-bottom: 1px solid transparent; }
#ifc-renewal-gallery nav button[aria-pressed=true] { border-color: currentColor; }
#ifc-renewal-gallery .hero { position: relative; min-height: 565px; display: flex; align-items: end; isolation: isolate; color: var(--renewal-color-4); }
#ifc-renewal-gallery .hero > img { position: absolute; width: 100%; height: 100%; object-fit: cover; inset: 0; z-index: -2; }
#ifc-renewal-gallery .hero:after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,var(--renewal-color-8) 0%,var(--renewal-color-9) 40%,var(--renewal-color-10) 80%),linear-gradient(0deg,var(--renewal-color-11),transparent 80%); }
#ifc-renewal-gallery .hero-copy { width: 100%; text-shadow: 0 2px 10px var(--renewal-color-12); }
#ifc-renewal-gallery h1 { font-family: Georgia,'Apple SD Gothic Neo',serif; font-size: var(--font-hero); font-weight: 400; line-height: 1.2; letter-spacing: -2px; }
#ifc-renewal-gallery .eyebrow { font-size: var(--font-small); letter-spacing: var(--tracking-eyebrow); }
#ifc-renewal-gallery .intro { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-copy); justify-items: start; }
#ifc-renewal-gallery .intro-story-copy { width: 100%; max-width: var(--copy-max); }
#ifc-renewal-gallery .intro-story-copy p { word-break: keep-all; overflow-wrap: break-word; }
#ifc-renewal-gallery .intro-story { grid-template-columns: minmax(0, 1fr) auto; }
#ifc-renewal-gallery .intro-story > div:first-child { grid-column: 1; }
#ifc-renewal-gallery .intro-story-link { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
#ifc-renewal-gallery .action { display: inline-flex; align-items: center; gap: var(--space-label); min-height: var(--touch-size); border-bottom: 1px solid currentColor; text-align: left; padding: 6px 0; text-decoration: none; }
#ifc-renewal-gallery .hero .action { margin-top: var(--space-copy); }
#ifc-renewal-gallery .member-strip { background: var(--renewal-color-13); }
#ifc-renewal-gallery .member-strip p { margin-top: var(--space-label); }
#ifc-renewal-gallery .member-strip strong { font-weight: 500; }
#ifc-renewal-gallery :is(.member-strip) { display: flex; justify-content: space-between; align-items: center; gap: var(--space-grid); }
#ifc-renewal-gallery :is(.member-strip) > div { min-width: 0; }
#ifc-renewal-gallery :is(.member-strip) .action { flex-shrink: 0; }
#ifc-renewal-gallery .section-head { display: flex; justify-content: space-between; gap: var(--space-copy); align-items: end; border-top: 1px solid var(--line); padding-top: var(--section-space); padding-bottom: var(--space-copy); }
#ifc-renewal-gallery .gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--section-space) var(--space-grid); padding-bottom: var(--section-space); }
#ifc-renewal-gallery figure button { padding: 0; display: block; width: 100%; text-align: left; }
#ifc-renewal-gallery figure img { width: 100%; aspect-ratio: 1.6; object-fit: cover; display: block; }
#ifc-renewal-gallery .image-frame { display: block; position: relative; }
#ifc-renewal-gallery figcaption { padding-top: var(--space-label); }
#ifc-renewal-gallery .small { font-size: var(--font-small); letter-spacing: var(--tracking-eyebrow); opacity: .75; }
#ifc-renewal-gallery .gallery-hint { display: block; margin-top: var(--space-label); letter-spacing: normal; word-break: keep-all; overflow-wrap: break-word; }
#ifc-renewal-gallery .rows { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-copy) var(--space-grid); margin-top: var(--space-copy); }
#ifc-renewal-gallery .row { padding-block: var(--space-copy); border-top: 1px solid var(--line); }
#ifc-renewal-gallery .locker-notice { display: grid; grid-template-columns: minmax(0, 1fr) minmax(96px, 32%); align-items: center; gap: var(--space-label); }
#ifc-renewal-gallery .locker-copy { min-width: 0; }
#ifc-renewal-gallery .locker-copy :is(h3,p) { word-break: keep-all; overflow-wrap: break-word; }
#ifc-renewal-gallery .locker-gift { padding: var(--space-label); background: var(--renewal-color-13); }
#ifc-renewal-gallery .member-gift-image { display: block; width: 100%; max-width: 280px; height: auto; justify-self: center; }
#ifc-renewal-gallery footer { border-top: 1px solid var(--line); display: flex; align-items: center; gap: var(--space-copy); justify-content: flex-start; font-size: var(--font-small); letter-spacing: var(--tracking-link); flex-wrap: wrap; padding-block: var(--space-copy); }
#ifc-renewal-gallery .home-link { font-size: var(--font-small); font-weight: 400; letter-spacing: normal; text-decoration: none; }
#ifc-renewal-gallery .home-link:hover,
#ifc-renewal-gallery .home-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
#ifc-renewal-gallery .viewer .image-frame { width: min(100%, calc(650px * var(--image-ratio, 1.6))); margin-inline: auto; }
#ifc-renewal-gallery .viewer img { width: 100%; height: auto; display: block; background: var(--paper); }
#ifc-renewal-gallery .viewer-top { display: flex; justify-content: space-between; align-items: center; gap: var(--space-copy); margin-bottom: var(--space-copy); }
#ifc-renewal-gallery .viewer-top button { border-bottom: 1px solid currentColor; }
#ifc-renewal-gallery [hidden] { display: none !important; }
#ifc-renewal-gallery button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.arrow { display: inline-block; flex-shrink: 0; font-size: 16px; font-weight: 600; line-height: .8; letter-spacing: 0; }
.skip-link { position: absolute; top: -100px; padding: 14px; background: var(--renewal-color-1); z-index: 10; }
.skip-link:focus { top: 0; }
@media (min-width: 761px) {
  #ifc-renewal-gallery .space-intro { gap: 20px; }
  #ifc-renewal-gallery .space-title-break { display: none; }
  #ifc-renewal-gallery .space-intro .gallery-hint { margin-top: 12px; }
}
@media (max-width: 760px) {
  #ifc-renewal-gallery { --gutter: 24px; --font-hero: 40px; --font-heading: 26px; --section-space: 40px; --space-header: 22px; }
  #ifc-renewal-gallery .locker-notice { grid-template-columns: minmax(0, 1fr) minmax(96px, 38%); row-gap: var(--space-copy); }
  #ifc-renewal-gallery .locker-copy { display: contents; }
  #ifc-renewal-gallery .locker-copy > h3,
  #ifc-renewal-gallery .locker-copy > p:not(.locker-gift) { grid-column: 1 / -1; }
  #ifc-renewal-gallery .locker-copy > p { margin-top: 0; }
  #ifc-renewal-gallery .locker-gift { grid-column: 1; grid-row: 3; padding: 12px; }
  #ifc-renewal-gallery .member-gift-image { grid-column: 2; grid-row: 3; }
  #ifc-renewal-gallery footer { flex-direction: column; align-items: flex-start; gap: var(--space-label); }
  #ifc-renewal-gallery .header-subtitle { display: none; }
  #ifc-renewal-gallery .intro-story { grid-template-columns: minmax(0, 1fr); }
  #ifc-renewal-gallery .intro-story-link { grid-column: 1; grid-row: auto; margin-top: calc(var(--space-link) - var(--space-copy)); }
  #ifc-renewal-gallery .desktop-break { display: none; }
  #ifc-renewal-gallery nav { width: 100%; justify-content: space-between; gap: 10px; }
  #ifc-renewal-gallery .hero { min-height: 500px; }
  #ifc-renewal-gallery .hero > img { object-position: 58% center; }
  #ifc-renewal-gallery :is(.gallery,.rows) { grid-template-columns: minmax(0,1fr); }
  #ifc-renewal-gallery .gallery { --gallery-divider-space: 28px; --gallery-text-gap: 8px; row-gap: var(--gallery-divider-space); }
  #ifc-renewal-gallery .gallery figure { min-width: 0; }
  #ifc-renewal-gallery .gallery figure + figure { border-top: 1px solid var(--line); padding-top: var(--gallery-divider-space); }
  #ifc-renewal-gallery .gallery figcaption { display: flex; flex-direction: column; align-items: flex-start; gap: var(--gallery-text-gap); padding-top: var(--space-label); }
  #ifc-renewal-gallery .gallery figcaption :is(h3,p) { margin-top: 0; word-break: keep-all; overflow-wrap: break-word; }
  #ifc-renewal-gallery :is(.member-strip,.section-head) { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
