:root{--play-blue:#285ca7;--deep-blue:#183f83;--paper:#fffef9;--sky-paper:#f3f7ff;--ink:#18345d;--muted:#5d6d85;--red:#f04432;--pink:#e66fae;--yellow:#ffe20d;--green:#08a968;--line:#cdd9ec;--shadow:0 26px 70px #14305e38;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{min-height:100vh;color:var(--ink);background-color:var(--yellow);background-image:linear-gradient(90deg, var(--green) 0 20%, var(--play-blue) 20% 40%, var(--pink) 40% 60%, var(--red) 60% 80%, var(--yellow) 80%), linear-gradient(90deg, var(--play-blue) 0 20%, var(--pink) 20% 40%, var(--red) 40% 60%, var(--yellow) 60% 80%, var(--green) 80%), linear-gradient(0deg, var(--green) 0 25%, var(--yellow) 25% 50%, var(--pink) 50% 75%, var(--play-blue) 75%), linear-gradient(0deg, var(--yellow) 0 25%, var(--red) 25% 50%, var(--play-blue) 50% 75%, var(--green) 75%);background-position:top,bottom,0,100%;background-repeat:no-repeat;background-size:100% clamp(1rem,4vw,4rem),100% clamp(1rem,4vw,4rem),clamp(1rem,4vw,4rem) 100%,clamp(1rem,4vw,4rem) 100%;margin:0;padding:clamp(1rem,4vw,4rem);font-family:Nunito Sans,Arial Rounded MT Bold,Arial,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.skip-link{z-index:20;border:3px solid var(--deep-blue);color:#fff;background:var(--deep-blue);border-radius:.75rem;padding:.75rem 1rem;font-weight:800;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-shell{border:5px solid var(--deep-blue);background:var(--paper);width:min(100%,1100px);min-height:calc(100vh - clamp(2rem,8vw,8rem));box-shadow:var(--shadow);border-radius:clamp(1.75rem,4vw,3.5rem);margin:0 auto;position:relative;overflow:hidden}.profile-panel{background:radial-gradient(circle at 18% 88%, #ffe20d40 0 7rem, transparent 7.1rem), var(--paper);flex-direction:column;min-width:0;padding:clamp(1.5rem,4vw,3.75rem);display:flex}.profile-heading{grid-template-columns:minmax(8rem,10.5rem) 1fr;align-items:center;gap:clamp(1rem,3vw,2rem);display:grid}.portrait-card{background:#fff;border:1px solid #d7d7d7;margin:0;padding:.55rem .55rem 1.35rem;position:relative;transform:rotate(-2.5deg);box-shadow:0 9px 18px #18345d2e}.portrait-card img{aspect-ratio:1/.98;object-fit:cover;width:100%;height:auto;display:block}.pushpin{z-index:2;border:2px solid var(--deep-blue);background:var(--red);border-radius:50%;width:1.4rem;height:1.4rem;position:absolute;top:-.8rem;left:48%;box-shadow:.1rem .2rem #183f8340}.identity{min-width:0}.eyebrow{color:var(--play-blue);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .35rem;font-size:.73rem;font-weight:800}h1,h2,h3,p{text-wrap:pretty}h1{color:var(--play-blue);letter-spacing:.01em;margin:0;font-family:Shrikhand,Cooper Black,Georgia,serif;font-size:clamp(2rem,4.5vw,4.4rem);font-weight:400;line-height:.9}h1 span{margin-top:.14em;margin-left:.55em;display:block}.rainbow{fill:none;stroke-linecap:round;stroke-width:13px;width:clamp(4.5rem,9vw,7rem);margin:.7rem 0 0 .3rem;overflow:visible}.rainbow path:first-child{stroke:var(--red)}.rainbow path:nth-child(2){stroke:var(--yellow)}.rainbow path:nth-child(3){stroke:var(--green)}.rainbow path:nth-child(4){stroke:var(--play-blue)}.intro{color:var(--ink);margin:2rem 0 1.25rem;font-size:clamp(1.05rem,1.4vw,1.22rem);font-weight:700;line-height:1.55}.quick-facts{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.quick-facts li{color:var(--deep-blue);align-items:center;gap:.72rem;font-size:.95rem;font-weight:800;display:flex}.fact-dot{border:2px solid var(--deep-blue);border-radius:.16rem;flex:none;width:.75rem;height:.75rem;transform:rotate(8deg)}.fact-dot--red{background:var(--red)}.fact-dot--yellow{background:var(--yellow)}.fact-dot--green{background:var(--green)}.profile-sections{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;margin-top:2.2rem;display:grid}.profile-section{border-left:.38rem solid;padding-left:1rem}.profile-section--pink{border-color:var(--pink)}.profile-section--green{border-color:var(--green)}.profile-section--yellow{border-color:var(--yellow)}.profile-section h2{color:var(--play-blue);margin:0 0 .35rem;font-size:1.08rem;font-weight:800}.profile-section p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.55}.contact-strip{border-top:2px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:2.25rem;padding-top:2rem;display:flex}.contact-strip span,.contact-strip strong{display:block}.contact-strip span{color:var(--muted);font-size:.8rem}.contact-strip strong{color:var(--deep-blue);margin-top:.2rem;font-size:.88rem}.contact-strip a{min-height:2.75rem;color:var(--deep-blue);text-underline-offset:.2rem;flex:none;align-items:center;font-size:.86rem;font-weight:800;display:inline-flex}.contact-actions{align-items:center;gap:.8rem;display:flex}.contact-actions .family-space-link{border:2px solid var(--deep-blue);color:#fff;background:var(--deep-blue);border-radius:.65rem;padding:.68rem .85rem;text-decoration:none}.contact-actions .family-space-link:hover{background:var(--play-blue)}.calendar-panel{background:var(--sky-paper)}.calendar-intro h2{max-width:15ch;color:var(--deep-blue);letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,3.2vw,3.1rem);font-weight:800;line-height:1.05}.calendar-intro>p:last-child{max-width:52ch;color:var(--muted);margin:.8rem 0 1.6rem;font-size:.95rem;line-height:1.55}.calendar-card,.selection-card{border:2px solid var(--deep-blue);background:var(--paper);box-shadow:.45rem .45rem #285ca71a}.calendar-card{border-radius:1.3rem 1.3rem .35rem;padding:clamp(.85rem,2.5vw,1.35rem)}.calendar-toolbar{grid-template-columns:2.65rem 1fr 2.65rem;align-items:center;gap:.75rem;margin-bottom:.85rem;display:grid}.calendar-toolbar h3{color:var(--deep-blue);text-align:center;margin:0;font-size:1.08rem;font-weight:800}.month-button{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:2.65rem;height:2.65rem;padding:0;font-size:1.15rem;font-weight:800;display:grid}.month-button:hover:not(:disabled){border-color:var(--play-blue);background:#eef4ff}.month-button:disabled{cursor:not-allowed;opacity:.35}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.2rem,.65vw,.45rem);display:grid}.weekday-row{color:var(--muted);letter-spacing:.07em;text-align:center;text-transform:uppercase;margin-bottom:.38rem;font-size:.65rem;font-weight:800}.calendar-day{aspect-ratio:1/.9;cursor:pointer;width:100%;min-width:0;color:var(--ink);background:0 0;border:2px solid #0000;border-radius:.55rem;place-items:center;padding:.32rem;font-size:clamp(.72rem,1.2vw,.9rem);font-weight:800;display:grid;position:relative;overflow:hidden}.calendar-day:hover:not(:disabled){border-color:var(--play-blue);background:#eef4ff}.calendar-day--today{border-color:var(--pink)}.calendar-day--selected{border-color:var(--deep-blue);color:#fff;background:var(--play-blue);box-shadow:.18rem .2rem 0 var(--tile-color,var(--yellow));transform:translate(-.1rem,-.1rem)}.calendar-day--selected:before{background:var(--tile-color,var(--yellow));content:"";height:.28rem;position:absolute;top:0;left:0;right:0}.calendar-day:disabled{cursor:not-allowed;color:#9ba7b9}.calendar-day--outside{opacity:.28}.selection-card{border-radius:.35rem 1.3rem 1.3rem;margin-top:1rem;padding:clamp(1rem,2.5vw,1.5rem)}.selection-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.selection-heading h3{color:var(--deep-blue);margin:0;font-size:1.2rem;font-weight:800}.text-button{color:var(--play-blue);cursor:pointer;text-underline-offset:.18rem;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:800;text-decoration:underline}.selected-dates{flex-wrap:wrap;gap:.5rem;min-height:2.35rem;margin:.85rem 0 1.2rem;display:flex}.empty-selection{color:var(--muted);margin:0;font-size:.85rem}.date-chip{color:var(--deep-blue);cursor:pointer;background:#e7effd;border:0;border-radius:.4rem;align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.77rem;font-weight:800;display:inline-flex}.date-chip:after{content:"×";font-size:1rem;line-height:1}.date-chip:nth-child(4n+1){box-shadow:inset 0 .25rem var(--red)}.date-chip:nth-child(4n+2){box-shadow:inset 0 .25rem var(--yellow)}.date-chip:nth-child(4n+3){box-shadow:inset 0 .25rem var(--green)}.date-chip:nth-child(4n){box-shadow:inset 0 .25rem var(--pink)}fieldset{border:0;min-width:0;margin:0;padding:0}.time-fields{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.time-fields legend{color:var(--deep-blue);margin-bottom:.45rem;font-size:.8rem;font-weight:800}label span{color:var(--deep-blue);margin-bottom:.35rem;font-size:.76rem;font-weight:800;display:block}label small{color:var(--muted);font-weight:500}input,textarea{border:2px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:.6rem;outline:none}input{height:2.85rem;padding:0 .75rem}textarea{resize:vertical;min-height:5.6rem;padding:.7rem .75rem}input:focus,textarea:focus{border-color:var(--play-blue);box-shadow:0 0 0 3px #285ca724}.contact-fields{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.85rem;display:grid}.full-field{grid-column:1/-1}.form-message{color:#a42b1d;min-height:1.25rem;margin:.65rem 0 0;font-size:.78rem;font-weight:800}.form-message--success{color:#087c4d}.form-actions{grid-template-columns:1fr auto;gap:.65rem;display:grid}.primary-button,.secondary-button{border:2px solid var(--deep-blue);cursor:pointer;border-radius:.7rem;min-height:3rem;padding:.7rem 1rem;font-size:.84rem;font-weight:800}.primary-button{color:#fff;background:var(--deep-blue);box-shadow:.23rem .28rem 0 var(--yellow)}.primary-button:hover{background:var(--play-blue)}.secondary-button{color:var(--deep-blue);background:#fff}.secondary-button:hover{background:#eef4ff}.privacy-note{color:var(--muted);margin:1rem 0 0;font-size:.72rem;line-height:1.5}:focus-visible{outline:3px solid var(--red);outline-offset:3px}@media (width<=980px){.profile-panel{min-height:0}.profile-sections{grid-template-columns:repeat(3,1fr)}}@media (width<=650px){body{background-size:100% .85rem,100% .85rem,.85rem 100%,.85rem 100%;padding:.85rem}.site-shell{border-width:3px;border-radius:1.5rem;min-height:calc(100vh - 1.7rem)}.profile-panel{padding:1.25rem}.profile-heading{grid-template-columns:7.2rem 1fr}h1{font-size:clamp(2rem,11vw,3.1rem)}.rainbow{width:4.5rem}.intro{margin-top:1.5rem}.profile-sections{grid-template-columns:1fr}.contact-strip,.contact-actions{flex-direction:column;align-items:flex-start}.calendar-day{border-width:1.5px;border-radius:.4rem}.contact-fields,.form-actions{grid-template-columns:1fr}.secondary-button{min-height:2.75rem}}@media (width<=410px){.profile-heading{grid-template-columns:1fr}.portrait-card{width:8.5rem}h1 span{margin:0;display:inline}.rainbow{position:absolute;top:8.5rem;left:8.5rem}.calendar-card,.selection-card{box-shadow:none}.time-fields{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
