@font-face{font-family:Editorial;src:url('/editorial.otf')}@font-face{font-family:Editorial;src:url('/editorial-italic.otf');font-style:italic}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#faf7f4;color:#3f3c3c;font-family:Arial,sans-serif;font-size:16px;line-height:1.75}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.footer-wordmark{font-family:Editorial,Georgia,serif;font-weight:400;line-height:1.06}h1{font-size:clamp(48px,5.3vw,88px);letter-spacing:-.045em}h2{font-size:clamp(38px,4vw,64px);letter-spacing:-.03em}h3{font-size:30px;letter-spacing:-.02em}em{font-weight:400;color:#896b67}p{max-width:580px;margin-top:22px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:6px}a:focus-visible,button:focus-visible{outline:2px solid #4c607f}header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:12px 6.2vw;border-bottom:1px solid #dfd6d1;background:#faf7f4;position:relative;z-index:5}.brand{display:block}.brand img{height:88px;width:80px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;align-items:center;gap:40px;font-size:14px}nav a{padding:6px 0}nav a[aria-current=page]{border-bottom:1px solid #896b67}.nav-inquire{border:1px solid #896b67;padding:9px 28px}.menu-toggle{display:none}.eyebrow{font-size:12px;letter-spacing:.17em;display:block;font-weight:500;margin-bottom:26px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;background:#665653;color:white;border:1px solid #665653;font-size:14px;margin-top:30px;cursor:pointer;transition:background .2s}.button:hover{background:#4f4240}.text-link{display:inline-block;font-size:14px;border:0;border-bottom:1px solid #896b67;padding:0 0 5px;background:transparent;cursor:pointer;margin-top:22px}.hero{position:relative;display:grid;grid-template-columns:1fr 1.1fr;min-height:680px;padding:44px 6.2vw 72px;gap:4vw;align-items:center}.hero-copy{position:relative;z-index:1;padding:25px 0}.hero-copy p{font-size:16px;max-width:420px}.hero-image{height:610px;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:66% center}.hero-note{position:absolute;bottom:26px;left:6.2vw;font-family:Editorial,Georgia,serif;font-style:italic;font-size:20px;color:#896b67}figcaption{font-size:10px;letter-spacing:.1em;position:absolute;bottom:8px;left:12px;padding:3px 7px;background:#faf7f4e6;color:#665653}figure{position:relative}img{display:block;max-width:100%}.story{padding:100px 18vw;background:#f4e1dc66;text-align:center}.story h2{max-width:750px;margin:auto}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;text-align:left;margin-top:24px}.story-columns p{margin-top:14px}.service-intro{padding:110px 6.2vw}.section-heading{margin-bottom:50px}.service-row{display:grid;grid-template-columns:45px 1fr 1fr 75px;gap:24px;border-top:1px solid #d7c8c3;align-items:center;padding:32px 0;transition:padding .2s}.service-row:last-child{border-bottom:1px solid #d7c8c3}.service-row:hover{padding-left:10px}.service-row p{margin:0;font-size:14px;line-height:1.7;max-width:390px}.service-row .text-link{margin:0;justify-self:end}.number{font-family:Editorial,Georgia,serif;font-style:italic;color:#896b67;font-size:22px}.service-subtitle{display:block;font-size:14px;margin-top:10px}.home-about{display:grid;grid-template-columns:.85fr 1fr;gap:8vw;align-items:center;padding:30px 12vw 110px}.home-about figure{height:540px}.home-about img{height:100%;width:100%;object-fit:cover}.home-about h2{font-size:clamp(36px,3.6vw,56px)}.closing{padding:90px 22vw;text-align:center;background:#f4e1dc}.closing p{margin:25px auto 0}.closing h2{font-size:clamp(44px,4.8vw,72px)}footer{padding:55px 6.2vw 30px;text-align:center}footer .footer-wordmark{font-size:38px}footer .footer-wordmark i{font-size:18px;margin-left:10px}footer p{margin:10px auto;font-size:13px}footer div:last-of-type{display:flex;gap:30px;justify-content:center;font-size:14px;margin:25px}footer small{font-size:12px;color:#665653}.page-intro{padding:85px 12vw 65px;text-align:center}.page-intro p{margin:28px auto 0}.package-overview{display:grid;grid-template-columns:repeat(3,1fr);margin:0 8vw 70px;border-top:1px solid #d7c8c3;border-bottom:1px solid #d7c8c3}.package-overview a{padding:30px;border-right:1px solid #d7c8c3}.package-overview a:last-child{border:0}.package-overview h3{font-size:27px;margin-top:12px}.package-overview p{font-size:14px;margin-top:14px;min-height:48px}.price{display:block;margin-top:15px;color:#665653;font-size:18px}.package{padding:85px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;scroll-margin-top:15px}.package-title h2{margin-bottom:25px}.investment{margin-top:32px;padding-top:20px;border-top:1px solid #d7c8c3;display:flex;gap:30px;align-items:center;font-size:14px}.investment strong{font-size:25px;font-family:Editorial,Georgia,serif;font-weight:400}.fine-print{font-size:13px;line-height:1.7;color:#665653}.inclusion{padding:19px 0;border-bottom:1px solid #d7c8c3}.inclusion h3{font-size:23px;line-height:1.2}.inclusion p{font-size:14px;margin-top:9px}.look-package{background:#f4e1dc66;align-items:center}.look-package figure{height:640px}.look-package img{height:100%;width:100%;object-fit:cover}.lead{font-family:Editorial,Georgia,serif;font-size:25px;line-height:1.4}ul{padding-left:20px;font-size:14px;line-height:1.8}li{padding:4px 0}.day-photo{height:330px;margin-bottom:20px}.day-photo img{height:100%;width:100%;object-fit:cover;object-position:center 60%}.custom{padding:80px 20vw;text-align:center;background:#f4e1dc}.custom p{margin:24px auto 0}.faq{padding:95px 18vw}.faq h2{margin-bottom:35px}.faq details{border-bottom:1px solid #d7c8c3;padding:20px 0}.faq summary{cursor:pointer;font-size:16px;list-style:none;position:relative;padding-right:35px}.faq summary:after{content:'+';position:absolute;right:5px;font-size:22px;color:#896b67}.faq details[open] summary:after{content:'−'}.faq details p{font-size:15px;margin-top:16px}.collaboration{margin:0 18vw 85px;border-top:1px solid #d7c8c3;padding-top:35px}.collaboration .eyebrow{margin-bottom:14px}.collaboration p{font-size:14px;max-width:650px}.about-opening{padding:75px 10vw;display:grid;grid-template-columns:1fr .9fr;gap:9vw;align-items:center}.portrait-space{min-height:500px;background:#f4e1dc66;border:1px solid #d7c8c3;display:flex;flex-direction:column;align-items:center;justify-content:center}.portrait-space .monogram{font-family:Editorial,Georgia,serif;font-style:italic;font-size:90px;color:#c1968e}.portrait-space p{font-size:13px;color:#665653;max-width:220px;text-align:center}.about-story{padding:70px 13vw 100px}.homecoming{padding:85px 20vw;background:#f4e1dc66;text-align:center}.homecoming p{margin:25px auto}.contact-layout{padding:80px 8vw 100px;display:grid;grid-template-columns:.9fr 1fr;gap:8vw}.contact-intro .location{display:block;margin-top:40px;font-size:14px}.preview-note{font-size:13px;border-top:1px solid #d7c8c3;padding-top:20px;max-width:360px}form label{display:block;font-size:14px;margin-bottom:25px}form label span{font-size:12px;color:#665653}input,select,textarea{display:block;width:100%;padding:12px 0;border:0;border-bottom:1px solid #b29c95;border-radius:0;background:transparent;color:#3f3c3c;margin-top:6px;font-size:16px;min-height:48px}textarea{padding:12px;resize:vertical;border:1px solid #b29c95}select{padding-right:20px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}form .button{margin-top:0}#inquiry-result{margin-top:30px;padding:25px;background:#f4e1dc66}#inquiry-result p{margin-top:10px;font-size:14px}#copy-status{display:block;font-size:13px;margin-top:10px}.skip{position:fixed;top:-100px;left:15px;background:#fff;padding:10px;z-index:30}.skip:focus{top:10px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){.hero{grid-template-columns:1fr 1fr;gap:25px;padding-inline:5vw}.hero-image{height:540px}h1{font-size:60px}.hero-copy p{font-size:15px}.story{padding:75px 10vw}.service-row{grid-template-columns:35px 1fr 1fr}.service-row>.text-link{display:none}.home-about{padding-inline:7vw;gap:6vw}.package{padding-inline:7vw;gap:6vw}.contact-layout{padding-inline:6vw;gap:5vw}}@media(max-width:700px){header{height:95px;padding:8px 6vw}.brand img{height:75px}.menu-toggle{display:block;border:0;background:transparent;font-size:14px;padding:12px}nav{display:none;position:absolute;top:94px;left:0;right:0;background:#faf7f4;padding:25px 6vw;border-bottom:1px solid #d7c8c3;flex-direction:column;align-items:stretch;gap:18px}nav.open{display:flex}.nav-inquire{align-self:flex-start}.hero{grid-template-columns:1fr;padding:40px 6vw 60px;gap:35px;min-height:0}.hero-copy{padding:0}h1{font-size:clamp(44px,10.5vw,68px);letter-spacing:-.035em}.hero-image{height:460px}.hero-copy p{font-size:16px}.hero-note{bottom:15px;font-size:17px}.eyebrow{font-size:12px;margin-bottom:20px;letter-spacing:.12em}.story{padding:65px 7vw}.story-columns{grid-template-columns:1fr;gap:8px;margin-top:20px}.service-intro{padding:65px 6vw}.section-heading{margin-bottom:30px}.service-row{grid-template-columns:30px 1fr;gap:14px;padding:25px 0}.service-row p{grid-column:2;font-size:14px}.service-row h3{font-size:29px}.home-about{grid-template-columns:1fr;padding:0 6vw 65px;gap:35px}.home-about figure{height:430px}.closing{padding:60px 7vw}.closing h2{font-size:48px}.page-intro{padding:55px 6vw 40px}.package-overview{grid-template-columns:1fr;margin:0 6vw 15px}.package-overview a{border:0;border-bottom:1px solid #d7c8c3;padding:24px 0;position:relative}.package-overview a:last-child{border:0}.package-overview h3{margin-top:5px}.package-overview p{min-height:0;margin-top:8px;padding-right:60px}.package-overview .price{position:absolute;right:0;top:28px}.package{grid-template-columns:1fr;padding:60px 6vw;gap:35px}.look-package figure{height:440px}.day-photo{height:350px}.custom{padding:60px 7vw}.faq{padding:60px 6vw}.collaboration{margin:0 6vw 60px}.about-opening{grid-template-columns:1fr;padding:50px 6vw;gap:35px}.portrait-space{min-height:350px}.about-story{padding:25px 6vw 60px}.homecoming{padding:60px 7vw}.contact-layout{grid-template-columns:1fr;padding:50px 6vw 70px;gap:40px}.field-pair{grid-template-columns:1fr;gap:0}footer{padding:40px 6vw 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

:root{--ivory:#FAF7F4;--blush:#F4E1DC;--peach:#EFC9BF;--rose:#C1968E;--terracotta:#896B67;--cocoa:#665653;--charcoal:#3F3C3C;--focus:#4C607F;--line:#d7c8c3;--duration:180ms}
@font-face{font-family:Editorial;src:url('/editorial.otf');font-display:swap}@font-face{font-family:Editorial;src:url('/editorial-italic.otf');font-style:italic;font-display:swap}
header{border-bottom-color:var(--rose)}nav a{transition:color var(--duration),background var(--duration)}nav a:hover{color:var(--cocoa)}.nav-inquire:hover{background:var(--blush)}a:active,button:active{opacity:.8}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:5px}button:disabled{opacity:.5;cursor:not-allowed}.text-link:hover{color:var(--cocoa);border-bottom-width:2px}.service-row:hover,.package-overview a:hover{background:var(--blush)}.service-row{transition:background var(--duration)}.service-row:hover{padding-left:0}.package-overview a{transition:background var(--duration)}figure{outline:1px solid var(--rose);outline-offset:8px}.hero-image{margin:10px}.hero-image:before{content:'';position:absolute;left:-20px;top:-20px;width:54px;height:54px;border-left:1px solid var(--terracotta);border-top:1px solid var(--terracotta);pointer-events:none}.closing:before,.homecoming:before{content:'';display:block;width:48px;height:54px;background:url('/logo.png') center/contain no-repeat;margin:0 auto 28px;mix-blend-mode:multiply}.eyebrow{font-size:.875rem;letter-spacing:.12em}.service-row p,.inclusion p,ul{font-size:1rem}.service-subtitle,.fine-print,.preview-note,footer p{font-size:.875rem}figcaption{font-size:.75rem;letter-spacing:.01em;line-height:1.5;max-width:calc(100% - 24px)}.faq summary{min-height:44px;padding-top:8px}.faq details[open]{padding-bottom:26px}.faq details p{max-width:100%}.service-row .text-link{display:inline-block}.form-error{color:#873c35;font-size:.875rem;margin:8px 0}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#873c35}#inquiry-result:focus{outline:2px solid var(--focus)}
@media(max-width:1000px){.service-row>.text-link{grid-column:2;justify-self:start}}@media(max-width:700px){nav a{min-height:44px;display:flex;align-items:center}.hero-image{height:420px;margin:8px}.service-row>.text-link{grid-column:2}.package-overview p{padding-right:0}.package-overview .price{position:static;margin-top:12px}.package-overview a{padding:24px 12px}.closing,.homecoming{padding-inline:8vw}.hero-note{position:static;margin-top:-10px}.contact-layout{gap:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Brand refinement: selective wordmark, AJ watermark and Spring Air */
:root{--slate:#4C607F;--powder:#DEEAF8;--periwinkle:#8699B9;--pearl:#FFF4EE;--blue-charcoal:#333B44}
.brand img{width:138px;height:84px}.footer-brand{display:inline-block}.footer-brand img{width:76px;height:63px}.portrait-mark{width:180px;height:auto;opacity:.65}.portrait-space{background:var(--powder);border-color:var(--periwinkle)}.homecoming{background:var(--powder);color:var(--blue-charcoal);position:relative;isolation:isolate;overflow:hidden}.homecoming:before{display:none}.homecoming:after{content:'';position:absolute;right:-30px;bottom:-50px;width:330px;height:280px;background:url('/monogram.svg') center/contain no-repeat;opacity:.045;z-index:-1;pointer-events:none}.homecoming em{color:var(--slate)}.homecoming .text-link{color:var(--slate);border-color:var(--slate)}.closing:before{background-image:url('/monogram.svg');width:48px;height:42px;margin-bottom:24px}.story,.custom{position:relative;isolation:isolate;overflow:hidden}.custom{background-color:var(--pearl)}.package-overview{border-color:var(--periwinkle)}.package-overview a:hover,.package-overview a:focus-visible{background:var(--powder)}
@media(max-width:700px){.brand img{width:122px;height:75px}.homecoming:after{width:230px;height:200px;right:-60px;bottom:-50px}}

/* Supplied April Jo typography across all pages. */
@font-face{font-family:Italiana;src:url('/fonts/Italiana-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Dulcinea;src:url('/fonts/Dulcinea.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--serif:Italiana,Georgia,serif;--sans:Italiana,Georgia,serif}
body{font-family:Italiana,Georgia,serif;font-size:20px;line-height:1.65;font-weight:400}
h1,h2,h3,.lead{font-family:Italiana,Georgia,serif;font-weight:400;letter-spacing:-.015em;line-height:1.12}
p,.service-row p,.package-overview p,.panel-copy p,.inclusion p,.biography p,.form-note,.form-status{font-family:Italiana,Georgia,serif;font-size:20px;line-height:1.65;letter-spacing:.012em;font-weight:400}
p{max-width:55ch}
button,input,textarea,select,.button,.text-link,nav,.eyebrow,.price,.investment,form label,.service-tab,.panel-copy li,.package li,.faq summary{font-family:Italiana,Georgia,serif;font-weight:400}
.button,.text-link,nav,.site-header nav,.eyebrow,form label,.service-tab,.panel-copy li,.package li,.faq summary{font-size:18px;line-height:1.5}
.eyebrow{letter-spacing:.065em}
h1 em,h2 em,.hero-note,.closing h2 em{font-family:Dulcinea,cursive;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.28}
.studio-hero h1{font-family:Italiana,Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.025em}
.studio-hero h1 em{font-family:Dulcinea,cursive;font-style:normal;letter-spacing:0;line-height:1.25;font-size:.9em}
.hero-note{font-size:30px}.image-stamp{font-family:Italiana,Georgia,serif;font-style:normal}
.footer-top p{font-family:Italiana,Georgia,serif;font-style:normal}
.font-credit{display:block;font-family:Italiana,Georgia,serif;font-size:14px;line-height:1.5;margin-top:18px}.font-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){p,.service-row p,.package-overview p,.panel-copy p,.inclusion p,.biography p,.form-note,.form-status{font-size:19px;line-height:1.6}.service-strip{font-size:16px}.footer-links{font-size:17px}.site-header nav{font-size:18px}}

/* Philosopher paragraph text; preserve Italiana titles and Dulcinea accents. */
@font-face{font-family:Philosopher;src:url('/fonts/Philosopher-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Philosopher;src:url('/fonts/Philosopher-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Philosopher;src:url('/fonts/Philosopher-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Philosopher;src:url('/fonts/Philosopher-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
p,.service-row p,.package-overview p,.panel-copy p,.inclusion p,.biography p,.form-note,.form-status,.footer-top p{font-family:Philosopher,Georgia,serif;font-size:18px;line-height:1.7;letter-spacing:0;font-weight:400}
@media(max-width:700px){p,.service-row p,.package-overview p,.panel-copy p,.inclusion p,.biography p,.form-note,.form-status,.footer-top p{font-size:18px;line-height:1.65}}

/* Final readability refinement. Italiana has one real weight; a light stroke
   strengthens its hairlines without pretending a medium font file exists. */
:root{--font-display:Italiana,Georgia,serif;--font-body:Philosopher,Georgia,serif;--font-accent:Dulcinea,cursive;--text:#3F3C3C;--text-secondary:#665653}
.story::before,.custom::before{content:none;background:none}
h1,h2,h3{color:var(--text);-webkit-text-stroke:.22px currentColor}
h1 em,h2 em,.hero-note{-webkit-text-stroke:.12px currentColor}
body{font-family:var(--font-body);font-size:18px;color:var(--text)}
.service-subtitle,button,input,textarea,select,.button,.text-link,nav,.eyebrow,.price,.investment,form label,.package li,.faq summary{font-family:var(--font-body);-webkit-text-stroke:0}
.service-subtitle{font-size:18px;line-height:1.5;color:var(--text-secondary)}
.button,.text-link,nav,form label,.faq summary{font-size:18px;font-weight:400}
.eyebrow{font-size:14px;font-weight:700;line-height:1.6;letter-spacing:.1em}
.button,.nav-inquire{font-weight:700}
input,textarea,select{font-size:18px}
button:disabled{opacity:1;background:#e4dad5;color:#665653;border-color:#b29c95}
@media(max-width:700px){.service-subtitle{font-size:17px}.service-row h3{line-height:1.18}.button{max-width:100%;text-align:center}.service-row>div,.package>div{min-width:0}h1,h2,h3{overflow-wrap:break-word}}

/* Live inquiry delivery: honeypot and submission status states. */
.botcheck{display:none}
#inquiry-result h3{font-size:24px}
#inquiry-result.sent{border-left:3px solid var(--rose)}
#inquiry-result.failed{background:#f6e3e1;border-left:3px solid #873c35}
#inquiry-result a{text-decoration:underline;text-underline-offset:3px}
