/* Actual photographs carry the welcome, with a quiet champagne frame. */
.photo-frame{
  position:relative;
  min-width:0;
  margin:0;
  padding:10px;
  border:1px solid #bca47b;
  border-radius:19px;
  background:#fcf8f0;
  box-shadow:0 10px 30px #453b2c08;
}
.photo-frame:after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid #dacabb;
  border-radius:14px;
  pointer-events:none;
}
.photo-window{overflow:hidden;border-radius:10px;background:#ece5d8;line-height:0}
.photo-frame img{display:block;width:100%;height:auto;transform:none;filter:none;object-fit:cover}
/* Light, reversible finishing keeps faces, signs and ritual details in the source photograph. */
.photo-frame img[data-photo]{
  filter:brightness(var(--photo-light,1)) contrast(var(--photo-contrast,1)) saturate(var(--photo-color,1));
  image-rendering:auto;
}
.photo-frame img[data-photo="consultation-welcome"]{--photo-light:1.035;--photo-contrast:1.01;--photo-color:.98}
.photo-frame img[data-photo="shrine-front"]{--photo-light:1.08;--photo-contrast:1.018;--photo-color:.97}
.photo-frame img[data-photo="saenam-ceremony"]{--photo-light:1.045;--photo-contrast:1.015}
.photo-frame img[data-photo="cheon-do-ceremony"]{--photo-light:1.03;--photo-contrast:1.018;--photo-color:.98}
.photo-frame img[data-photo="building-entry"]{--photo-light:1.11;--photo-contrast:1.025;--photo-color:.98}
.photo-frame img[data-photo="parking-entry"]{--photo-light:1.06;--photo-contrast:1.018;--photo-color:.96}
.photo-frame img[data-photo="danha-entry"]{--photo-light:1.075;--photo-contrast:1.018;--photo-color:.96}
.photo-frame img[data-photo="ritual-flags"]{--photo-light:1.07;--photo-contrast:1.015;--photo-color:.985}
.photo-frame img[data-photo="ritual-blue-retouched"]{--photo-light:1.02;--photo-contrast:1.01;--photo-color:.98}
.photo-frame figcaption{position:relative;margin:0;padding:15px 6px 7px;text-align:center;color:#70634f;font-size:.875rem;line-height:1.8;letter-spacing:.015em;overflow-wrap:anywhere}
#about{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"heading" "photo" "story";
  gap:30px;
  padding:90px max(32px,calc((100vw - 1160px)/2));
  text-align:center;
  align-items:start;
}
#about .intro-heading{grid-area:heading;position:relative;z-index:1;max-width:720px;min-width:0;margin:0 auto}
#about .intro-heading h2{margin:20px 0 0;font-size:clamp(1.8125rem,3.1vw,2.5rem);line-height:1.65}
#about .intro-content{grid-area:story;width:100%;max-width:680px;margin:0 auto;min-width:0}
#about .intro-visual{
  grid-area:photo;
  display:block;
  width:100%;
  max-width:700px;
  max-height:none;
  height:auto;
  aspect-ratio:auto;
  margin:0 auto;
  align-self:start;
  justify-self:center;
}
#about .intro-visual img{height:auto;aspect-ratio:auto;object-position:center;transform:none;transform-origin:center}
#about .story{text-align:left;font-size:1.0625rem;line-height:2.05;max-width:none;color:#5c5348}
#about .story p{margin:0}
#about .story p+p{margin-top:24px}
#about .story h3{margin:30px 0 12px;font-size:1.5rem;text-align:center}
#about .signature{margin:34px 0 0;font-size:1.0625rem;justify-content:center;text-align:center}
.photo-story{padding:92px max(32px,calc((100vw - 980px)/2));background:#f5f0e6;text-align:center;border-bottom:1px solid #cdbfa755}
.photo-story-heading{margin:0 auto 36px;max-width:620px}
.photo-story .section-label{color:#7d694c;font-size:.875rem;line-height:1.8;letter-spacing:.09em}
.photo-story .section-label:after{content:"";width:32px;height:1px;background:#b2a080}
.photo-story h2{margin:18px 0 18px;color:#343d32;font-size:clamp(1.875rem,3.2vw,2.625rem);line-height:1.6;letter-spacing:-.035em}
.photo-story-heading p{margin:0;color:#625e50;font-size:1rem;line-height:1.9}
.shrine-visual{max-width:820px;margin:0 auto}
.shrine-visual img{aspect-ratio:4/3;object-fit:contain}
.tradition-heading{margin:64px auto 28px}
.tradition-heading h3{color:#4b4938;font-size:1.75rem;margin:17px 0 0;line-height:1.7;letter-spacing:-.025em}
.tradition-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:820px;margin:0 auto;align-items:start}
.tradition-photo img{aspect-ratio:4/3;object-fit:contain;background:#ece5d8}
.ritual-features{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:center;max-width:820px;margin:28px auto 0}
.ritual-portrait img{aspect-ratio:3/4;object-fit:contain}
.ritual-wide img{aspect-ratio:4/3;object-fit:contain}
#visit .arrival-photos{margin-top:48px;padding-top:40px;border-top:1px solid #d5c6ad;min-width:0;text-align:center}
#visit .arrival-photos h3{margin:0 0 28px;color:#343d32;font-size:1.75rem;line-height:1.6;letter-spacing:-.03em}
.arrival-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:center}
.arrival-photo-grid .photo-frame{padding:8px;border-radius:15px;box-shadow:none}
.arrival-photo-grid .photo-frame:after{inset:4px;border-radius:11px}
.arrival-photo-grid .photo-window{border-radius:8px}
.arrival-photo-grid img{aspect-ratio:4/3;object-fit:cover}
.arrival-photo-grid figcaption{padding:12px 4px 6px;font-size:.875rem;line-height:1.8;color:#5e5748}
@media(min-width:1100px){
  #about{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"heading photo" "story photo";column-gap:64px;row-gap:32px;padding-top:100px;padding-bottom:100px}
  #about .intro-heading{margin:0;width:100%;text-align:left}
  #about .intro-heading .section-label:after{display:none}
  #about .intro-content{max-width:none;margin:0}
  #about .intro-visual{position:sticky;top:32px;margin-top:8px}
}
@media(max-width:700px){
  #about{padding:72px 28px;gap:27px}
  #about .intro-heading h2{font-size:1.8125rem;letter-spacing:-.04em}
  #about .story{font-size:1rem;line-height:2.05}
  #about .intro-visual{max-width:none}
  .photo-frame{padding:8px;border-radius:16px}
  .photo-frame:after{inset:4px;border-radius:12px}
  .photo-window{border-radius:8px}
  .photo-frame figcaption{padding:13px 4px 6px;font-size:.875rem}
  .photo-story{padding:70px 28px}
  .photo-story-heading{margin-bottom:28px}
  .photo-story h2{font-size:1.8125rem}
  .photo-story-heading p{font-size:1rem}
  .tradition-heading{margin-top:48px;margin-bottom:24px}
  .tradition-heading h3{font-size:1.5rem}
  .tradition-photos{grid-template-columns:minmax(0,1fr);gap:22px}
  .ritual-features{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:22px}
  #visit .arrival-photos{margin-top:34px;padding-top:32px}
  #visit .arrival-photos h3{font-size:1.5rem;margin-bottom:23px}
  .arrival-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .arrival-photo-grid .arrival-door{grid-column:1/-1}
  .arrival-photo-grid .arrival-door img{aspect-ratio:3/2;object-fit:contain}
}
@media(max-width:360px){#about,.photo-story{padding-left:24px;padding-right:24px}.arrival-photo-grid{grid-template-columns:minmax(0,1fr)}.arrival-photo-grid .arrival-door{grid-column:auto}}
