/* Homepage composition only; brand, typography and buttons use shared styles. */
.home-editorial{padding-top:64px}.album-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;min-height:690px;padding-bottom:70px}.album-copy{min-width:0}.album-copy h1{font-size:clamp(40px,4.5vw,64px);line-height:1.08;margin:0 0 28px;max-width:620px}.album-copy h2{font-size:clamp(32px,3.5vw,46px);line-height:1.15;margin:0 0 26px}.album-copy p{line-height:1.8;margin:0 0 22px}.album-copy .hero-intro{font-size:18px;line-height:1.7}.album-copy .hero-buttons{margin:28px 0 0}.album-copy .hero-free{font-size:12px;margin:14px 0 0}.album-collage{position:relative;height:650px;min-width:0}.album-thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;color:var(--blue)}.album-thread path{stroke:currentColor;stroke-width:1.3}.album-thread circle{fill:currentColor}.album-print{margin:0;padding:12px;background:#fff;box-shadow:0 7px 22px #252b2e16;position:relative}.album-crop{aspect-ratio:3/4;overflow:hidden;position:relative;background:#eee9dd}.album-crop img{position:absolute;top:0;left:0;width:200%;max-width:none;height:100%;object-fit:fill;display:block}.album-crop--right img{left:-100%}.album-print--archive{position:absolute;left:5%;top:1%;width:53%;transform:rotate(-7deg)}.album-print--cousins{position:absolute;right:0;top:30%;width:58%;transform:rotate(7deg)}.album-print--baby{position:absolute;left:7%;bottom:1%;width:34%;transform:rotate(-4deg)}.album-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding:80px 0;border-top:1px solid var(--line)}.album-print--gathering{width:85%;margin:auto;transform:rotate(-3deg)}.album-print--gathering .album-crop{aspect-ratio:3/4}.album-generations{height:550px;position:relative}.album-print--ancestor{position:absolute;top:0;left:6%;width:46%;transform:rotate(-6deg)}.album-print--young{position:absolute;bottom:0;right:4%;width:51%;transform:rotate(5deg)}.album-start{text-align:center;max-width:760px;margin:25px auto 0;padding:60px 0 45px;border-top:1px solid var(--line)}.album-start h2{font-size:clamp(32px,3.5vw,46px);line-height:1.15;margin:0 0 24px}.album-start p{line-height:1.8;max-width:610px;margin:0 auto 28px}.album-signature{text-align:center;padding:20px 0 80px}.album-signature p{color:var(--blue);line-height:1.7;margin:0 0 20px}.album-signature .brand-lockup{justify-content:center}.album-signature .link-logo{width:90px;height:38px}.album-signature .brand-name{display:none}
@media(max-width:1000px){.album-hero{gap:30px}.album-collage{height:530px}.album-section{gap:44px}.album-generations{height:440px}}
@media(max-width:760px){.home-editorial{padding-top:40px}.album-hero,.album-section{grid-template-columns:1fr;gap:36px;min-height:0}.album-hero{padding-bottom:42px}.album-copy h1{font-size:40px}.album-copy .hero-intro{font-size:17px}.album-collage{height:auto;aspect-ratio:0.9;max-width:520px;width:100%;margin:auto}.album-print{padding:8px}.album-section{padding:44px 0}.album-section--photos .album-copy{grid-row:1}.album-print--gathering{width:87%;max-width:400px}.album-generations{height:auto;aspect-ratio:1;max-width:480px;width:100%;margin:auto}.album-start{padding-top:44px}.album-signature{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){.home-editorial *{scroll-behavior:auto}}

/* Fictional photographs stay independent so each print responds gently to a pointer or focus. */
.memory-pile{position:relative;isolation:isolate;width:100%;aspect-ratio:1.05;max-width:620px;margin:auto}
.memory-print{--x:5%;--y:5%;--turn:-7deg;position:absolute;left:var(--x);top:var(--y);width:53%;padding:8px 8px 22px;border:0;border-radius:3px;background:#fff;box-shadow:0 4px 9px #252b2e12,0 18px 32px #252b2e20;transform:rotate(var(--turn));transition:transform .7s cubic-bezier(.2,.75,.25,1),box-shadow .7s;cursor:pointer;transform-origin:center}
.memory-print img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:1px}
.memory-print--1{--x:1%;--y:3%;--turn:-12deg}.memory-print--2{--x:39%;--y:1%;--turn:10deg}.memory-print--3{--x:17%;--y:20%;--turn:-5deg}.memory-print--4{--x:45%;--y:23%;--turn:12deg}.memory-print--5{--x:2%;--y:37%;--turn:-10deg}.memory-print--6{--x:38%;--y:49%;--turn:9deg}.memory-print--7{--x:10%;--y:55%;--turn:-5deg}.memory-print--8{--x:43%;--y:9%;--turn:5deg}.memory-print--9{--x:0%;--y:17%;--turn:-14deg}.memory-print--10{--x:24%;--y:32%;--turn:4deg}
.memory-print[aria-pressed=true]{z-index:12;transform:translateY(-10px) rotate(0deg) scale(1.035);box-shadow:0 8px 16px #252b2e15,0 26px 48px #252b2e30}
.family-story{position:relative;width:100%;max-width:640px;aspect-ratio:1.16;margin:auto;isolation:isolate}
.family-story-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.family-story-lines path{stroke:#bbc7d5;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s}
.family-story-lines .family-story-union{stroke-dasharray:4 5}
.family-story-lines path.is-active{stroke:#213e72;stroke-dasharray:360;animation:story-route .9s ease-out both}
.family-story-person{position:absolute;display:flex;align-items:center;gap:10px;width:28%;min-height:16%;padding:12px;border:1px solid transparent;border-radius:16px;text-align:left;color:#213e72;background:#dce7f5;cursor:pointer;transition:background .45s,color .45s,box-shadow .45s,transform .45s}
.family-story-person--female{background:#f1d7e4;color:#78405c}.family-story-person--jeanne{left:20%;top:5%}.family-story-person--louis{left:62%;top:5%}.family-story-person--anne{left:24%;top:38%}.family-story-person--marc{left:62%;top:38%}.family-story-person--camille{left:4%;top:73%;width:24%}.family-story-person--lucas{left:39%;top:73%;width:24%}.family-story-person--lea{left:74%;top:73%;width:24%}
.family-story-avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#ffffffc9;font-size:15px}
.family-story-person strong{display:block;font-size:16px;font-weight:600}.family-story-person small{display:block;margin-top:3px;font-size:12px;color:inherit}
.family-story-person[aria-pressed=true]{color:#fff;background:#213e72;box-shadow:0 8px 24px #213e721b;transform:translateY(-3px)}.family-story-person--female[aria-pressed=true]{background:#914568}.family-story-person[aria-pressed=true] .family-story-avatar{color:#213e72;background:#fff}
@keyframes story-route{from{stroke-dashoffset:360}to{stroke-dashoffset:0}}
@media(max-width:1100px){.family-story-person{padding:9px;gap:7px}.family-story-avatar{width:25px;height:25px;font-size:12px}.family-story-person strong{font-size:13px}.family-story-person small{font-size:11px}}
@media(max-width:760px){.memory-pile{max-width:520px;margin-block:15px 28px}.family-story{max-width:550px}.memory-print{padding:6px 6px 17px}.family-story-person{border-radius:12px}.family-story-person strong{font-size:12px}.family-story-avatar{width:23px;height:23px}.family-story-person{gap:5px;padding:7px}.album-section--people .family-story{margin-block:8px 20px}}
@media(prefers-reduced-motion:reduce){.memory-print,.family-story-person,.family-story-lines path{transition:none;animation:none}.memory-print[aria-pressed=true]{transform:rotate(0deg)}.family-story-person[aria-pressed=true]{transform:none}}
/* These are photo prints and diagram nodes, not pill-shaped call-to-action buttons. */
.public-site.public-marketing .memory-print{border-radius:3px!important}
.public-site.public-marketing .family-story-person{border-radius:16px!important}
.public-site .memory-print,.public-site .family-story-person{margin:0!important}
.public-site .family-story-person[aria-pressed=true]{transform:none}
.public-site .memory-print{overflow:hidden}
