:root{--paper:#fff8e9;--ink:#643344;--muted:#805a65;--line:#e7c7bf;--plum:#b53c56}
body{font-family:'Trebuchet MS',Arial,sans-serif;overflow-x:hidden}
.design-switch{background:#f6df9c;font-size:11px}.design-switch a:last-child{font-weight:bold;border-bottom:2px solid #b53c56}
header{border:0;height:100px}.wordmark{color:#b53c56;font:bold 49px 'Trebuchet MS',sans-serif;letter-spacing:-4px;transform:rotate(-5deg)}.wordmark span{letter-spacing:3px;font-size:8px;color:var(--ink)}nav{font-weight:bold}nav .nav-contact{border:0;background:#f7d89d;border-radius:50px;padding:13px 20px}
h1,h2,h3{font-family:'Trebuchet MS',Arial,sans-serif;font-weight:900;letter-spacing:-3px}em{font-style:normal;color:#b53c56}
.hero{background:radial-gradient(ellipse at 90% 25%,#fbd8d7 0%,transparent 65%);min-height:720px;grid-template-columns:1fr 1fr;padding:0 5% 45px;gap:3%}.hero-copy{padding:55px 0 25px 5%}.hero h1{font-size:clamp(85px,10vw,150px);line-height:.91;letter-spacing:-8px;margin:28px 0}.hero h1 em{display:block;transform:rotate(-5deg);transform-origin:left center}.hello-dot{color:#d49a27}.eyebrow{letter-spacing:2px;font-size:10px}.hero .intro{font-size:17px;line-height:1.75}.hero .age-line{color:#a5344d;font-size:15px;font-weight:bold;margin-top:12px}.hero-copy .button{border:0;border-radius:50% 45% 48% 42% / 45% 48% 45% 50%;padding:21px 25px;background:#b53c56;color:#fff8e9;font-size:14px;font-weight:bold;transform:rotate(-3deg);margin-top:24px}.hero-copy .button:hover{background:#922a42;color:white}.hero-foot{font-size:8px;line-height:1.7}
.hero-image{margin:25px 0 0;min-height:650px;overflow:visible;background:transparent}.hero-image>img{width:95%;height:85%;left:0;top:5%;border-radius:48% 48% 36% 43% / 34% 39% 25% 31%;transform:rotate(4deg);mask-image:none;-webkit-mask-image:none;object-position:50% 40%}.hero-image::after{display:none}.sun-doodle{position:absolute;right:-1%;top:0;color:#bc7d1e;font:100px Georgia;z-index:2;transform:rotate(15deg)}.little-note{position:absolute;left:-3%;top:8%;z-index:2;background:#f8dd90;padding:17px 22px;border-radius:48% 55% 44% 50%;font:bold 23px Georgia;transform:rotate(-12deg)}.photo-label{bottom:27px;left:10%;font:bold 28px 'Trebuchet MS',sans-serif;transform:rotate(-3deg);color:#a5344d}.photo-no{bottom:3px;left:11%;font-size:8px;color:var(--ink)}
.ticker{position:relative;background:transparent;color:#a5344d;padding:35px 7%;font:bold 23px 'Trebuchet MS',sans-serif;gap:20px}.ticker:before{content:'';position:absolute;inset:0;background:#f7df9c;clip-path:polygon(0 13%,20% 0,45% 15%,70% 3%,100% 13%,100% 87%,75% 100%,50% 85%,25% 100%,0 87%);z-index:-1}.ticker i{color:#ac7828}
.section{padding:95px 7%}h2{font-size:clamp(42px,5vw,68px);line-height:1.05}.section-top>p{font-size:15px!important}.filters{border:0;gap:10px}.filters button{border-radius:30px;background:#f5e7d6;color:var(--ink);font-size:12px}.filters button.active{background:#b53c56;color:white}.gallery{gap:55px 30px;align-items:start}.photo-card .image-wrap{border-radius:48% 48% 6% 6%;background:transparent}.photo-card:nth-child(3n+2){margin-top:55px;transform:rotate(3deg)}.photo-card:nth-child(3n+1){transform:rotate(-2deg)}.photo-card:nth-child(3n+3) .image-wrap{border-radius:45% 42% 48% 38%}.caption strong{font:bold 18px 'Trebuchet MS',sans-serif}.caption small{font-size:8px}
.about{background:linear-gradient(to bottom,var(--paper),#f9e4de 20%,#f9e4de 80%,var(--paper));gap:10%;padding-top:100px;padding-bottom:110px}.about-photo img{border-radius:46% 48% 40% 45%;transform:rotate(-5deg)}.about-photo .small-note{margin-top:35px;text-align:center}.about-copy p.large-copy{font:bold 25px/1.35 'Trebuchet MS',sans-serif}.about-tags span{border:0;background:#f8dba3;border-radius:30px;padding:10px 13px}.text-link{font-weight:bold;color:#a5344d}.video-wrap,.journal-card>img{border-radius:140px 140px 25px 25px;overflow:hidden}.moment-grid h3{font-size:28px;letter-spacing:-1px}.moment-grid article:nth-child(2){padding-top:45px}
.contact{background:linear-gradient(to bottom,var(--paper),#f7d8d3 100px);color:var(--ink)}.contact em{color:#b53c56}.parent-contact>p:not(.eyebrow),.parent-contact p.privacy-copy{color:var(--muted)}.phone-link{border-color:#bb7584}.parent-contact h3{letter-spacing:-1px}#inquiry-form input,#inquiry-form select,#inquiry-form textarea{border:0;border-bottom:1px solid #b87b83;border-radius:12px 12px 0 0;background:#ffffff60;color:var(--ink)}#inquiry-form textarea::placeholder{color:#805a65}.submit-inquiry{background:#b53c56;color:white;border-radius:40px}#form-status.error{color:#8d2035}footer{background:#f7d8d3}footer p{font-family:'Trebuchet MS',sans-serif}
@media(max-width:800px){header{height:86px}nav .nav-contact{padding:11px 14px}.hero{grid-template-columns:1fr;padding:0 6% 30px;gap:0;min-height:0}.hero-copy{padding:28px 2% 0}.hero h1{font-size:100px;letter-spacing:-6px;margin:22px 0}.hero .intro{font-size:15px}.hero-foot{margin-top:10px}.hero-image{height:133vw;max-height:680px;min-height:0;margin:15px 2% 0}.hero-image>img{height:83%;top:6%;width:96%;mask-image:none;-webkit-mask-image:none}.sun-doodle{font-size:77px;right:-2%;top:0}.little-note{font-size:20px;top:8%;padding:13px 18px}.photo-label{font-size:25px;bottom:30px;left:8%}.photo-no{bottom:10px;left:9%}.ticker{font-size:15px;gap:10px;padding:28px 5%;flex-wrap:nowrap}.ticker span{white-space:normal}.ticker i{font-size:14px}.section{padding:65px 7%}.gallery{gap:35px 20px}.photo-card:nth-child(3n+2){margin-top:0}.photo-card:nth-child(even){margin-top:35px;transform:rotate(3deg)}.photo-card:nth-child(odd){transform:rotate(-2deg)}.caption strong{font-size:15px}.filters{gap:7px}.filters button{font-size:11px;padding:10px 12px}.about{gap:45px}.about-copy p.large-copy{font-size:24px}.moment-grid article:nth-child(2){padding-top:0}.contact h2{font-size:49px}.parent-contact h3{font-size:30px}.design-switch{padding:10px 15px;gap:16px}.video-wrap,.journal-card>img{height:440px}.section-top{margin-bottom:25px}}

/* Approved photo-first opening: preserve the playful visual language. */
.hero-image{grid-column:1;grid-row:1}
.hero-copy{grid-column:2;grid-row:1}
@media(max-width:800px){
 .hero{padding-top:0}
 .hero-image{grid-column:1;grid-row:1;height:112vw;max-height:650px;margin:8px 2% 0}
 .hero-image>img{height:96%;top:1%;width:96%;object-position:50% 40%}
 .hero-image .photo-label,.hero-image .photo-no{display:none}
 .hero-copy{grid-column:1;grid-row:2;padding:18px 2% 0}
 .hero h1{font-size:clamp(64px,16vw,100px);margin:16px 0 20px}
 .hero-copy .eyebrow{margin-top:0}
 .hero .age-line{margin-top:8px}
 .hero-copy .button{margin-top:18px}
 .hero-foot{padding-top:10px}
 .little-note{top:3%}
 .sun-doodle{top:0}
}
