/* Locked portrait-page system: restrained typography, real photographs and drawn arrows. */
.drawn-arrow{display:inline-block;width:23px;height:23px;vertical-align:middle;flex:none;color:inherit}
.text-link .drawn-arrow,.header-inquire .drawn-arrow{width:22px;height:22px}
.gallery-enlarge .drawn-arrow{width:17px;height:17px;margin-left:6px;vertical-align:-3px}
.viewer-controls .drawn-arrow{width:23px;height:23px}
.session-menu-toggle{display:none}
.session-proof{padding-top:50px;padding-bottom:65px;text-align:center}
.session-proof .early-testimonial{margin:0 auto;border:0;padding:0}
.session-proof .text-link{font-size:15px}
.session-page .wardrobe-story{padding-top:75px}
.session-page:has(.session-proof) .wardrobe-story{padding-top:0}
.concise-investment{grid-template-columns:1fr 1fr;gap:8vw}
.concise-investment h2{margin:20px 0 0}
.typical-investment{display:block;font-size:20px;line-height:1.4;margin-bottom:23px}
.session-artwork-note{display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:center;background:var(--lavender-pale)}
.session-artwork-note h2{font-size:clamp(38px,4vw,55px);margin-top:20px}
.home-page .experience-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.maternity-gallery .gallery-natural-feature .gallery-photo{aspect-ratio:auto}
.maternity-gallery .gallery-natural-feature .gallery-photo img{height:auto;object-fit:contain}
.menu-dialog nav a{font-size:clamp(24px,3vw,36px)}
@media(max-width:700px){
 .session-menu-toggle{display:flex}
 .maternity-page .header .wordmark .brand-logo{width:120px}
 .maternity-page main{padding-top:88px}
 .maternity-page .session-hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:calc(100svh - 88px);min-height:690px;background:var(--ink);color:var(--ivory);isolation:isolate;overflow:hidden}
 .maternity-page .session-hero-photo{position:absolute;inset:0;z-index:0;width:100%;height:auto;order:0;background:var(--ink)}
 .maternity-page .session-hero-photo img{width:100%;height:510px;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:50% 8%}
 .maternity-page .session-hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,62,80,0) 170px,rgba(44,62,80,.25) 230px,rgba(44,62,80,.8) 330px,#2c3e50 510px)}
 .maternity-page .session-hero-copy{position:relative;z-index:1;order:0;width:100%;padding:26px 24px 28px;background:none}
 .maternity-page .session-hero-copy .breadcrumbs{display:none}
 .maternity-page .session-hero-copy>.eyebrow{font-size:11px;line-height:1.45;color:var(--champagne);letter-spacing:.02em;margin-bottom:15px}
 .maternity-page .session-hero h1{font-size:37px;line-height:1.06;margin:0 0 18px;color:var(--ivory)}
 .maternity-page .session-hero h1 em{font-size:.82em;color:#d1c2e1;line-height:1.15}
 .maternity-page .session-hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.35;max-width:430px}
 .maternity-page .session-hero .button{background:var(--ivory);border-color:var(--ivory);color:var(--ink);font-size:16px;line-height:1.3;margin:22px 0 15px;padding:16px 20px;gap:18px;max-width:100%;min-height:48px}
 .maternity-page .session-hero small{font-size:16px;line-height:1.4;color:var(--ivory)}
 .family-page .session-hero-photo img{height:480px;object-position:50% 0%}
 .family-page .session-hero-photo:after{background:linear-gradient(180deg,rgba(44,62,80,0) 300px,rgba(44,62,80,.12) 330px,rgba(44,62,80,.85) 395px,#2c3e50 510px)}
 .birthday-page .session-hero-photo img{object-position:50% 18%}
 .maternity-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:stretch}
 .maternity-gallery .gallery-feature{grid-column:1/-1}
 .maternity-gallery .gallery-portrait{grid-column:span 2}
 .maternity-gallery .gallery-landscape{grid-column:span 3}
 .maternity-gallery .gallery-portrait .gallery-photo{aspect-ratio:2/3}
 .maternity-gallery .gallery-landscape .gallery-photo{aspect-ratio:4/3}
 .maternity-gallery .gallery-feature .gallery-photo{aspect-ratio:3/2}
 .maternity-gallery .gallery-photo img{height:100%;width:100%;object-fit:cover}
 .maternity-gallery .gallery-natural-feature .gallery-photo{aspect-ratio:auto}
 .maternity-gallery .gallery-natural-feature .gallery-photo img{height:auto;object-fit:contain}
 .gallery-enlarge{font-size:0;padding:7px;min-height:24px}
 .gallery-enlarge .drawn-arrow{width:14px;height:14px;margin:0;vertical-align:middle}
 .maternity-portfolio .portfolio-heading{margin-bottom:30px}
 .maternity-portfolio .portfolio-heading h2{font-size:36px}
 .session-proof{padding:35px 24px 45px}
 .session-proof .early-testimonial blockquote{font-size:27px}
 .session-page .wardrobe-story{padding-top:55px}
 .session-page:has(.session-proof) .wardrobe-story{padding-top:0}
 .concise-investment{display:block}
 .concise-investment strong{margin-top:25px}
 .session-artwork-note{display:block}
 .session-artwork-note h2{font-size:37px;margin:20px 0 28px}
 .home-page .experience-steps{display:block}
 .menu-dialog nav{gap:18px;margin:40px 0 25px}
 .menu-dialog nav a{font-size:25px;min-height:36px}
}
@media(max-width:360px){
 .maternity-page .session-hero{min-height:690px}
 .maternity-page .session-hero-copy{padding:22px 20px 26px}
 .maternity-page .session-hero h1{font-size:33px;margin-bottom:15px}
 .maternity-page .session-hero-copy>p:not(.eyebrow){font-size:17px}
 .maternity-page .session-hero-copy>.eyebrow{font-size:10px;letter-spacing:0}
 .maternity-page .session-hero .button{font-size:15px;padding:15px 17px}
 .maternity-gallery{gap:8px}
 .maternity-portfolio .portfolio-heading h2{font-size:33px}
}

/* October 18: six equally weighted sessions, with the photograph and copy kept together. */
.service-collection{overflow:hidden}
.collection-browse{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 22px}
.collection-browse>p{font-size:18px;line-height:1.35}
.portrait-controls{display:flex;gap:16px;align-items:center;flex:none}
.portrait-controls button{width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center}
.portrait-controls button:disabled{opacity:.35;cursor:default}
.portrait-controls button:hover:not(:disabled){background:var(--ink);color:var(--ivory)}
#rail-status{font-size:17px;min-width:45px;text-align:center}
.portrait-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;scrollbar-color:var(--lavender) transparent;scrollbar-width:thin;padding-bottom:22px;overscroll-behavior-x:contain}
.portrait-slide{flex:0 0 43%;min-width:0;scroll-snap-align:start;background:var(--ivory)}
.portrait-slide-image{display:block;aspect-ratio:1;position:relative;overflow:hidden;background:var(--ink);color:var(--ivory)}
.portrait-slide-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(18,30,43,.85))}
.portrait-slide-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.portrait-slide-image h3{position:absolute;bottom:23px;left:26px;right:20px;z-index:1;margin:0;font-size:clamp(30px,3vw,43px);color:var(--ivory);line-height:1.05;text-transform:none;letter-spacing:0}
.portrait-slide-copy{padding:25px 26px 28px}
.portrait-slide-copy p{font-size:20px;line-height:1.4;min-height:85px}
.portrait-slide-copy .text-link{margin-top:17px;font-size:17px}
.home-page .investment-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.investment-options h3 a{display:flex;justify-content:space-between;gap:10px;align-items:center}
footer .footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;max-width:500px}
footer .footer-links a{min-height:36px;display:flex;align-items:center}
footer .footer-links a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.portrait-rail:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.maternity-gallery .gallery-feature .gallery-photo{aspect-ratio:4/3}
.maternity-gallery .gallery-photo img{width:100%;height:100%;object-fit:cover}
/* Small focal corrections: keep the twins and the sitterÃ¢â‚¬â„¢s complete face in frame. */
.newborn-page .gallery-feature:first-child img{object-position:50% 35%}
.milestone-page .gallery-feature:first-child img{object-position:50% 45%}
@media(max-width:700px){
 .collection-intro{margin-bottom:28px}
 .collection-browse{align-items:flex-end;gap:12px}
 .collection-browse>p{font-size:17px;max-width:175px}
 .portrait-controls{gap:8px}.portrait-controls button{width:44px;height:44px}
 #rail-status{font-size:15px;min-width:36px}
 .portrait-rail{gap:16px;margin-right:-24px;padding-right:24px}
 .portrait-slide{flex-basis:88%}
 .portrait-slide-image h3{font-size:32px;left:20px;bottom:20px}
 .portrait-slide-copy{padding:21px 20px 25px}.portrait-slide-copy p{font-size:19px;min-height:106px}
 .portrait-slide-copy .text-link{font-size:17px;gap:14px}
 .home-page .investment-options{grid-template-columns:1fr 1fr;gap:24px 20px}
 .investment-options h3{font-size:24px}.investment-options p{font-size:18px}
 .investment-options .drawn-arrow{width:17px;height:17px}
 .maternity-gallery .gallery-feature .gallery-photo{aspect-ratio:3/2}
 footer .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(min-width:701px) and (max-height:760px){
 .maternity-page .session-hero{min-height:0}
 .maternity-page .session-hero-photo img{height:max(500px,calc(100svh - 104px))}
 .maternity-page .session-hero-copy{padding:25px 5vw}
 .maternity-page .session-hero h1{font-size:43px;margin:16px 0}
 .maternity-page .session-hero .breadcrumbs{margin-bottom:18px}
 .maternity-page .session-hero-copy>.eyebrow{font-size:12px}
 .maternity-page .session-hero-copy>p:not(.eyebrow){font-size:20px;line-height:1.35}
 .maternity-page .session-hero .button{margin-top:20px}
}
@media(min-width:701px) and (max-width:1100px){
 .maternity-page .session-nav{display:none}
 .maternity-page .session-menu-toggle{display:flex}
 .maternity-page .header .wordmark{margin-right:auto}
 .session-hero-copy{padding-left:4vw;padding-right:4vw}
 .session-hero .button{font-size:15px;gap:12px}
}

/* New source selections: preserve arms, balloons and the direction of the family embrace. */
.birthday-page .gallery-feature:first-child img{object-position:50% 45%}
.birthday-page .maternity-gallery>figure:nth-child(3) img{object-position:50% 40%}
.birthday-page .maternity-gallery>figure:nth-child(4) img{object-position:50% 42%}
.family-page .maternity-gallery>.gallery-feature:last-child img{object-position:60% 45%}
.family-page .wardrobe-story>img{object-position:50% 43%}

/* Final family addition: keep all four faces inside the portrait card. */
.family-page .maternity-gallery>figure:nth-child(2) img{object-position:50% 46%}
.family-page .maternity-gallery>figure:nth-child(11) img{object-position:52% 40%}

/* Newborn originals: preserve the small hands and family connection within matched rows. */
.newborn-page .maternity-gallery>figure:nth-child(2) img{object-position:50% 45%}
.newborn-page .maternity-gallery>figure:nth-child(6) img{object-position:50% 50%}
.newborn-page .maternity-gallery>figure:nth-child(8) img{object-position:50% 45%}
.newborn-page .maternity-gallery>figure:nth-child(11) img{object-position:50% 48%}

/* Parents-and-baby opening: keep all three faces together in wider hero crops. */
@media(min-width:701px){.home-page .hero-photo img{object-position:50% 25%}}

/* Cake smash originals: preserve expressive hands, feet and cake within matched rows. */
.cake-smash-page .maternity-gallery>figure:nth-child(1) img{object-position:50% 50%}
.cake-smash-page .maternity-gallery>figure:nth-child(3) img{object-position:50% 50%}
.cake-smash-page .maternity-gallery>figure:nth-child(9) img{object-position:45% 50%}
.cake-smash-page .maternity-gallery>figure:nth-child(10) img{object-position:50% 50%}
.cake-smash-page .maternity-gallery>figure:nth-child(11) img{object-position:50% 50%}

/* Investment belongs in readable FAQs after the experience and portfolio. */
.home-questions details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-top:30px}
.home-questions summary{font-family:var(--serif);font-size:27px;line-height:1.25;cursor:pointer;padding-right:22px}
.home-questions details p{font-size:20px;line-height:1.5;margin:22px 0 0}
.home-questions details a,.maternity-faq details p a{text-decoration:underline;text-underline-offset:4px}
#investment,.anchor-alias{scroll-margin-top:125px}
.anchor-alias{display:block;height:0}
.maternity-faq #investment p,.home-questions #investment p{font-weight:400}
@media(max-width:700px){
 .header .desktop-nav a,.session-nav a{font-size:12px}
 .home-questions summary{font-size:24px}
 .home-questions details p{font-size:19px}
 #investment,.anchor-alias{scroll-margin-top:105px}
}

/* Selected landscape family portrait: keep the three faces in the central mobile crop. */
.home-page .hero-photo img{object-position:50% 50%}

/* Keep the tightly grouped family faces centered in the square session card. */
.home-page #session-family .portrait-slide-image img{object-position:50% 50%}

@media(max-width:700px){.home-page .hero-photo:after{background:linear-gradient(180deg,rgba(44,62,80,0) 220px,rgba(44,62,80,.25) 280px,rgba(44,62,80,.8) 350px,#2c3e50 520px)}}

/* Newborn card: protect the full head and hand within the square crop. */
.home-page #session-newborn .portrait-slide-image img{object-position:50% 28%}

/* Instagram in the opening navigation, including phone screens. */
.header .header-instagram{display:flex;align-items:center;gap:7px;flex:none;min-width:44px;min-height:44px;justify-content:center}.header-instagram svg{flex:none}.header .header-inquire{margin-left:0;padding-left:18px}.additional-portrait-collection{margin-top:55px}.additional-portrait-collection h3{font-size:clamp(30px,3vw,43px);font-weight:400;margin:0 0 28px}.portfolio-expanded .gallery-landscape .gallery-photo{aspect-ratio:3/2}.portfolio-expanded .gallery-feature .gallery-photo{aspect-ratio:auto}.portfolio-expanded .gallery-feature img{height:auto;object-fit:contain}
@media(max-width:1200px){.header .header-instagram span{display:none}}
@media(max-width:700px){.header{gap:7px}.header .header-instagram{margin-left:auto;min-width:40px}.header .header-inquire{padding-left:0;margin-left:0;font-size:10px;gap:5px}.additional-portrait-collection{margin-top:32px}.additional-portrait-collection h3{font-size:29px}.portfolio-expanded .gallery-photo{min-height:0}}

/* The larger newborn family frame needs its original 5:4 height to preserve hair. */
.newborn-page .portfolio-expanded>.gallery-landscape:nth-last-child(-n+2) .gallery-photo{aspect-ratio:5/4}
