/* Local portrait and personal collage trial. */
.intro-photo-band { background: #d8dedc; isolation:isolate; }
.intro-photo-band::before {
 content:""; position:absolute; inset:-60px; z-index:-2;
 background:url('assets/portrait-20261112/portrait-color.jpg') center 24% / cover no-repeat;
 filter:blur(38px); transform:scale(1.08);
}
.intro-photo-band::after {
 content:""; position:absolute; inset:0; z-index:-1;
 background:linear-gradient(90deg,rgba(237,239,232,.95) 0%,rgba(237,239,232,.88) 35%,rgba(237,239,232,.42) 58%,transparent 78%);
}
.intro-original-image {right:0;}
.intro-original-image img {
 filter:none;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 24%);
 mask-image:linear-gradient(90deg,transparent,#000 24%);
}
.about-photo-collage {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%;align-self:start;overflow:hidden;}
.about-photo-collage figure {margin:0;min-width:0;aspect-ratio:3/4;overflow:hidden;}
.about-photo-collage img {display:block;width:100%;height:100%;object-fit:cover;}
.about-photo-collage figure:first-child img {object-position:center 65%;}
@media(max-width:700px) {
 .intro-original-image img {object-position:center top;-webkit-mask-image:none;mask-image:none;}
 .intro-photo-band::after {background:rgba(237,239,232,.88);}
 .intro-photo-content {background:rgba(237,239,232,.35);}
}
@media(max-width:620px) {.about-photo-collage {margin-top:32px;}}
.about-photo-collage figure {aspect-ratio:1/1;}
.about-photo-collage figure:nth-child(2) img {object-position:center 30%;}
.about-photo-collage figure:nth-child(3) img {object-position:45% 50%;}
.about-photo-collage figure:nth-child(4) img {object-position:center 35%;}
/* Remove the rejected blur treatment while the photographic extension is prepared. */
.intro-photo-band {background:#eeeae3;}
.intro-photo-band::before,.intro-photo-band::after {display:none;}
.intro-original-image img {-webkit-mask-image:none;mask-image:none;}
.about-photo-collage {align-self:stretch;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr .85fr;min-height:0;}
.about-photo-collage figure {aspect-ratio:auto;min-height:0;position:relative;}
.about-photo-collage img {position:absolute;inset:0;}
.about-photo-collage figure:nth-child(1) {grid-column:1;grid-row:1/3;}
.about-photo-collage figure:nth-child(2) {grid-column:2;grid-row:1;}
.about-photo-collage figure:nth-child(3) {grid-column:1/3;grid-row:3;}
.about-photo-collage figure:nth-child(4) {grid-column:2;grid-row:2;}
.about-photo-collage figure:nth-child(1) img {object-position:50% 60%;}
.about-photo-collage figure:nth-child(2) img {object-position:45% 27%;}
.about-photo-collage figure:nth-child(3) img {object-position:50% 48%;}
.about-photo-collage figure:nth-child(4) img {object-position:45% 32%;}
@media(max-width:620px) {.about-photo-collage {height:690px;}}
@media(min-width:701px) {
 .intro-photo-band {background:url('assets/portrait-20261112/portrait-color.jpg') center / cover no-repeat;min-height:45.4vw;}
 .intro-original-image {display:none;}
}
.about-photo-collage figure:nth-child(1) img {transform:scale(1.12);transform-origin:50% 65%;}
.about-photo-collage figure:nth-child(2) img {transform:scale(1.3);transform-origin:45% 25%;}
.about-photo-collage figure:nth-child(4) img {transform:scale(1.16);transform-origin:45% 30%;}
/* Swap the large family portrait and the smaller studio photograph. */
.about-photo-collage figure:nth-child(1) {grid-column:2;grid-row:1;}
.about-photo-collage figure:nth-child(2) {grid-column:1;grid-row:1/3;}
.about-photo-collage figure:nth-child(1) img {object-position:50% 65%;transform:scale(1.12);transform-origin:50% 65%;}
.about-photo-collage figure:nth-child(2) img {object-position:42% 35%;transform:none;}

/* Original portrait preserved; only its background extension is softened. */
@media(min-width:701px) {
 .intro-photo-band {background:#e5e4df;min-height:45.4vw;}
 .intro-photo-band::before {display:block;inset:-24px; background:url('assets/portrait-20261112/portrait-color.jpg') left 25% / cover no-repeat;filter:blur(14px);transform:scale(1.03);}
 .intro-photo-band::after {display:block;background:linear-gradient(90deg,rgba(244,242,236,.90),rgba(244,242,236,.82) 35%,rgba(244,242,236,.25) 57%,transparent 70%);}
 .intro-original-image {display:block;right:0;margin:0;}
 .intro-original-image img {filter:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%);mask-image:linear-gradient(90deg,transparent 0%,#000 12%);}
}
@media(min-width:701px) {
 .intro-photo-band::before {background-size:420% auto;background-position:left 46%;filter:blur(14px);}
 .intro-photo-band::after {background:linear-gradient(90deg,rgba(244,242,236,.78),rgba(244,242,236,.62) 38%,rgba(244,242,236,.18) 62%,transparent 74%);}
}
/* Bring the original portrait forward with a tighter, more deliberate transition. */
@media(min-width:701px) {
 .intro-original-image {width:53%;height:100%;right:0;top:0;margin:0;}
 .intro-original-image img {width:100%;height:100%;object-fit:cover;object-position:50% 24%;max-width:none;filter:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%);mask-image:linear-gradient(90deg,transparent 0%,#000 7%);}
 .intro-photo-band::after {background:linear-gradient(90deg,rgba(244,242,236,.88),rgba(244,242,236,.78) 38%,rgba(244,242,236,.35) 48%,transparent 57%);}
}
@media(min-width:701px) {
 .intro-original-image img {-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 3%,rgba(0,0,0,.32) 7%,rgba(0,0,0,.68) 12%,rgba(0,0,0,.94) 18%,#000 23%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 3%,rgba(0,0,0,.32) 7%,rgba(0,0,0,.68) 12%,rgba(0,0,0,.94) 18%,#000 23%);}
}
@media(min-width:701px) {.intro-original-image img {object-position:50% 0%;}}
/* Preserve the crossed-arm pose in the larger portrait. */
@media(min-width:701px) {
 .intro-photo-band {min-height:54vw;}
 .intro-original-image {width:48%;}
 .intro-original-image img {object-position:50% 0%;}
}
/* Mobile: one clean page surface, without an inset tinted text panel. */
@media(max-width:700px) {
 .intro-photo-band {background:transparent;min-height:0;}
 .intro-photo-band::before,.intro-photo-band::after {display:none;}
 .intro-original-image {margin:0;}
 .intro-original-image img {display:block;width:100%;height:auto;max-width:100%;object-fit:contain;filter:none;-webkit-mask-image:none;mask-image:none;}
 .intro-photo-content {background:transparent;padding-block:30px 38px;}
}
/* A little more of the original portrait below the crossed arms. */
@media(min-width:701px) {.intro-photo-band {min-height:58vw;}}
/* Keep the extension close to the original edge instead of enlarging its background across the page. */
@media(min-width:701px) {
 .intro-photo-band {background:#deddd7;}
 .intro-photo-band::before {inset:-18px -18px -18px 0;background-size:calc(48vw + 18px) auto;background-position:right top;filter:blur(18px);transform:none;}
 .intro-photo-band::after {background:linear-gradient(90deg,#eeede7 0%,#e7e6df 32%,rgba(222,221,215,.95) 44%,rgba(222,221,215,.55) 53%,rgba(222,221,215,0) 65%);}
 .intro-original-image img {-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.04) 3%,rgba(0,0,0,.18) 7%,rgba(0,0,0,.48) 12%,rgba(0,0,0,.82) 17%,#000 23%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.04) 3%,rgba(0,0,0,.18) 7%,rgba(0,0,0,.48) 12%,rgba(0,0,0,.82) 17%,#000 23%);}
}
/* Extend the photo behind its edge so the fade has more room. */
@media(min-width:701px) {
 .intro-photo-band::before {
  inset:0 -2vw 0 0;
  background-size:58vw auto;
  background-position:right top;
  filter:blur(16px);
  -webkit-mask-image:linear-gradient(90deg,transparent 28%,rgba(0,0,0,.1) 35%,rgba(0,0,0,.45) 43%,#000 57%);
  mask-image:linear-gradient(90deg,transparent 28%,rgba(0,0,0,.1) 35%,rgba(0,0,0,.45) 43%,#000 57%);
 }
 .intro-photo-band::after {background:linear-gradient(90deg,#eeede7 0%,rgba(238,237,231,.95) 28%,rgba(231,230,223,.75) 37%,rgba(222,221,215,.35) 47%,transparent 59%);}
}
/* Fade only the background toward the text; keep the person fully opaque. */
@media(min-width:701px) {
 .intro-photo-band::before {
  inset:0 auto 0 0;width:55%;
  background-size:280vw auto;background-position:left 20%;filter:blur(14px);
  -webkit-mask-image:linear-gradient(90deg,transparent 45%,rgba(0,0,0,.12) 60%,rgba(0,0,0,.5) 79%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 45%,rgba(0,0,0,.12) 60%,rgba(0,0,0,.5) 79%,#000 100%);
 }
 .intro-photo-band::after {background:linear-gradient(90deg,#eeede7 0%,rgba(238,237,231,.85) 30%,rgba(231,230,223,.4) 43%,transparent 52%);}
 .intro-original-image img {
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 2%,#000 5%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 2%,#000 5%);
 }
}
/* Separate background-only extension: the original person is never regenerated. */
@media(min-width:701px) {
 .intro-photo-band {background:#eeede7;}
 .intro-photo-band::before {
  inset:0 auto 0 22%;width:33%;
  background-image:url('assets/portrait-20261112/background-left-extension.png');
  background-size:100% 66.3vw;background-position:right top;filter:none;transform:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 15%,rgba(0,0,0,.4) 35%,rgba(0,0,0,.8) 65%,#000 90%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 15%,rgba(0,0,0,.4) 35%,rgba(0,0,0,.8) 65%,#000 90%);
 }
 .intro-photo-band::after {display:none;}
}
