:root{--ivory:#fdf8f2;--ink:#2c3e50;--lavender:#b3a1c9;--champagne:#ebd3ae;--muted:#646b70;--line:rgba(44,62,80,.23);--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--serif);font-size:21px;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #8666a4;outline-offset:6px}img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:.98}h1{font-size:clamp(62px,6.8vw,112px);letter-spacing:-.045em}h2{font-size:clamp(48px,5.1vw,82px);letter-spacing:-.035em}h3{font-size:32px;letter-spacing:-.02em}em{font-weight:400}button{border:0;background:none}section{scroll-margin-top:86px}.section-pad{padding:130px 7vw}.eyebrow{font:500 10px/1.7 var(--sans);letter-spacing:.19em;text-transform:uppercase}.text-link{display:inline-flex;align-items:center;gap:44px;border-bottom:1px solid currentColor;padding:12px 0;font:500 11px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;transition:gap .25s}.text-link:hover{gap:55px}.text-link span{font-size:23px;font-weight:400;line-height:1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);color:var(--ivory);padding:22px 28px;font:500 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--ink);transition:background .2s,color .2s}.button:hover{background:var(--ivory);color:var(--ink)}.skip{position:fixed;left:10px;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}
.header{height:100px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;padding:0 4vw;gap:28px;background:rgba(253,248,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.wordmark{display:flex;flex-direction:column;align-items:center;flex-shrink:0;line-height:1}.wordmark>span{font:italic 500 39px/.95 var(--serif);letter-spacing:-.035em}.wordmark small{font:500 8px/1.4 var(--sans);letter-spacing:.33em;margin-top:8px;margin-left:4px}.desktop-nav{display:flex;gap:36px;margin-left:auto;font:400 11px var(--sans)}.desktop-nav a{padding:12px 0}.header-inquire{font:500 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-left:20px;display:flex;align-items:center;gap:20px;border-left:1px solid var(--line);padding-left:36px}.header-inquire span{font-size:22px}.menu-toggle{width:28px;height:32px;padding:8px 0;display:flex;flex-direction:column;justify-content:center;gap:6px}.menu-toggle span{width:25px;height:1px;background:var(--ink)}
.hero{min-height:860px;height:100svh;max-height:1100px;position:relative;padding-top:100px;display:grid;grid-template-columns:48% 52%}.hero-photo{grid-column:2;grid-row:1;height:100%;overflow:hidden}.hero-photo img{object-position:39% 50%}.hero-copy{grid-column:1;grid-row:1;align-self:center;padding:35px 3vw 100px 7vw}.hero-copy .eyebrow{margin-bottom:35px}.hero-description{font-size:20px;line-height:1.5;max-width:330px;margin:34px 0 26px}.scroll-cue{position:absolute;bottom:34px;left:7vw;width:34%;display:flex;justify-content:space-between;align-items:center;font:400 9px var(--sans);letter-spacing:.17em;text-transform:uppercase}.scroll-cue>span:last-child{font-size:25px}.introduction{text-align:center;max-width:1260px;margin:auto;padding-bottom:100px}.introduction h2{font-size:clamp(44px,4.5vw,72px);margin:35px auto}.intro-body{max-width:520px;margin:auto;color:var(--muted)}.chapter-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:54px}.chapter-nav button{font:500 10px var(--sans);letter-spacing:.06em;padding:9px 0;border-bottom:1px solid var(--line)}.chapter-nav button:hover{border-color:var(--ink)}
.chapter{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10vw;padding:55px 9vw 135px}.chapter-photo{height:700px;position:relative}.chapter-photo img{object-position:center 52%}.photo-note{display:block;font:400 9px var(--sans);letter-spacing:.15em;margin-top:18px}.chapter-copy{max-width:390px}.chapter-copy .eyebrow{margin-bottom:28px}.chapter-copy h2{margin-bottom:36px}.chapter-copy p:not(.eyebrow){margin-bottom:20px}.chapter-copy .text-link{margin-top:15px}.newborn{background:var(--ink);color:var(--ivory);gap:6vw;padding:110px 9vw 150px;min-height:930px}.newborn-pair{position:relative;height:640px;margin-right:35px}.main-newborn{width:85%;height:570px;object-position:center 40%;margin-left:auto}.detail-newborn{position:absolute;width:62%;height:240px;bottom:0;left:-5%;border:8px solid var(--ink)}.newborn-pair .photo-note{position:absolute;bottom:-36px;right:0;color:var(--champagne)}.experience .section-heading{text-align:center;max-width:680px;margin:auto}.section-heading h2{margin:28px 0}.section-heading>p:last-child{max-width:410px;margin:auto}.experience-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin:75px auto 100px;max-width:1150px}.experience-steps article{border-top:1px solid var(--line);padding-top:24px}.step-number{font:400 10px var(--sans);letter-spacing:.15em}.experience-steps h3{margin:20px 0}.experience-steps p{font-size:19px;color:var(--muted);max-width:300px}.testimonial{text-align:center;padding-top:50px;border-top:1px solid var(--line)}.quote-mark{font-size:75px;line-height:.5;color:#9b82b3;display:block}.testimonial blockquote{font:italic 400 clamp(32px,3.4vw,52px)/1.1 var(--serif);max-width:800px;margin:20px auto 28px}.testimonial figcaption{font:400 10px/2 var(--sans);letter-spacing:.05em}.testimonial figcaption a{display:block;text-decoration:underline;text-underline-offset:4px;margin-top:7px}
.investment{display:grid;grid-template-columns:43% 57%;background:#f0eae5}.investment-image img{object-position:45% 45%}.investment-copy{padding:95px 10vw 100px 7vw}.investment h2{font-size:clamp(45px,4.3vw,69px);margin:25px 0 40px}.price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0 20px;margin-bottom:25px}.price>span{font:400 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;display:block}.price strong{font:400 100px/1.15 var(--serif);letter-spacing:-.06em}.investment-copy>p:not(.eyebrow){font-size:19px;margin:18px 0}.investment details{font-size:18px;border-bottom:1px solid var(--line);margin:30px 0 20px}.investment summary{display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer;padding:14px 0;list-style:none;font-size:19px}.investment summary::-webkit-details-marker{display:none}.investment summary span{font:300 22px var(--sans)}.investment details[open] summary span{transform:rotate(45deg)}.investment details p{padding-bottom:18px;color:var(--muted)}
.first-birthday{display:grid;grid-template-columns:60% 40%;margin:120px 0 30px;padding:0 7vw;align-items:center}.birthday-image{height:640px}.birthday-image img{object-position:49% center}.birthday-copy{padding:60px 0 60px 5vw}.birthday-copy h2{font-size:clamp(57px,5.2vw,84px);margin:24px 0 30px}.birthday-copy p:not(.eyebrow){max-width:310px}.birthday-copy .text-link{margin-top:24px;font-size:10px;gap:16px}.sessions{padding-right:0;overflow:hidden}.sessions-heading{padding-right:7vw;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.sessions-heading h2{margin-top:20px}.rail-controls{display:flex;align-items:center;gap:12px}.rail-controls>span{font:400 10px var(--sans);margin-right:20px;letter-spacing:.15em}.rail-controls button{width:45px;height:45px;border:1px solid var(--line);border-radius:50%;font-size:22px}.rail-controls button:hover{background:var(--ink);color:var(--ivory)}.rail-controls button:disabled{opacity:.3;cursor:default}.swipe-hint{font:400 9px var(--sans);letter-spacing:.1em;margin:35px 0 17px;display:flex;gap:18px;align-items:center}.swipe-hint span{font-size:22px}.session-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b3a1c9 transparent;padding:0 7vw 30px 0}.session-card{flex:0 0 29%;scroll-snap-align:start;text-align:left;padding:0;min-width:0}.session-card-image{height:390px;overflow:hidden;margin-bottom:22px}.session-card-image img{transition:transform .7s}.session-card:hover img{transform:scale(1.03)}.session-card .eyebrow{font-size:9px;color:var(--muted)}.session-card h3{font-size:38px;margin:7px 0 9px}.session-card p:not(.eyebrow){font-size:18px;line-height:1.4;min-height:50px;max-width:270px}.card-link{font:400 9px var(--sans);display:flex;justify-content:space-between;margin:22px 0 0;padding:12px 0;border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em}
.danielle{display:grid;grid-template-columns:1fr 1fr;gap:30px 10vw;border-top:1px solid var(--line);padding-top:100px;padding-bottom:110px}.danielle>.eyebrow{grid-column:1/-1}.danielle h2{font-size:clamp(48px,4.6vw,73px)}.danielle-note{font-size:20px;max-width:430px}.danielle-note p+p{margin-top:22px}.signature{font:italic 400 47px var(--serif);display:block;margin-top:24px}.family-finale{height:640px;position:relative}.family-finale img{object-position:center 44%}.family-finale:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.5))}.finale-caption{position:absolute;z-index:1;bottom:60px;left:7vw;color:var(--ivory);font-size:clamp(42px,5vw,75px);line-height:1.02;letter-spacing:-.03em}.inquiry{text-align:center;padding-top:110px;padding-bottom:115px}.inquiry h2{margin:25px 0 30px;font-size:clamp(58px,6vw,95px)}.inquiry>p:not(.eyebrow){max-width:530px;margin:auto}.inquiry .button{margin:36px auto 22px}.inquiry small{display:block;font:400 10px var(--sans);color:var(--muted)}footer{background:var(--ink);color:var(--ivory);padding:70px 7vw 30px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;font-size:17px}footer .wordmark{align-items:flex-start}footer .wordmark>span{font-size:47px}footer .wordmark small{font-size:8px}footer p{margin-bottom:8px}footer a:not(.wordmark):hover{text-decoration:underline}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.copyright{grid-column:1/-1;border-top:1px solid rgba(253,248,242,.2);padding-top:24px;margin-top:15px;font:400 9px var(--sans);letter-spacing:.08em}
dialog{color:var(--ink);background:var(--ivory);border:0;padding:0}dialog::backdrop{background:rgba(17,29,40,.6);backdrop-filter:blur(5px)}body:has(dialog[open]){overflow:hidden}.menu-dialog{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:35px 7vw 50px}.menu-top{display:flex;justify-content:space-between;align-items:center}.close-menu,.close-session{font:300 36px/1 var(--sans);width:44px;height:44px}.menu-dialog nav{margin:65px auto 35px;max-width:700px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.menu-dialog nav a{font-size:clamp(34px,4vw,55px);line-height:1.1}.menu-dialog nav a:hover{font-style:italic}.menu-dialog>p{text-align:center;font:400 10px var(--sans);letter-spacing:.1em}.session-dialog{width:min(1000px,94vw);max-height:92svh;overflow:auto}.session-dialog[open]{display:grid;grid-template-columns:44% 56%}.close-session{position:absolute;right:12px;top:10px;z-index:2;background:var(--ivory);border-radius:50%}.session-dialog-image{min-height:650px}.session-dialog-copy{padding:75px 55px 60px}.session-dialog-copy h2{font-size:59px;margin:25px 0}.session-dialog-copy>p:not(.eyebrow){font-size:20px;margin-bottom:22px}.session-dialog-copy>.text-link{margin:2px 0 30px;font-size:9px;gap:14px}.session-dialog-copy>.button{font-size:9px;padding:18px 22px;gap:15px;width:100%}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.js .reveal.is-visible{opacity:1;transform:none}
@media(min-width:1600px){.hero-copy{padding-left:9vw}.hero{grid-template-columns:49% 51%}.hero-description{max-width:370px}.scroll-cue{left:9vw}}
@media(max-width:1000px){.desktop-nav{gap:22px}.chapter{gap:6vw;padding-left:6vw;padding-right:6vw}.chapter-photo{height:570px}.newborn-pair{height:560px;margin-right:0}.main-newborn{height:490px}.detail-newborn{height:200px}.investment-copy{padding:70px 5vw}.first-birthday{grid-template-columns:55% 45%;padding:0 5vw}.birthday-image{height:570px}.session-card{flex-basis:38%}.session-card-image{height:360px}}
@media(max-width:700px){body{font-size:19px;line-height:1.5}html{scroll-padding-top:76px}.section-pad{padding:82px 24px}h1{font-size:64px;letter-spacing:-.04em}h2{font-size:50px;letter-spacing:-.035em}h3{font-size:30px}.header{height:76px;padding:0 20px;justify-content:space-between;gap:12px}.wordmark>span{font-size:31px}.wordmark small{font-size:6px;margin-top:6px;letter-spacing:.31em}.desktop-nav{display:none}.header-inquire{margin-left:0;border-left:none;padding-left:0;font-size:9px;gap:8px}.header-inquire span{font-size:18px}.menu-toggle{width:24px}.menu-toggle span{width:23px}.hero{display:block;min-height:760px;height:calc(100svh - 10px);max-height:1000px;padding:0;color:var(--ivory);background:var(--ink)}.hero-photo{position:absolute;inset:76px 0 0;height:auto}.hero-photo img{object-position:38% 33%}.hero-photo:after{position:absolute;content:'';inset:0;background:linear-gradient(180deg,transparent 24%,rgba(12,25,39,.3) 48%,rgba(12,25,39,.82) 100%)}.hero-copy{position:absolute;bottom:104px;left:0;right:0;padding:0 25px}.hero-copy .eyebrow{font-size:9px;margin-bottom:20px;color:var(--champagne)}.hero-description{font-size:17px;margin:24px 0 12px;max-width:295px;line-height:1.45}.hero-copy .text-link{font-size:9px;gap:30px;padding-top:9px}.scroll-cue{bottom:28px;left:25px;width:calc(100% - 50px);font-size:8px}.introduction{padding-top:82px;padding-bottom:65px}.introduction h2{font-size:41px;line-height:1.08;margin:26px 0}.intro-body{font-size:18px;max-width:320px}.chapter-nav{gap:8px 20px;margin-top:35px}.chapter-nav button{font-size:9px;padding:7px 0}.eyebrow{font-size:9px;letter-spacing:.16em}.chapter{display:flex;flex-direction:column;gap:0;padding:0 24px 80px}.chapter-photo{height:auto;aspect-ratio:3/4;width:100%;margin-bottom:66px}.chapter-photo img{object-position:center center}.photo-note{font-size:8px;margin-top:16px}.chapter-copy{max-width:none;width:100%}.chapter-copy .eyebrow{margin-bottom:20px}.chapter-copy h2{font-size:61px;margin-bottom:25px}.chapter-copy p:not(.eyebrow){font-size:19px;margin-bottom:18px;max-width:330px}.chapter-copy .text-link{font-size:9px;margin-top:12px}.newborn{padding:70px 24px 88px;min-height:0;flex-direction:column-reverse;gap:65px}.newborn-pair{height:480px;width:100%;margin:0}.main-newborn{width:86%;height:410px}.detail-newborn{width:65%;height:175px;left:0;border-width:5px}.newborn-pair .photo-note{bottom:-28px;font-size:8px}.newborn .chapter-copy h2{font-size:54px}.experience .section-heading h2{font-size:46px;line-height:1.02}.section-heading>p:last-child{font-size:18px}.experience-steps{display:block;margin:45px 0 65px}.experience-steps article{display:grid;grid-template-columns:35px 1fr;gap:0 15px;padding:24px 0 30px}.experience-steps h3{margin:0 0 12px;font-size:29px}.experience-steps p{grid-column:2;font-size:18px;max-width:none}.step-number{padding-top:5px}.testimonial{padding-top:34px}.testimonial blockquote{font-size:37px;line-height:1.1;margin:20px 0 25px}.testimonial figcaption{font-size:9px}.investment{display:flex;flex-direction:column}.investment-image{height:350px}.investment-image img{object-position:50% 32%}.investment-copy{padding:60px 24px 65px}.investment h2{font-size:48px;margin:22px 0 32px}.price{padding-top:24px}.price strong{font-size:100px}.investment-copy>p:not(.eyebrow){font-size:18px}.investment-copy .text-link{font-size:9px;gap:25px}.first-birthday{display:flex;flex-direction:column;margin:75px 0 0;padding:0 24px;align-items:stretch}.birthday-image{height:340px}.birthday-image img{object-position:51% 55%}.birthday-copy{padding:40px 0 55px}.birthday-copy h2{font-size:62px;margin:22px 0 24px}.birthday-copy p:not(.eyebrow){font-size:19px;max-width:none}.birthday-copy .text-link{font-size:9px;gap:18px}.sessions{padding:50px 0 65px 24px}.sessions-heading{padding-right:24px;display:block}.sessions-heading h2{font-size:52px}.rail-controls{margin:27px 0 0;justify-content:flex-end}.rail-controls>span{margin-right:auto}.rail-controls button{width:38px;height:38px}.swipe-hint{margin:24px 0 15px;font-size:8px}.session-rail{gap:18px;padding-right:24px;padding-bottom:24px}.session-card{flex:0 0 82%}.session-card-image{height:345px;margin-bottom:18px}.session-card h3{font-size:37px}.session-card p:not(.eyebrow){font-size:18px;min-height:50px}.session-card .eyebrow{font-size:8px}.card-link{font-size:8px;margin-top:18px}.danielle{display:block;padding-top:60px;padding-bottom:70px}.danielle>.eyebrow{margin-bottom:24px}.danielle h2{font-size:48px;margin-bottom:30px}.danielle-note{font-size:19px}.signature{font-size:43px}.family-finale{height:560px}.family-finale img{object-position:53% 50%}.finale-caption{font-size:43px;bottom:38px;left:24px}.inquiry{padding:75px 24px 80px}.inquiry .eyebrow{font-size:8px;max-width:280px;margin:auto}.inquiry h2{font-size:58px;margin:25px 0}.inquiry>p:not(.eyebrow){font-size:18px}.inquiry>p br{display:none}.inquiry .button{font-size:9px;padding:21px 20px;gap:18px;width:100%;max-width:340px}.inquiry small{font-size:9px;line-height:1.6}footer{padding:55px 24px 25px;display:flex;flex-direction:column;gap:32px;font-size:16px}footer .wordmark>span{font-size:43px}.copyright{width:100%;margin:0;font-size:8px}.menu-dialog{padding:25px 24px 40px}.menu-dialog nav{margin:65px 0 45px;gap:22px}.menu-dialog nav a{font-size:39px}.menu-dialog>p{text-align:left;font-size:9px}.session-dialog{width:calc(100% - 24px);max-height:92svh}.session-dialog[open]{display:block}.session-dialog-image{height:275px;min-height:0}.session-dialog-image img{object-position:center 35%}.session-dialog-copy{padding:35px 25px}.session-dialog-copy h2{font-size:46px;margin:20px 0}.session-dialog-copy>p:not(.eyebrow){font-size:18px}.session-dialog-copy>.text-link{font-size:8px;gap:10px}.session-dialog-copy>.button{font-size:8px}.close-session{right:9px;top:8px;width:35px;height:35px;font-size:30px}}
@media(max-width:360px){h1{font-size:57px}.hero-copy{bottom:98px}.hero-description{font-size:16px}.chapter-copy h2{font-size:56px}.header .wordmark>span{font-size:28px}.header{padding:0 16px}.session-card-image{height:310px}}
.hero-photo picture{display:block;height:100%;width:100%}
section{scroll-margin-top:0}
@media(max-width:700px){.session-dialog-image img{object-position:center 15%}}
@media(min-width:701px) and (max-height:750px){.hero{min-height:650px}.hero h1{font-size:clamp(62px,6vw,82px)}.hero-copy{padding-bottom:55px}.hero-copy .eyebrow{margin-bottom:23px}.hero-description{margin:24px 0 14px;font-size:19px}}
@media(max-width:700px){.hero h1{font-size:52px}.hero-photo img{object-position:50% 27%}}
@media(max-width:900px) and (min-width:701px){.desktop-nav{display:none}.header-inquire{margin-left:auto}}
@media(max-width:360px){.hero h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}

/* Focal points for the selected Wix portfolio photographs. */
.hero-photo img{object-position:50% 16%}
.chapter-photo img{object-position:68% 50%}
.main-newborn{object-position:50% 32%}
.detail-newborn{object-position:center}
.investment-image img{object-position:50% 47%}
.birthday-image img{object-position:56% 50%}
.family-finale img{object-position:49% 44%}
.session-card[data-session="maternity"] img{object-position:68% 50%}
.session-card[data-session="newborn"] img{object-position:50% 42%}
.session-card[data-session="first"] img{object-position:56% 50%}
.session-card[data-session="birthday"] img{object-position:50% 35%}
@media(max-width:700px){.hero{min-height:840px}.hero-photo{background:#172636}.hero-photo img{height:450px;object-position:50% 35%}.hero-photo:after{background:linear-gradient(180deg,transparent 230px,rgba(23,38,54,.16) 310px,#172636 450px)}.investment-image img{object-position:50% 44%}.family-finale img{object-position:50% 45%}}

/* Refined studio styling and deeper blues, October 16. */
.chapter-photo img{object-position:50% 43%}
.main-newborn{object-position:50% 32%}
.investment-image img{object-position:42% 47%}
.birthday-image img{object-position:50% 65%}
.session-card[data-session="maternity"] img{object-position:50% 42%}
.session-card[data-session="newborn"] img{object-position:43% 48%}
.session-card[data-session="first"] img{object-position:50% 40%}
@media(max-width:700px){.investment-image img{object-position:43% 48%}.birthday-image img{object-position:50% 65%}}

/* Final portrait placements: preserve expressions and complete family groups. */
.hero-photo img{object-position:50% 16%}
.newborn-pair{height:auto;aspect-ratio:1/1.22}
.main-newborn{width:100%;height:auto;aspect-ratio:1;object-position:center;margin:0}
.investment-image img{object-position:50% 44%}
.birthday-image img{object-position:56% 50%}
.session-card[data-session="newborn"] img{object-position:50% 45%}
.session-card[data-session="first"] img{object-position:56% 50%}
.family-finale picture{display:block;width:100%;height:100%}
.family-finale img{object-position:50% 22%}
@media(max-width:700px){.hero-photo img{object-position:50% 25%}.newborn-pair{height:auto}.investment-image img{object-position:50% 43%}.birthday-image img{object-position:56% 50%}.family-finale img{object-position:50% 30%}.finale-caption{font-size:36px;bottom:22px}}

/* Competition-style image review: preserve complete formal portrait. */
.investment-image img{object-position:50% 24%}
.session-card[data-session="newborn"] img{object-position:50% 28%}
.family-finale{display:grid;grid-template-columns:44% 56%;height:760px;background:var(--ink);overflow:hidden}
.family-finale:after{display:none}
.family-finale picture{grid-column:2;grid-row:1;height:100%;width:100%;min-width:0}
.family-finale img{object-fit:contain;object-position:center}
.finale-caption{position:static;grid-column:1;grid-row:1;align-self:center;padding:60px 3vw 60px 7vw;margin:0;font-size:clamp(38px,4vw,62px);color:var(--ivory)}
@media(max-width:700px){.family-finale{display:flex;flex-direction:column;height:auto}.family-finale picture{height:auto;aspect-ratio:2/3}.family-finale img{height:100%;object-fit:contain}.finale-caption{padding:38px 24px 46px;font-size:36px;align-self:stretch}.investment-image img{object-position:50% 25%}}

.family-finale{grid-template-rows:minmax(0,1fr)}.family-finale picture{min-height:0}.family-finale img{width:100%;height:100%;max-height:100%;object-fit:contain}

/* New opening portrait: protect both faces and the mother's hands. */
.hero-photo img{object-position:50% 32%}
@media(max-width:700px){.hero-photo img{height:480px;object-position:50% 30%}.hero-photo:after{background:linear-gradient(180deg,transparent 275px,rgba(23,38,54,.15) 350px,#172636 480px)}}

/* Complete group and birthday compositions in the narrow session rail. */
.session-card[data-session="family"] .session-card-image,.session-card[data-session="first"] .session-card-image{background:#eee8e1}
.session-card[data-session="family"] img,.session-card[data-session="first"] img{object-fit:contain;object-position:center}
.session-dialog-image{background:#eee8e1}
.session-dialog-image img{object-fit:contain;object-position:center}
@media(max-width:700px){.session-dialog-image{height:auto}.session-dialog-image img{height:auto;max-height:52svh;object-fit:contain;object-position:center}}
@media(min-width:701px){.hero{min-height:860px}.hero-photo img{object-position:50% 18%}}
@media(min-width:701px) and (max-width:1000px){.hero{height:860px;min-height:860px;max-height:none}}

/* Gold Coast signature artwork and consistently square session portraits. */
html{scroll-padding-top:120px}
.header{height:120px}
.wordmark .brand-logo{width:170px;height:auto;max-height:114px;object-fit:contain}
footer .wordmark .brand-logo{width:220px;max-height:none}
.hero{padding-top:120px}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(54px,5.6vw,78px);line-height:1.08;letter-spacing:-.045em}
.hero h1 em{font-style:normal}
.brand-flourish{width:70px;height:110px;object-fit:contain;margin:14px auto 20px;pointer-events:none}
.inquiry-flourish{width:68px;height:106px;margin:0 auto 25px}
.session-card-image{height:auto!important;aspect-ratio:1;overflow:hidden;background:none!important}
.session-card .session-card-image img{width:100%;height:100%;object-fit:cover!important;object-position:center!important}
.session-card:hover img{transform:none}
@media(max-width:700px){html{scroll-padding-top:104px}.header{height:104px;padding:0 18px;gap:10px}.wordmark .brand-logo{width:138px;max-height:96px}.header-inquire{font-size:8px}.hero{padding:0}.hero-photo{inset:104px 0 0}.hero h1{font-size:42px;line-height:1.09}.hero-copy{bottom:104px}.hero-description{margin-top:24px}.brand-flourish{width:58px;height:90px;margin:10px auto 20px}footer .wordmark .brand-logo{width:190px}.menu-dialog .brand-logo{width:140px}}
@media(max-width:360px){.header{padding:0 14px}.wordmark .brand-logo{width:126px}.hero h1{font-size:37px}.hero-description{font-size:16px}}

.brand-flourish{width:110px;height:165px}.inquiry-flourish{width:95px;height:142px}@media(max-width:700px){.brand-flourish{width:90px;height:135px}.inquiry-flourish{width:80px;height:120px}}

/* October refinement: branded dividers, descriptive headings and romantic italic. */
.hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.hero h1 em{font-style:italic}
.hero-emotion{display:block}
.hero-service{display:block;font:500 11px/1.7 var(--sans);letter-spacing:.11em;text-transform:uppercase;margin-top:28px;max-width:360px}
.hero-description{margin-top:20px}
.sparkle-divider{display:block;width:min(560px,80%);height:auto;margin:0 auto 55px;pointer-events:none}
.inquiry-divider{margin:0 auto 48px}
.chapter-copy h2,.investment h2,.birthday-copy h2{font-size:clamp(44px,4.3vw,66px);line-height:1.04}
.danielle h2{font-size:clamp(42px,4.1vw,62px);line-height:1.08}
.finale-caption .eyebrow{display:block;margin-bottom:28px;font-size:10px;line-height:1.7}
.session-page-links{display:flex;gap:14px 26px;flex-wrap:wrap;margin-top:25px;font:400 11px/1.7 var(--sans)}
.session-page-links a{border-bottom:1px solid var(--line);padding-bottom:4px}
@media(max-width:700px){.hero h1{font-size:44px}.hero-service{font-size:9px;margin-top:19px;line-height:1.6}.hero-description{margin-top:16px}.hero-copy{bottom:87px}.hero-photo img{object-position:50% 20%}.chapter-copy h2,.investment h2,.birthday-copy h2{font-size:48px}.sparkle-divider{width:82%;margin-bottom:35px}.inquiry-divider{margin-bottom:34px}.session-page-links{padding-right:24px}.danielle h2{font-size:43px}}
@media(max-width:360px){.hero h1{font-size:37px}.hero-copy{bottom:82px}.hero-service{font-size:8px;margin-top:16px}.hero-description{font-size:16px}.chapter-copy h2,.investment h2,.birthday-copy h2{font-size:42px}}

@media(min-width:701px){.hero-photo img{object-position:50% 0%}}

/* Lavender is a primary brand color, alongside ink. */
:root{--lavender-pale:#eee8f4}
.introduction{max-width:none;background:var(--lavender);padding-top:100px;padding-bottom:100px}
.introduction .intro-body{color:var(--ink)}
.introduction .chapter-nav a,.chapter-nav button{font:500 10px var(--sans);letter-spacing:.06em;padding:9px 0;border-bottom:1px solid var(--line)}
.introduction .chapter-nav a:hover{border-color:var(--ink)}
.experience{background:var(--lavender-pale)}
.investment-copy{background:var(--lavender-pale)}
.newborn h2 em,.newborn .eyebrow,.finale-caption em{color:var(--lavender)}
.inquiry{background:var(--lavender)}
.inquiry small{color:var(--ink)}
.inquiry .sparkle-divider use{fill:var(--ink)}
.inquiry .sparkle-divider use:nth-of-type(2n){fill:var(--champagne)}
.signature{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lavender);text-decoration-thickness:2px;text-underline-offset:10px}
.chapter-photo{border-bottom:5px solid var(--lavender)}
.session-card:hover .card-link{border-color:var(--lavender)}
.header a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lavender);text-underline-offset:7px}
.session-card{display:block}
/* The first full session page. */
.maternity-page main{padding-top:120px}
.session-nav{display:flex;gap:28px;margin-left:auto;font:400 11px/1.5 var(--sans)}
.session-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--lavender-pale);min-height:740px}
.session-hero-photo{background:#dfd9df;min-width:0}
.session-hero-photo img{height:760px;object-fit:contain;object-position:center}
.session-hero-copy{padding:65px 7vw 65px 6vw;align-self:center}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font:400 10px/1.7 var(--sans);margin-bottom:38px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.session-hero h1{font-size:clamp(48px,4.5vw,70px);line-height:1.06;letter-spacing:-.035em;margin:22px 0}
.session-hero h1 em{display:block}
.session-hero .emotional-line{font-size:30px;font-style:italic;line-height:1.2;margin:24px 0}
.session-hero-copy>p:not(.eyebrow){max-width:430px}
.session-hero .button{margin:30px 0 18px}
.session-hero small{display:block;font:400 10px/1.7 var(--sans)}
.session-intro{max-width:940px;margin:auto;text-align:center}
.session-intro h2{font-size:clamp(44px,4.4vw,64px);line-height:1.08;margin:23px 0 30px}
.session-intro>p:last-child{max-width:620px;margin:auto}
.wardrobe-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:0 8vw 100px;align-items:center}
.wardrobe-story img{height:710px;object-fit:contain;background:#dedade}
.wardrobe-story h2{font-size:clamp(42px,4vw,62px);line-height:1.08;margin:23px 0 30px}
.wardrobe-story p+p{margin-top:20px}
.session-process{background:var(--lavender)}
.session-process h2{font-size:clamp(43px,4.2vw,64px);line-height:1.08;margin-top:24px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:60px}
.process-grid article{border-top:1px solid var(--ink);padding-top:20px}
.process-grid h3{font-size:30px;line-height:1.1;margin:18px 0}
.process-grid p{font-size:20px}
.session-investment{background:var(--ink);color:var(--ivory);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.session-investment h2{font-size:clamp(44px,4.5vw,68px);line-height:1.07;margin:24px 0}
.session-investment .eyebrow,.session-investment h2 em{color:var(--lavender)}
.session-investment strong{display:block;font-size:90px;font-weight:400;line-height:1.1;margin-bottom:20px}
.session-investment .text-link{margin-top:25px}
.maternity-faq{max-width:1120px;margin:auto}
.maternity-faq h2{font-size:clamp(44px,4.3vw,66px);line-height:1.08;margin:24px 0 40px}
.maternity-faq details{border-top:1px solid var(--line);padding:23px 0}
.maternity-faq summary{cursor:pointer;font-size:26px;line-height:1.25;list-style:none;display:flex;justify-content:space-between;gap:25px}
.maternity-faq summary:after{content:'+';font-family:var(--sans);font-size:20px}
.maternity-faq details[open] summary:after{content:'−'}
.maternity-faq details p{max-width:760px;margin-top:20px}
.next-chapter{display:grid;grid-template-columns:1fr 1fr;background:var(--lavender-pale);align-items:center}
.next-chapter img{height:540px;object-fit:contain;background:#e8e0dc}
.next-chapter>div{padding:65px 7vw}
.next-chapter h2{font-size:clamp(42px,4.1vw,60px);line-height:1.08;margin:20px 0 25px}
.next-chapter .text-link{margin-top:25px}
.maternity-page footer .brand-logo{background:var(--ivory);padding:10px;border-radius:2px}
@media(max-width:900px){.session-nav{display:none}.session-hero-copy{padding:45px 5vw}.session-hero-photo img{height:700px}.wardrobe-story{gap:5vw;padding-left:5vw;padding-right:5vw}.wardrobe-story img{height:610px}.process-grid{gap:25px}}
@media(max-width:700px){.introduction{padding:75px 24px}.maternity-page main{padding-top:104px}.session-hero{display:flex;flex-direction:column}.session-hero-photo img{height:auto;max-height:590px;object-fit:contain}.session-hero-copy{padding:36px 24px 55px}.breadcrumbs{margin-bottom:27px}.session-hero h1{font-size:48px}.session-hero .emotional-line{font-size:28px}.session-hero .button{font-size:9px;gap:15px;padding:20px}.session-intro{text-align:left}.session-intro h2{font-size:45px}.wardrobe-story{display:flex;flex-direction:column;gap:40px;padding:0 24px 70px}.wardrobe-story img{height:auto;max-height:680px}.wardrobe-story h2{font-size:45px}.process-grid{display:block;margin-top:40px}.process-grid article{padding:22px 0}.session-process h2{font-size:46px}.process-grid p{font-size:19px}.session-investment{display:block}.session-investment h2{font-size:47px}.session-investment strong{font-size:80px;margin-top:30px}.maternity-faq h2{font-size:46px}.maternity-faq summary{font-size:23px}.next-chapter{display:flex;flex-direction:column}.next-chapter img{height:auto;max-height:580px}.next-chapter>div{padding:45px 24px 60px}.next-chapter h2{font-size:45px}}

footer .wordmark .brand-logo{background:var(--ivory);padding:10px;border-radius:2px}

/* Traditional Garamond and consistent uppercase headings/navigation. */
:root{--serif:'EB Garamond',Garamond,Georgia,serif}
h1,h2,h3{font-family:var(--serif);text-transform:uppercase;letter-spacing:.025em;line-height:1.13}
h1 em,h2 em,h3 em{font-style:italic}
.header a:not(.wordmark),.desktop-nav,.session-nav,.breadcrumbs,.eyebrow,.button,.text-link,.chapter-nav a,.chapter-nav button,.footer-links,.session-page-links,.card-link,.menu-dialog nav a{font-family:var(--serif);text-transform:uppercase;letter-spacing:.1em}
.desktop-nav,.session-nav{font-size:13px;gap:24px}
.header-inquire{font-size:12px}.breadcrumbs{font-size:12px}.eyebrow{font-size:11px}.button,.text-link{font-size:12px}
.session-hero h1{font-size:clamp(38px,3.8vw,54px);line-height:1.14;letter-spacing:.025em}
.session-hero h1 em{font-style:italic}
.session-hero .emotional-line{font-style:normal;font-size:26px}
.session-intro h2,.wardrobe-story h2,.session-process h2,.session-investment h2,.maternity-faq h2,.next-chapter h2{font-size:clamp(32px,3.4vw,48px);line-height:1.15;letter-spacing:.025em}
.maternity-page .inquiry h2{font-size:clamp(38px,4.4vw,62px);line-height:1.15}
.process-grid h3{font-size:25px;line-height:1.2}
.hero h1{font-family:var(--serif);font-size:clamp(44px,4.5vw,64px);line-height:1.12;letter-spacing:.015em}
.hero h1 em{font-style:italic}
.hero-service{font-family:var(--serif);font-size:13px}
.session-card h3{font-size:30px;line-height:1.15}
.maternity-portfolio{background:var(--lavender-pale);padding-top:85px;padding-bottom:90px}
.portfolio-heading{max-width:720px;margin:0 auto 55px;text-align:center}
.portfolio-heading h2{font-size:clamp(34px,3.7vw,52px);line-height:1.15;margin:22px 0 25px}
.portfolio-heading p:not(.eyebrow){max-width:550px;margin:auto}
.portfolio-heading small{display:block;font-size:16px;margin-top:18px}
.maternity-gallery{columns:3;column-gap:24px}
.maternity-gallery figure{break-inside:avoid;margin:0 0 24px}
.gallery-photo{display:block;padding:0;width:100%;position:relative;text-align:left;overflow:hidden}
.gallery-photo img{width:100%;height:auto;object-fit:contain}
.gallery-enlarge{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;color:var(--ivory);background:linear-gradient(transparent,rgba(44,62,80,.85));font:400 11px/1.6 var(--serif);letter-spacing:.12em;text-transform:uppercase;text-align:right}
.portrait-viewer{border:0;padding:35px 30px 20px;background:var(--ivory);color:var(--ink);width:min(1100px,96vw);height:min(900px,94svh);max-height:94svh;overflow:hidden}
.portrait-viewer::backdrop{background:rgba(23,38,54,.85)}
.portrait-viewer[open]{display:flex;flex-direction:column}
.viewer-image{flex:1;min-height:0}
.viewer-image img{height:100%;width:100%;object-fit:contain}
.viewer-close{position:absolute;right:7px;top:0;width:36px;height:36px;font:400 30px var(--serif);background:var(--ivory);border-radius:50%}
.viewer-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:15px;min-height:44px;font:400 13px var(--serif)}
.viewer-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:24px}
@media(max-width:1100px){.session-nav{gap:15px;font-size:12px}}
@media(max-width:700px){.header-inquire{font-size:10px}.hero h1{font-size:37px}.hero-service{font-size:11px}.session-hero h1{font-size:34px}.session-hero .emotional-line{font-size:25px}.session-intro h2,.wardrobe-story h2,.session-process h2,.session-investment h2,.maternity-faq h2,.next-chapter h2{font-size:32px}.maternity-page .inquiry h2{font-size:36px}.maternity-gallery{columns:2;column-gap:14px}.maternity-gallery figure{margin-bottom:14px}.maternity-portfolio{padding:60px 20px}.portfolio-heading h2{font-size:32px}.gallery-enlarge{font-size:9px;padding:10px}.portrait-viewer{padding:36px 10px 12px}.eyebrow{font-size:10px}.session-card h3{font-size:28px}}
@media(max-width:360px){.hero h1{font-size:31px}.session-hero h1{font-size:30px}.maternity-gallery{columns:1}.maternity-page .inquiry h2{font-size:31px}}

/* Uppercase display text needs a smaller scale than the previous mixed-case headings. */
body:not(.maternity-page) .introduction h2,body:not(.maternity-page) .chapter-copy h2,body:not(.maternity-page) .experience .section-heading h2,body:not(.maternity-page) .investment h2,body:not(.maternity-page) .birthday-copy h2,body:not(.maternity-page) .sessions-heading h2,body:not(.maternity-page) .danielle h2,body:not(.maternity-page) .inquiry h2{font-size:clamp(34px,3.7vw,54px);line-height:1.15}
@media(max-width:700px){body:not(.maternity-page) .introduction h2,body:not(.maternity-page) .chapter-copy h2,body:not(.maternity-page) .experience .section-heading h2,body:not(.maternity-page) .investment h2,body:not(.maternity-page) .birthday-copy h2,body:not(.maternity-page) .sessions-heading h2,body:not(.maternity-page) .danielle h2,body:not(.maternity-page) .inquiry h2{font-size:32px}}
@media(max-width:360px){body:not(.maternity-page) .introduction h2,body:not(.maternity-page) .chapter-copy h2,body:not(.maternity-page) .experience .section-heading h2,body:not(.maternity-page) .investment h2,body:not(.maternity-page) .birthday-copy h2,body:not(.maternity-page) .sessions-heading h2,body:not(.maternity-page) .danielle h2,body:not(.maternity-page) .inquiry h2{font-size:28px}}

/* Ranked visual order follows document order; complete landscapes separate portrait groups. */
.maternity-gallery{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.maternity-gallery figure{margin:0;min-width:0}
.maternity-gallery .portfolio-wide{grid-column:1/-1}
.maternity-gallery img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:700px){.maternity-gallery{grid-template-columns:1fr;gap:22px}.maternity-portfolio{padding-left:24px;padding-right:24px}}

/* Restore expressive italic phrases while keeping navigation and upright headlines uppercase. */
h1 em,h2 em,h3 em{font-style:italic;text-transform:none;letter-spacing:-.015em}
.session-hero h1 em{font-style:italic;text-transform:none;letter-spacing:-.015em}
.portfolio-heading h2{font-size:clamp(42px,4.7vw,68px);line-height:1.08;letter-spacing:-.025em;text-transform:none;font-style:italic}
.portfolio-heading h2 em{font-style:italic;letter-spacing:inherit}
.wardrobe-story{padding-top:0;padding-bottom:100px}
.wardrobe-story img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:2/3;object-fit:cover;object-position:center;background:none}
@media(max-width:700px){.portfolio-heading h2{font-size:42px;line-height:1.1}.wardrobe-story{padding-bottom:70px}.wardrobe-story img{height:auto;max-height:none;aspect-ratio:2/3;object-fit:cover}}
@media(max-width:360px){.portfolio-heading h2{font-size:37px}}

/* Aligned editorial rows: three vertical portraits or two landscape photographs. */
.maternity-gallery{grid-template-columns:repeat(6,minmax(0,1fr));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-photo{width:100%;height:auto;aspect-ratio:2/3}
.maternity-gallery .gallery-landscape .gallery-photo{aspect-ratio:4/3}
.maternity-gallery .gallery-feature .gallery-photo{aspect-ratio:1800/1367}
.maternity-gallery .gallery-photo img{width:100%;height:100%;object-fit:cover}
.wardrobe-story>div{grid-column:1;grid-row:1}
.wardrobe-story>img{grid-column:2;grid-row:1}
@media(max-width:700px){.maternity-gallery{grid-template-columns:1fr}.maternity-gallery .gallery-feature,.maternity-gallery .gallery-portrait,.maternity-gallery .gallery-landscape{grid-column:1}.maternity-gallery .gallery-photo,.maternity-gallery .gallery-landscape .gallery-photo,.maternity-gallery .gallery-feature .gallery-photo{aspect-ratio:auto}.maternity-gallery .gallery-photo img{height:auto;object-fit:contain}.wardrobe-story>div{order:0}.wardrobe-story>img{order:1}}

/* Sentence-case display text; uppercase is reserved for the top navigation. */
h1,h2,h3{ text-transform:none;letter-spacing:-.015em }
.hero h1,.session-hero h1,.portfolio-heading h2,.session-intro h2,.wardrobe-story h2,.session-process h2,.session-investment h2,.maternity-faq h2,.next-chapter h2,.maternity-page .inquiry h2{ text-transform:none;letter-spacing:-.02em }
.eyebrow,.breadcrumbs,.button,.text-link,.chapter-nav a,.chapter-nav button,.footer-links,.session-page-links,.card-link,.gallery-enlarge,.photo-note,.swipe-hint,.scroll-cue{ text-transform:none;letter-spacing:.035em }
.hero-service{ text-transform:none;letter-spacing:.035em;font-size:15px;line-height:1.5 }
.header .header-inquire,.header .session-nav a,.header .desktop-nav a,.menu-dialog nav a{ text-transform:uppercase;letter-spacing:.1em }
.hero h1{font-size:clamp(54px,5.6vw,78px);line-height:1.08;letter-spacing:-.025em}
.session-hero h1{font-size:clamp(46px,4.4vw,64px);line-height:1.08}
.session-hero-photo img{width:100%;height:760px;object-fit:cover;object-position:50% 0%}
.early-testimonial{margin:42px auto 0;padding:32px 0 0;border-top:1px solid var(--champagne);max-width:680px}
.early-testimonial blockquote{font:italic 400 clamp(26px,2.6vw,35px)/1.25 var(--serif);margin:0 0 22px}
.early-testimonial figcaption{font:400 12px/1.7 var(--serif);letter-spacing:.02em}
.early-testimonial figcaption a{display:block;margin-top:7px;text-decoration:underline;text-underline-offset:4px}
.price small{display:block;margin-top:14px;font:400 19px/1.4 var(--serif);text-transform:none;letter-spacing:0;color:var(--ink)}
.newborn-price-note{margin-top:25px;line-height:1.4}
.newborn-price-note span,.newborn-price-note small{display:block;font-size:18px}
.newborn-price-note strong{display:block;font-size:58px;line-height:1.1;font-weight:400;margin:5px 0 10px}
@media(max-width:700px){.hero h1{font-size:44px;line-height:1.08}.hero-service{font-size:12px}.session-hero h1{font-size:44px}.session-hero-photo img{height:auto;max-height:none;aspect-ratio:2/3;object-fit:cover;object-position:center}.early-testimonial{margin-top:32px;padding-top:27px}.early-testimonial blockquote{font-size:28px}.price small{font-size:18px}}
@media(max-width:360px){.hero h1{font-size:37px}.session-hero h1{font-size:37px}.hero-service{font-size:11px}}

.price>span{text-transform:none;letter-spacing:.035em;font-family:var(--serif);font-size:13px}
