:root{--cream:#f8f5ed;--ink:#303e3b;--sage:#cbd3c1;--yellow:#ffd62e;--pink:#e6c8bc;--blue:#bacbd0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 Arial,sans-serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #756623;outline-offset:5px}.skip{position:absolute;top:-60px;left:20px;background:white;z-index:10}.skip:focus{top:10px}.announcement{background:var(--sage);padding:8px 7%;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;display:flex;justify-content:space-between}header{max-width:1400px;margin:auto;padding:27px 6%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;text-decoration:none;gap:9px;font:bold 26px Georgia,serif;white-space:nowrap}.sun{font:58px Georgia;color:#e8bb13;line-height:1}.brand small{display:block;font:10px Arial;letter-spacing:5px;text-align:center;margin-top:5px}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav a{text-decoration:none}.button{display:inline-block;border:1px solid var(--ink);border-radius:3px;padding:15px 24px;background:var(--yellow);font-size:13px;font-weight:bold;text-decoration:none;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:3px 4px 0 var(--ink)}.button.small{padding:11px 20px}.menu{display:none}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:60px 7% 90px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;margin:0 0 22px}h1,h2,h3{font-weight:normal;font-family:Georgia,serif;line-height:1.04}h1{font-size:clamp(64px,7.7vw,112px);letter-spacing:-5px;margin:0 0 28px;position:relative}em{font-weight:normal}h1 em{position:relative;z-index:1}h1 em:after{content:'';height:16px;background:var(--yellow);position:absolute;bottom:10px;left:-2px;right:-9px;z-index:-1;transform:rotate(-3deg)}.spark{position:absolute;color:#d8ab77;font:65px Georgia;left:340px;bottom:12px}.intro{max-width:370px;font-size:16px}.actions{display:flex;gap:24px;align-items:center;margin:28px 0}.textlink{text-underline-offset:7px;font-size:13px;font-weight:bold}.footnote{font-size:10px;max-width:370px;letter-spacing:.4px}.hero-art{position:relative;align-self:center;padding:25px 10px}.photo-placeholder{position:relative;transform:rotate(4deg);background:#eee5d7;padding:15px 15px 12px;box-shadow:12px 18px 0 #ddd9c7;border-radius:200px 200px 4px 4px}.arch{height:450px;position:relative;overflow:hidden;background:var(--blue);border-radius:190px 190px 2px 2px}.sunshape{position:absolute;width:135px;height:135px;border-radius:50%;background:var(--yellow);top:80px;right:55px}.hill{position:absolute;width:600px;height:350px;border-radius:50%;bottom:-180px}.h1{background:#a7b29c;left:-250px;transform:rotate(20deg)}.h2{background:#859b89;right:-340px;bottom:-190px;transform:rotate(-35deg)}.flower{position:absolute;font:140px Georgia;color:#e8c0ae;z-index:2;bottom:65px;left:55px}.f2{font-size:95px;color:#f5edd8;bottom:35px;left:160px}.photo-note{display:block;text-align:center;font-size:8px;letter-spacing:2px;margin:13px 0 0}.sticker{position:absolute;right:-30px;bottom:25px;background:var(--yellow);height:120px;width:120px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;font:20px Georgia;transform:rotate(12deg)}.sticker i{font-size:25px}.caption{text-align:center;font:italic 17px Georgia;margin-top:34px}.orbit{position:absolute;border:1px solid #acb29d;width:95%;height:95%;border-radius:50%;transform:rotate(-20deg);top:0;left:-20px}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:20px;background:var(--pink);padding:24px 5%;font-size:10px;letter-spacing:2px}.ribbon b{font-size:24px;font-weight:normal}.welcome{max-width:760px;margin:0 auto;text-align:center;padding:95px 25px}h2{font-size:clamp(38px,4vw,58px);letter-spacing:-1.8px;margin:0 0 25px}.welcome>p:last-child{max-width:570px;margin:25px auto 0}.school{background:var(--sage);padding:85px 8%;display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.paper{background:var(--cream);padding:26px;transform:rotate(-6deg);max-width:430px;box-shadow:14px 15px 0 #afbaa5}.tiny{font-size:8px;letter-spacing:2px}.school-frame{margin-top:20px;background:#b8c9cb;min-height:330px;border-radius:150px 150px 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font:30px Georgia;padding:20px}.sunflower{color:var(--yellow);font:120px Georgia;line-height:1.3}.paper>p{font:italic 16px Georgia;text-align:center;margin:20px 0 0}.scribble{display:block;text-align:center;margin-top:50px;font:italic 25px Georgia}.benefits{padding:0;list-style:none;margin:30px 0}.benefits li{display:flex;gap:19px;padding:16px 0;border-top:1px solid #a5b09e}.benefits li>span{font:italic 25px Georgia;opacity:.65}h3{font-size:24px;margin:0 0 8px}.benefits p{margin:0;font-size:13px}.school-copy>p:not(.eyebrow){font-size:15px}.sessions{padding:90px 7%;max-width:1400px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}.section-heading>p{font-size:13px}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.session-image{height:280px;position:relative;overflow:hidden;margin-bottom:28px}.seasonal{background:#dbc0aa}.family{background:#c8cfc0}.galleries{background:#c1d0d3}.image-label{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2px}.decor{position:absolute;font:190px Georgia;color:#f8efd8;top:-18px;left:20px}.vase{position:absolute;background:#a16f5a;width:90px;height:120px;border-radius:5px 5px 40px 40px;bottom:42px;right:60px;transform:rotate(10deg)}.rainbow{width:210px;height:225px;border:27px solid #e3b9a5;border-bottom:0;border-radius:110px 110px 0 0;position:absolute;top:35px;left:50%;transform:translateX(-50%);box-shadow:inset 0 0 0 22px #ecd4a5}.envelope{position:absolute;left:50%;top:65px;transform:translateX(-50%) rotate(-10deg);background:#f5f0e3;width:195px;height:130px;box-shadow:9px 9px 0 #a4b5b9;text-align:center;font:70px Georgia;color:#b0745c;line-height:130px}.session-grid .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:14px}.session-grid p:not(.eyebrow){font-size:14px;margin-bottom:20px}.draft-note{font-size:11px;text-align:center;margin:45px 0 0;opacity:.7}.about{background:#e8dfd1;padding:85px 10%;display:grid;grid-template-columns:1fr 1fr;gap:15%}.about-copy{font-size:15px}.big-sun{font:80px Georgia;color:#d3a21b}.about-copy>p:first-of-type{font:25px/1.4 Georgia}.faq{padding:90px 20%;}details{border-bottom:1px solid #c5c8bb;padding:20px 0}summary{cursor:pointer;font-size:15px;font-weight:bold}details p{font-size:14px;max-width:650px}.contact{background:var(--yellow);text-align:center;padding:70px 25px 65px;position:relative}.contact>span{display:block;font:55px Georgia;line-height:1;margin-bottom:20px}.contact .button{background:var(--ink);color:var(--cream);margin-top:15px}.contact .email,.contact .phone{display:block;font-size:13px;margin-top:19px;text-underline-offset:4px}.contact .phone{margin-top:6px}footer{padding:35px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p{font-size:12px}.copyright{font-size:10px!important}footer .brand{font-size:22px}footer .sun{font-size:46px}@media(min-width:1500px){.school,.about{padding-left:calc((100vw - 1150px)/2);padding-right:calc((100vw - 1150px)/2)}}@media(max-width:850px){nav{gap:15px}.brand{font-size:22px}.hero{padding-top:30px;gap:30px}h1{font-size:75px}.spark{left:230px;font-size:45px}.arch{height:360px}.sticker{right:-12px;width:100px;height:100px}.actions{flex-direction:column;align-items:flex-start;gap:15px}.school{gap:7%;padding:65px 6%}.school-frame{min-height:270px}.session-grid{gap:18px}.session-image{height:235px}.faq{padding:70px 10%}footer{flex-wrap:wrap}}@media(max-width:650px){.announcement{justify-content:center;font-size:9px}.announcement span{display:none}header{position:relative;padding:22px 6%}.menu{display:block;background:none;border:1px solid #b3b9ad;border-radius:3px;padding:8px;color:var(--ink)}nav{display:none;position:absolute;top:95px;left:0;right:0;background:var(--cream);padding:25px;z-index:5;border-bottom:1px solid #d4d6ca;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:32px 7% 55px}.hero-copy{max-width:440px}h1{font-size:84px}.spark{left:280px}.intro{max-width:340px}.actions{flex-direction:row;align-items:center;gap:18px}.hero-art{max-width:370px;margin:10px auto;width:90%}.arch{height:350px}.ribbon{padding:16px 6%;flex-wrap:wrap;font-size:8px;gap:8px 14px}.ribbon b:nth-of-type(2){display:none}.welcome{padding:65px 7%}h2{font-size:41px}.school{grid-template-columns:1fr;gap:65px;padding:65px 8%}.school-art{max-width:340px;margin:auto}.school-copy{max-width:430px}.sessions{padding:65px 7%}.section-heading{display:block}.session-grid{grid-template-columns:1fr;gap:45px}.session-image{height:300px}.session-grid article{max-width:460px;width:100%;margin:auto}.about{grid-template-columns:1fr;gap:20px;padding:65px 8%}.about-heading h2{line-height:1.12}.about-copy .big-sun{display:none}.faq{padding:65px 8%}.contact{padding:60px 7%}footer{display:block;text-align:center}footer .brand{justify-content:center}footer p{margin-top:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand{position:relative;flex-direction:column;gap:0}.logo{width:165px;height:95px;object-fit:contain}.brand-sub{font:9px Arial;letter-spacing:4px;margin-top:4px}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 35%;position:relative;z-index:3}.school-frame{padding:0;overflow:hidden;height:365px}.school-frame img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.session-image img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.portfolio{padding:0 7% 90px;max-width:1400px;margin:auto;text-align:center}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}.gallery-photo{padding:0;border:0;cursor:zoom-in;background:#ddd;overflow:hidden;height:310px;border-radius:3px}.gallery-photo:nth-child(4n+2){margin-top:24px}.gallery-photo img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.gallery-photo:hover img{transform:scale(1.035)}dialog{padding:40px 15px 15px;background:var(--cream);border:0;max-width:95vw;max-height:95vh}dialog::backdrop{background:#182320df}dialog img{display:block;max-height:80vh;max-width:85vw;object-fit:contain}.close{position:absolute;right:10px;top:8px;background:none;border:0;font:14px Arial;cursor:pointer;color:var(--ink)}@media(max-width:850px){nav{gap:17px;font-size:12px}.gallery-photo{height:230px}}@media(max-width:650px){header{padding-top:12px;padding-bottom:12px}.logo{width:140px;height:85px}nav{top:125px}.portfolio{padding-bottom:60px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-photo{height:260px}.gallery-photo:nth-child(4n+2){margin-top:0}.school-frame{height:330px}.session-image{height:370px}}
.brand-anchor{padding:62px 7% 54px;background:var(--cream);text-align:center}.anchor-label{font:italic 25px/1.3 Georgia,serif;letter-spacing:-.3px;margin:0 0 26px}.anchor-art{display:block;max-width:1120px;margin:0 auto;border-radius:16px;overflow:hidden}.anchor-art picture,.anchor-art img{display:block;width:100%;height:auto}.anchor-art:hover{outline:2px solid #e6be50;outline-offset:5px}.scripture{max-width:790px;margin:48px auto 0}.scripture-sun{font:42px Georgia,serif;color:#c79b19}.scripture blockquote{margin:16px 0 20px;font:italic clamp(22px,2.4vw,32px)/1.5 Georgia,serif;letter-spacing:-.4px}.scripture p{font-size:10px;font-weight:bold;letter-spacing:3px;margin:0}.brand-anchor+footer{border-top:1px solid #dedfd3}@media(max-width:650px){.brand-anchor{padding:42px 7%}.anchor-label{font-size:23px}.scripture{margin-top:32px}.verse-break{display:none}}
.picture-day-process{max-width:1400px;margin:auto;padding:80px 7% 70px;border-bottom:1px solid #dedfd3}.process-heading{max-width:680px;margin:0 auto 40px;text-align:center}.process-heading>p:last-child{font-size:15px;max-width:500px;margin:0 auto}.process-steps{list-style:none;padding:0;margin:0 0 35px;display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.process-steps li{border-top:1px solid #b9c2af;padding:23px 0 0}.step-number{display:block;font:italic 40px Georgia,serif;color:#7e927d;margin-bottom:18px}.process-steps h3{font-size:26px;line-height:1.18;max-width:270px}.process-steps p{font-size:14px;margin:15px 0 0}.picture-day-process>.button{display:table;margin:0 auto}@media(max-width:650px){.picture-day-process{padding:60px 8%}.process-steps{grid-template-columns:1fr;gap:26px}.process-steps h3{max-width:none}.process-heading .eyebrow{line-height:1.6}.process-steps li{padding-top:20px}.step-number{font-size:32px;margin-bottom:12px}}
.session-image.family img{object-position:center 34%}
.booking-inquiry{max-width:690px;margin:40px auto 24px;padding:30px;background:var(--cream);border:1px solid var(--ink);border-radius:6px;text-align:left}.booking-inquiry h3{font-size:29px;margin-bottom:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-inquiry label{display:block;font-size:12px;font-weight:bold;margin-bottom:18px}.booking-inquiry input,.booking-inquiry textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #aab2a3;border-radius:3px;background:white;color:var(--ink);font:15px/1.5 Arial,sans-serif}.booking-inquiry textarea{resize:vertical}.booking-inquiry .button{cursor:pointer;margin-top:0}.form-note,#inquiry-status{font-size:11px;line-height:1.5;margin:15px 0 0}.booking-inquiry input:focus,.booking-inquiry textarea:focus{outline:2px solid #7e927d;outline-offset:2px}@media(max-width:650px){.booking-inquiry{padding:22px}.form-row{grid-template-columns:1fr;gap:0}}
.session-image.family{background:#d2cec5}.session-image.family img{object-fit:contain;object-position:center center}
.session-image.galleries img{object-position:center top}
.about{row-gap:44px}.about-photos{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.about-photos figure{margin:0;padding:9px;background:var(--cream);box-shadow:0 5px 15px #303e3b14}.about-photos figure:nth-child(1){transform:rotate(-2deg)}.about-photos figure:nth-child(2){margin-top:18px;transform:rotate(1deg)}.about-photos figure:nth-child(3){transform:rotate(2deg)}.about-photos img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}@media(max-width:650px){.about-photos{gap:9px;margin-top:10px}.about-photos figure{padding:4px}.about-photos figure:nth-child(2){margin-top:12px}.about{row-gap:24px}}
/* Let the biography flow around the heading instead of reserving an empty column. */
.about{display:flow-root;padding-top:65px;padding-bottom:65px}.about-heading{float:left;width:43%;margin:0 5% 20px 0}.about-heading h2{font-size:clamp(38px,4vw,55px);line-height:1.08}.about-copy .big-sun{display:none}.about-copy>p:first-of-type{margin-top:0}.about-copy>p{margin-bottom:18px}.about-photos{clear:both;padding-top:28px}.about-copy>.textlink{display:inline-block;margin-top:3px}@media(max-width:650px){.about-heading{float:none;width:auto;margin:0 0 24px}.about-heading h2{font-size:41px}.about{padding-top:55px;padding-bottom:55px}.about-photos{padding-top:24px;margin-top:0}}
/* Portrait cards follow each photograph's proportions. */
.session-grid .session-image{height:auto;aspect-ratio:auto;background:transparent;border-radius:3px}.session-grid .session-image img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.hero-art .arch{height:auto;aspect-ratio:2/3}.hero-art .hero-photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center top}
