/* Previous structure and copy, with the approved watercolor palette. */
html[data-ambiance="aquarelle"]{--paper:#faf7f1;--ink:#253e42;--body:#566165;--line:#dddcd2;--mint:#697765;--accent:#ae725e;--surface:#eeeee5;--sage:#697765;--blue:#718994;--clay:#ae725e}
body{background:var(--paper);color:var(--ink)}.baseline,.hero h1{color:var(--ink)}.identity-audience{color:var(--body)}.hero{background:transparent;padding-top:36px!important;padding-bottom:45px!important}.hero-copy{order:0}.button{background:var(--sage);color:white}.button:hover{background:#52634f;color:white}.contact-button{color:var(--ink);border-color:var(--sage)}a:hover{color:var(--sage)}.button:hover{color:white}.nav-cta{border-color:var(--clay)}
.recognition{background:#eeeee5;border-radius:3px;margin:0 36px 32px;max-width:none;padding:45px 48px}.recognition-text{max-width:780px}.recognition h2{color:var(--ink)}.recognition blockquote,.work-overview .work-motto{color:var(--sage)!important}
.supplied-about{background:#f0ebe2;border-radius:3px;margin:0 36px 40px;padding:45px 48px}.about-grid{max-width:none!important}.portrait-placeholder:before{background:#e2e4d9}.about-training{border-color:var(--line)}.contact,.reservation{background:transparent!important}.pricing>div{border-bottom-color:var(--sage)}.pricing>div:nth-child(2){border-bottom-color:var(--blue)}.pricing>div:nth-child(3){border-bottom-color:var(--clay)}.pricing>div:nth-child(4){border-bottom-color:var(--sage)}.form-grid input,.form-grid select,.form-grid textarea{background:#fcfaf6;border-color:#d0d3c7}.payment-note{border-left-color:var(--clay)}
.art{aspect-ratio:1/1;position:relative;overflow:hidden;mix-blend-mode:multiply}.crop img{position:absolute;max-width:none;width:439%;height:auto;top:-106%;left:-223%;display:block}.parent img{left:-221%}.adult img{left:-332%}.youth{display:flex;align-items:center}.youth .crop{width:50%;aspect-ratio:.55;position:relative;overflow:hidden}.youth .crop img{width:840%;top:-98%;left:-20%}.youth .teen img{left:-235%}.tree img{width:100%;height:100%;object-fit:contain;display:block}.cards article:hover .art img{transform:none}.cards h3{border-top:1px solid var(--line)}.cards summary{border-color:var(--clay)}
@media(max-width:1000px){.supplied-about{padding:35px}.about-grid{gap:35px}}
@media(max-width:700px){.hero{padding-top:28px!important;padding-bottom:35px!important}.recognition{margin:0 22px 25px;padding:32px 25px}.supplied-about{margin:0 22px 30px;padding:32px 25px}.about-grid{gap:25px}}
/* Explicit contrast replaces the inherited pale text on pale panels. */
.recognition,.recognition-text p{color:#3d4c50;opacity:1}.recognition h2{color:#253e42}.recognition blockquote{color:#4f6050!important}.work-overview{background:#eeeee5;color:#253e42}.work-overview h2,.work-overview>p:last-child{color:#253e42}.work-overview .work-motto{color:#4f6050!important}
/* Backgrounds load independently of off-screen, positioned lazy images. */
.cards .art{display:block;width:100%;min-height:0;aspect-ratio:1;visibility:visible;opacity:1}.art.parent,.art.adult,.youth .crop{background-image:url('aquarelles-v22.png');background-repeat:no-repeat}.art.parent{background-size:439% auto;background-position:65.2% 55%}.art.adult{background-size:439% auto;background-position:97.9% 55%}.cards .art.youth{display:flex;align-items:center}.youth .crop{flex:0 0 50%;width:50%;height:100%;aspect-ratio:auto;background-size:840% auto}.youth .child{background-position:2.7% 45.6%}.youth .teen{background-position:31.8% 45.6%}
/* A quiet watercolor wash directly behind the heading, below its text. */
.hero-copy{isolation:isolate;position:relative}.hero h1{position:relative;isolation:isolate;overflow:visible}.hero h1:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:-42px -35px -32px;background:radial-gradient(ellipse at 28% 40%,#dbc1ac70 0%,#dbc1ac20 38%,transparent 63%),radial-gradient(ellipse at 67% 62%,#98aaa465 0%,#98aaa41c 42%,transparent 68%),radial-gradient(ellipse at 52% 22%,#dab79b40 0%,transparent 58%);border-radius:46% 35% 56% 42%;transform:rotate(-6deg)}
@media(max-width:700px){.hero h1:before{inset:-24px -12px -20px;transform:rotate(-4deg)}}
/* Keep the complete facial outlines centered in each half of the youth art. */
.cards .art.youth .crop{background-size:auto 292.57%;height:100%;min-width:0}.cards .art.youth .child{background-position:11.8% 55.64%}.cards .art.youth .teen{background-position:38.6% 55.64%}
/* The previously selected GA monogram replaces the provisional photo. */
.supplied-about .portrait-placeholder{display:block;aspect-ratio:auto;background:transparent;border:0;position:relative}.supplied-about .portrait-placeholder:before{display:none}.portrait-monogram{font-family:'Libre Caslon Display',Georgia,serif;font-size:125px;line-height:1.2;color:#748777;border:1px solid #9ea79480;border-radius:50% 50% 5px 5px;aspect-ratio:3/4;display:flex;justify-content:center;align-items:center;background:#e2e4d9}.portrait-monogram span{transform:translate(-10px,35px);color:#a57b64}.supplied-about .portrait-placeholder figcaption{position:static;text-align:center;font-size:10px;line-height:1.6;margin-top:16px;color:var(--body)}
@media(max-width:700px){.portrait-monogram{font-size:100px}}
/* One complete adolescent vignette; its crop excludes all mockup labels. */
.cards .art.adolescent{background:url('aquarelle-ado-reference-v26.png') 34.01% 56.48% / 426.67% auto no-repeat}.inclusive-adult img{display:block;width:100%;height:100%;object-fit:contain}.about-intro{font-size:18px!important;color:var(--ink);line-height:1.65}
.hero h1:before{background:radial-gradient(ellipse at 28% 40%,#c9947199 0%,#d4a17b40 38%,transparent 63%),radial-gradient(ellipse at 67% 62%,#7f9b8199 0%,#98aaa440 42%,transparent 68%),radial-gradient(ellipse at 52% 22%,#d8a35370 0%,transparent 58%)}
/* More breathing room, with one gentle entrance for the heading. */
.hero{padding-top:86px!important}.hero h1{animation:heading-entrance 1.15s cubic-bezier(.22,.61,.36,1) .15s both}
@keyframes heading-entrance{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.hero{padding-top:62px!important}}
@media(prefers-reduced-motion:reduce){.hero h1{animation:none;opacity:1;transform:none}}
.hero h1{animation:none;opacity:1;transform:none}.title-pop-line{display:block;transform-origin:50% 65%;animation:title-pop 8s cubic-bezier(.22,.61,.36,1) infinite both}.title-pop-line:nth-child(2){animation-delay:.4s}
@keyframes title-pop{0%{opacity:0;transform:translateY(48px) scale(.84)}8%{opacity:1;transform:translateY(-7px) scale(1.035)}13%{opacity:1;transform:translateY(2px) scale(.99)}18%,94%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-12px) scale(.97)}}
@media(prefers-reduced-motion:reduce){.title-pop-line{animation:none;opacity:1;transform:none}}
