:root{--cream:#fffcf9;--ink:#41424c;--pistachio:#b2d3c2;--sage:#6f8f7e;--pink:#ffc6c6;--white:#fff;--line:rgba(65,66,76,.22);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif;--script:"Allura",cursive;--pad:clamp(1.25rem,5vw,5.5rem);--radius:1rem}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:5rem;overflow-x:hidden}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;overflow-x:hidden}body.menu-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.skip-link{position:fixed;z-index:200;top:.75rem;left:.75rem;background:var(--pink);padding:.7rem 1rem;border-radius:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.site-header{height:5rem;position:absolute;z-index:80;inset:0 0 auto;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3rem;padding:0 var(--pad);background:var(--ink);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.18)}.brand,.footer-brand{font:600 1.45rem/1 var(--serif);text-transform:uppercase;letter-spacing:.12em;display:flex;gap:.28rem}.brand span:last-child{color:var(--pink)}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1rem,2vw,2.4rem)}.site-nav a{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;padding:.35rem 0;border-bottom:1px solid transparent}.site-nav a:hover{border-color:var(--pink)}.menu-toggle{display:none;background:none;border:0;color:inherit;padding:.75rem}
.hero{position:relative;min-height:100svh;padding:8.5rem var(--pad) 3.5rem;background:var(--sage);overflow:hidden;display:flex}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(65,66,76,.95) 0%,rgba(65,66,76,.76) 49%,rgba(65,66,76,.1) 100%)}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.72}.hero-inner{position:relative;z-index:1;color:var(--cream);width:min(100%,96rem);margin:auto;display:grid;grid-template-rows:auto 1fr auto;min-height:calc(100svh - 12rem)}.eyebrow,.section-label{font-size:.69rem;font-weight:600;text-transform:uppercase;letter-spacing:.17em;margin:0}.eyebrow span{color:var(--pink);padding:0 .4rem}.hero h1{font:500 clamp(4.7rem,9.8vw,10.5rem)/.78 var(--serif);letter-spacing:-.045em;max-width:9.5ch;margin:clamp(3rem,7vh,7rem) 0}.hero h1 span{display:block;font-size:.31em;line-height:1.3;letter-spacing:.03em;text-transform:uppercase;font-family:var(--sans);font-weight:500}.hero h1 em{color:var(--pink);font-weight:400}.hero-foot{display:grid;grid-template-columns:minmax(18rem,34rem) auto;gap:3rem;align-items:end}.hero-foot>p{font-size:clamp(1rem,1.4vw,1.25rem);margin:0}.button-row{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:3rem;padding:.7rem 1.15rem;border:1px solid var(--ink);border-radius:.7rem;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:600;transition:background .2s,color .2s,transform .2s}.button:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--cream);border-color:var(--ink)}.button-dark:hover{background:var(--pink);color:var(--ink);border-color:var(--pink)}.button-pink{background:var(--pink);color:var(--ink);border-color:var(--pink)}.text-link{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid;padding-bottom:.2rem}.text-link span{color:var(--pink);font-size:1rem}
.section-pad{padding:clamp(5.5rem,10vw,10rem) var(--pad)}.section-heading{display:grid;grid-template-columns:minmax(10rem,.55fr) 2fr;gap:3rem;align-items:start;margin-bottom:clamp(3.5rem,7vw,7rem)}.section-heading h2{font:500 clamp(3.5rem,7vw,7rem)/.86 var(--serif);letter-spacing:-.035em;margin:0;max-width:10ch}.section-heading .section-label{padding-top:.8rem;color:var(--sage)}.section-heading.light{color:var(--cream)}.section-heading.light .section-label{color:var(--pink)}.lead{font:500 clamp(1.55rem,2.7vw,2.65rem)/1.14 var(--serif)}
.testimonial{padding:clamp(4rem,7vw,7rem) var(--pad);background:var(--white);display:grid;grid-template-columns:.5fr 2fr .55fr;gap:3rem;align-items:end}.testimonial blockquote{font:500 clamp(2.3rem,4.2vw,4.6rem)/1 var(--serif);margin:0}.testimonial>p:last-child{display:flex;flex-direction:column;margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.testimonial>p span{color:var(--sage)}
.portfolio-teaser{background:var(--cream)}.teaser-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(2.5rem,7vw,8rem);align-items:center}.teaser-image{padding:1rem;background:var(--pistachio);border-radius:var(--radius);transform:rotate(-1deg)}.teaser-image img{border-radius:.45rem}.teaser-copy .lead{margin-top:0}.teaser-copy .button{margin-top:1rem}
.philosophy{background:var(--ink);color:var(--cream)}.respect-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.3)}.respect-grid article{padding:2.5rem clamp(1rem,3vw,3.5rem);border-right:1px solid rgba(255,255,255,.22)}.respect-grid article:first-child{padding-left:0}.respect-grid article:last-child{border:0}.line-icon{font-size:.68rem;color:var(--pink)}.respect-grid h3{font:500 clamp(2rem,3.4vw,3.7rem)/1 var(--serif);color:var(--pistachio)}
.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink)}.audience-grid article{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:2rem;border-bottom:1px solid var(--line)}.audience-grid article:nth-child(odd){border-right:1px solid var(--line);padding-left:0}.audience-grid span{font-size:.68rem;color:var(--sage)}.audience-grid h3{font:500 clamp(1.7rem,3vw,3rem)/1 var(--serif);margin:0}.audience-grid p{grid-column:2;margin:.5rem 0}.topics{margin-top:6rem;padding-top:2rem;border-top:1px solid var(--ink);display:grid;grid-template-columns:.55fr 2fr;gap:3rem}.topics>span{font-size:.69rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sage)}.topics p{font:500 clamp(2rem,4.4vw,5rem)/1.15 var(--serif);margin:0}.topics i{font:400 1.2em var(--script);color:var(--pink)}
.mission{background:var(--pistachio);text-align:center;position:relative}.mission h2{font:500 clamp(3.2rem,6.6vw,7rem)/.94 var(--serif);max-width:16ch;margin:0 auto}.mission>p:not(.script-amp){max-width:42rem;margin:2rem auto}.script-amp{font:8rem/1 var(--script);color:rgba(255,255,255,.75);position:absolute;left:8%;top:2rem;margin:0}.mission ul{list-style:none;padding:0;display:flex;justify-content:center;gap:1.6rem;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.mission li:before{content:"✦";color:var(--pink);margin-right:.6rem}
.services{background:var(--sage);color:var(--cream)}.service-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,8rem);margin-bottom:5rem}.service-intro>p{font:500 clamp(1.7rem,3vw,3rem)/1.1 var(--serif);margin:0}.tick-list{list-style:none;margin:0;padding:0;columns:2;column-gap:2rem}.tick-list li{break-inside:avoid;margin:0 0 .8rem}.tick-list li:before,.contact-assurances li:before{content:"✓";color:var(--pink);margin-right:.6rem}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem}.service-card{grid-column:span 2;background:var(--cream);color:var(--ink);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 3}.service-summary{padding:2rem;display:flex;flex-direction:column;min-height:35rem}.card-no{font-size:.68rem;color:var(--sage)}.service-type{font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;color:var(--sage);margin:2rem 0 .75rem}.service-card h3{font:500 clamp(2.35rem,3.2vw,3.6rem)/.9 var(--serif);margin:0 0 1.5rem}.service-summary>p:not(.service-type){font-size:.9rem}.price,.tier-price{margin-top:auto;padding-top:2rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.35rem 1rem}.price span,.tier-price span{text-transform:uppercase;letter-spacing:.08em;font-size:.63rem}.price strong,.tier-price strong{font:500 1.8rem var(--serif);color:var(--sage)}.price.solo strong{font-size:3.4rem}.tier-price strong:last-child{font-size:1.1rem}.recommended{position:relative}.badge{position:absolute;right:1rem;top:1rem;background:var(--pink);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;padding:.35rem .55rem;border-radius:10rem}.disclosure{background:transparent;border:0;border-top:1px solid var(--line);padding:1rem 2rem;display:flex;justify-content:space-between;cursor:pointer;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.disclosure:hover{background:var(--pistachio)}.disclosure span{font-size:1.25rem}.card-details{padding:0 2rem 2rem;border-top:1px solid var(--line)}.card-details h4{font:600 1.2rem var(--serif);margin:1.5rem 0 .4rem}.card-details ul{padding-left:1.2rem;font-size:.84rem}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.delivery{padding-top:1rem;border-top:1px solid var(--line);font-size:.84rem}.addon{margin-top:1.25rem;background:var(--ink);border-radius:var(--radius);padding:2rem;display:grid;grid-template-columns:.5fr 1.6fr .5fr auto;gap:2rem;align-items:center}.addon>span{font-size:.68rem;color:var(--pink);text-transform:uppercase;letter-spacing:.1em}.addon h3{font:500 2.4rem var(--serif);margin:0}.addon p{margin:.5rem 0 0}.addon>strong{font:500 2rem var(--serif);color:var(--pink)}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,10rem);background:var(--white)}.testimonial-grid figure{margin:0;border-top:1px solid var(--ink);padding-top:2rem}.testimonial-grid figure:nth-child(2){margin-top:6rem}.testimonial-grid blockquote{font:500 clamp(2rem,3.2vw,3.3rem)/1.05 var(--serif);margin:0 0 2.5rem}.testimonial-grid figcaption{display:flex;flex-direction:column;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em}.testimonial-grid figcaption span{color:var(--sage)}
.sample{background:var(--pink);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(3rem,9vw,9rem)}.sample h2,.contact h2{font:500 clamp(4rem,7vw,7.5rem)/.85 var(--serif);margin:2rem 0}.sample-details{padding-top:2rem;border-top:1px solid var(--ink)}.sample-details h3{font:500 2rem var(--serif);margin:0 0 .5rem}.sample-details h3:not(:first-child){margin-top:2rem}
.about-lead{max-width:55rem;margin:0 0 5rem auto}.about-lead p:last-child{color:var(--sage)}.about-accordions{border-top:1px solid var(--ink)}.accordion-item{border-bottom:1px solid var(--line)}.accordion-button{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;padding:1.5rem 0;text-align:left;font:500 clamp(1.8rem,3vw,3rem) var(--serif);cursor:pointer}.accordion-button i{font:400 1.7rem var(--sans);color:var(--sage)}.accordion-panel{max-width:54rem;padding:0 0 2rem;margin-left:auto}.credentials{margin-top:7rem;padding-top:1.5rem;border-top:1px solid var(--ink);display:grid;grid-template-columns:.6fr repeat(3,1fr);gap:2rem}.credentials>a{display:grid;grid-template-columns:4rem 1fr;gap:1rem;align-items:center}.credentials img{width:4rem;height:4rem;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}.credentials span{font-size:.75rem}.credentials strong{font:500 1.25rem var(--serif);display:block}
.process{background:var(--ink);color:var(--cream)}.process ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25)}.process li{padding:2rem;border-right:1px solid rgba(255,255,255,.2)}.process li:first-child{padding-left:0}.process li:last-child{border:0}.process li>span{font-size:.65rem;color:var(--pink)}.process h3{font:500 2rem/1 var(--serif);color:var(--pistachio);margin:2rem 0 1rem}.consult{margin-top:4rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:1px solid rgba(255,255,255,.25);padding-top:2rem}.consult p{font:500 2rem var(--serif);margin:0}
.portfolio-intro{max-width:44rem;margin:0 0 4rem auto;font-size:1.1rem}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.project-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}.project-image{display:block;width:100%;aspect-ratio:16/9;background:var(--pistachio);border:0;padding:0;position:relative;overflow:hidden;cursor:zoom-in}.project-image img{width:100%;height:100%;object-fit:cover;object-position:left top;transition:transform .4s}.project-image:hover img{transform:scale(1.025)}.project-image span{position:absolute;right:1rem;bottom:1rem;background:var(--ink);color:var(--cream);padding:.45rem .7rem;border-radius:.45rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.project-copy{padding:2rem}.project-copy>p{font-size:.65rem;color:var(--sage);text-transform:uppercase;letter-spacing:.08em}.project-copy h3{font:500 clamp(2rem,3.2vw,3.3rem)/.95 var(--serif);margin:1rem 0 2rem}.project-copy details{border-top:1px solid var(--line);padding:1rem 0}.project-copy summary{cursor:pointer;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.project-copy details p,.project-copy details ul{font-size:.85rem}
.faq{background:var(--pistachio)}.faq-list{border-top:1px solid var(--ink)}.faq-list details,.ai-questions details{border-bottom:1px solid rgba(65,66,76,.3);padding:1.25rem 0}.faq-list summary,.ai-questions summary{cursor:pointer;list-style:none;position:relative;padding-right:3rem;font:500 clamp(1.5rem,2.6vw,2.6rem) var(--serif)}.faq-list summary::-webkit-details-marker,.ai-questions summary::-webkit-details-marker{display:none}.faq-list summary:after,.ai-questions summary:after{content:"+";position:absolute;right:.5rem}.faq-list details[open] summary:after,.ai-questions details[open] summary:after{content:"−"}.faq-list details p{max-width:56rem}
.ai-policy{background:var(--sage);color:var(--cream)}.ai-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem)}.ai-copy .lead{margin-top:0;color:var(--pistachio)}.ai-questions{margin:5rem 0}.ai-questions details{border-color:rgba(255,255,255,.3)}.ai-questions details p{max-width:58rem}.contact{background:var(--cream)}.contact>div:first-child{max-width:70rem}.contact-options{display:grid;grid-template-columns:1fr 1fr;margin-top:4rem;border-top:1px solid var(--ink)}.contact-options article{padding:2.5rem;border-right:1px solid var(--line)}.contact-options article:first-child{padding-left:0}.contact-options article:last-child{border:0}.contact-options span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sage)}.contact-options h3{font:500 2.5rem/1 var(--serif)}.contact-options .button{margin-top:1rem}.contact-assurances{list-style:none;padding:2rem 0 0;border-top:1px solid var(--line);display:flex;gap:2rem;flex-wrap:wrap;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.site-footer{background:var(--ink);color:var(--cream);padding:4rem var(--pad) 2rem;display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr;gap:3rem}.footer-brand{font-size:2rem;color:var(--pink)}.site-footer>p{margin:0}.site-footer nav,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;font-size:.75rem}.site-footer nav a,.footer-contact>a{border-bottom:1px solid transparent}.site-footer nav a:hover,.footer-contact>a:hover{border-color:var(--pink)}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem;margin-top:2rem;display:flex;justify-content:space-between;gap:2rem;font-size:.68rem}.social-links{display:flex;gap:1rem;margin-top:1rem}
.lightbox{width:min(94vw,90rem);height:min(92vh,60rem);padding:3.5rem 4.5rem 2rem;border:0;border-radius:var(--radius);background:var(--ink);color:var(--cream)}.lightbox::backdrop{background:rgba(15,16,19,.88)}.lightbox[open]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}.lightbox figure{margin:0;min-width:0;text-align:center}.lightbox img{max-height:76vh;margin:auto;object-fit:contain}.lightbox figcaption{font-size:.75rem;margin-top:1rem}.lightbox button{background:var(--pink);border:0;border-radius:50%;width:2.6rem;height:2.6rem;cursor:pointer}.lightbox-close{position:absolute;right:1rem;top:1rem;font-size:1.5rem}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.site-nav{gap:1rem}.site-nav a{font-size:.62rem}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.service-card:last-child{grid-column:1/-1}.addon{grid-template-columns:.5fr 1.5fr .5fr}.addon .button{grid-column:2/-1}.credentials{grid-template-columns:1fr 1fr}.credentials>.section-label{grid-column:1/-1}.site-footer{grid-template-columns:1fr 1fr}.footer-bottom{grid-column:1/-1}}
@media(max-width:780px){html{scroll-padding-top:4.5rem}.site-header{position:absolute;height:4.5rem;display:flex;justify-content:space-between}.menu-toggle{display:flex;align-items:center;gap:.7rem;text-transform:uppercase;letter-spacing:.1em;font-size:.67rem}.menu-toggle i,.menu-toggle i:after{content:"";display:block;width:1.3rem;height:1px;background:currentColor}.menu-toggle i:after{transform:translateY(5px)}.site-nav{position:fixed;inset:4.5rem 0 0;background:var(--ink);padding:2.5rem var(--pad);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;clip-path:inset(0 0 0 100%);visibility:hidden;transition:clip-path .3s}.site-nav.open{clip-path:inset(0);visibility:visible}.site-nav a{font:500 2.6rem/1 var(--serif);text-transform:none;letter-spacing:0;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.2)}.hero{padding-top:7rem}.hero:after{background:rgba(65,66,76,.78)}.hero-inner{min-height:calc(100svh - 10rem)}.hero h1{font-size:clamp(4rem,15vw,7rem)}.hero-foot{grid-template-columns:1fr}.section-heading,.testimonial,.topics{grid-template-columns:1fr}.testimonial{align-items:start}.testimonial .section-label{margin-bottom:1rem}.testimonial>p:last-child{margin-top:1rem}.teaser-grid,.sample,.ai-copy{grid-template-columns:1fr}.respect-grid{grid-template-columns:1fr}.respect-grid article,.respect-grid article:first-child{padding:2rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.service-intro{grid-template-columns:1fr}.process ol{grid-template-columns:1fr 1fr}.process li:nth-child(2){border-right:0}.credentials{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr}.contact h2{font-size:clamp(3.5rem,12vw,6rem)}.contact-options{grid-template-columns:1fr}.contact-options article,.contact-options article:first-child{padding:2rem 0;border-right:0;border-bottom:1px solid var(--line)}.contact-options article:last-child{border-bottom:0}.lightbox{padding:4rem 1rem 1rem}.lightbox[open]{grid-template-columns:1fr}.lightbox-prev,.lightbox-next{position:absolute;bottom:1rem}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox figcaption{padding-bottom:3rem}}
@media(max-width:560px){:root{--pad:1.15rem}.section-pad{padding-top:4.5rem;padding-bottom:4.5rem}.hero{min-height:100svh}.hero-inner{min-height:calc(100svh - 10rem)}.hero h1{font-size:clamp(3.25rem,17vw,5.1rem);line-height:.82;margin:2rem 0}.hero-foot{gap:1.25rem}.hero-foot>p{font-size:.9rem}.button-row{align-items:flex-start;flex-direction:column}.section-heading{gap:1rem;margin-bottom:3rem}.section-heading h2{font-size:clamp(3.2rem,16vw,4.7rem)}.teaser-grid{gap:2rem}.audience-grid{grid-template-columns:1fr}.audience-grid article,.audience-grid article:nth-child(odd){padding:1.5rem 0;border-right:0}.topics{margin-top:4rem}.topics p{font-size:2.2rem}.script-amp{font-size:5rem;left:1rem}.mission h2{font-size:3.3rem}.tick-list{columns:1}.service-grid{grid-template-columns:1fr}.service-card:last-child{grid-column:auto}.service-summary{min-height:auto}.price,.tier-price{margin-top:2rem}.detail-columns{grid-template-columns:1fr}.addon{grid-template-columns:1fr}.addon .button{grid-column:auto}.testimonial-grid{grid-template-columns:1fr}.testimonial-grid figure:nth-child(2){margin-top:1rem}.sample h2{font-size:3.7rem}.credentials>a{grid-template-columns:3.5rem 1fr}.credentials img{width:3.5rem;height:3.5rem}.process ol{grid-template-columns:1fr}.process li,.process li:first-child{padding:1.5rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.consult{align-items:flex-start;flex-direction:column}.project-copy{padding:1.4rem}.site-footer{grid-template-columns:1fr;gap:2rem}.footer-bottom{grid-column:auto;flex-direction:column;gap:.6rem}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}}
@media(max-width:360px){.brand{font-size:1.2rem;letter-spacing:.07em}.menu-toggle{padding:.4rem 0 .4rem .3rem;gap:.4rem}.menu-toggle i,.menu-toggle i:after{width:1.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.site-nav,.project-image img,.button{transition:none}}

/* Refined spacing, stronger botanical visibility, and children's-service artwork */
.section-pad{padding:clamp(4.25rem,7vw,7rem) var(--pad)}
.section-heading{margin-bottom:clamp(2.75rem,4.5vw,4.5rem)}
.hero{min-height:min(92svh,58rem);padding-top:7.5rem;padding-bottom:3rem}
.hero:after{background:linear-gradient(90deg,rgba(65,66,76,.94) 0%,rgba(65,66,76,.76) 43%,rgba(65,66,76,.18) 76%,rgba(65,66,76,.04) 100%)}
.hero-art{opacity:.94;object-position:center}
.hero-inner{min-height:calc(min(92svh,58rem) - 10.5rem)}
.hero h1{font-size:clamp(4.2rem,7.6vw,8.2rem);line-height:.8;max-width:11.5ch;margin:clamp(2.25rem,5vh,4.75rem) 0}
.service-intro{margin-bottom:3.5rem}
.service-summary{min-height:0;padding:1.75rem}
.service-card h3{margin-bottom:1.1rem}
.service-type{margin-top:1.35rem}
.disclosure{padding-left:1.75rem;padding-right:1.75rem}
.testimonial-grid figure:nth-child(2){margin-top:3rem}
.about-lead{margin-bottom:3.5rem}
.credentials{margin-top:4.5rem}
.ai-questions{margin:3.5rem 0}
.contact-options{margin-top:3rem}

.kids-card{position:relative;background:linear-gradient(155deg,#fffaf2 0%,#fff7f7 54%,#eef8f3 100%)}
.kids-card .service-summary{position:relative;isolation:isolate}
.kids-card .service-summary:before,.kids-card .service-summary:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(1px)}
.kids-card .service-summary:before{width:8rem;height:8rem;right:-2.5rem;top:5rem;background:rgba(255,198,198,.38)}
.kids-card .service-summary:after{width:6rem;height:6rem;left:-2rem;bottom:8rem;background:rgba(178,211,194,.35)}
.kids-characters{display:flex;align-items:center;justify-content:space-between;gap:.55rem;margin:.15rem 0 1.15rem;padding:.7rem .9rem;border:1px dashed rgba(111,143,126,.55);border-radius:1.2rem;background:rgba(255,255,255,.62)}
.kids-characters span{display:grid;place-items:center;width:2.65rem;height:2.65rem;font-size:1.65rem;background:var(--white);border-radius:50%;box-shadow:0 .25rem .7rem rgba(65,66,76,.09);animation:kids-bob 3.4s ease-in-out infinite}
.kids-characters span:nth-child(2){animation-delay:-.7s}.kids-characters span:nth-child(3){animation-delay:-1.4s}.kids-characters span:nth-child(4){animation-delay:-2.1s}.kids-characters span:nth-child(5){animation-delay:-2.8s}
@keyframes kids-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-.35rem) rotate(3deg)}}

@media(max-width:780px){
  .hero{min-height:auto;padding-top:6.5rem;padding-bottom:2.5rem;background:#647d70}
  .hero-art{opacity:1;object-position:66% center}
  .hero:after{background:linear-gradient(180deg,rgba(65,66,76,.76) 0%,rgba(65,66,76,.5) 46%,rgba(65,66,76,.82) 100%)}
  .hero-inner{min-height:auto}
  .hero h1{font-size:clamp(3.6rem,12vw,6rem);line-height:.82;max-width:12ch;margin:2.25rem 0}
  .section-pad{padding-top:4rem;padding-bottom:4rem}
  .service-intro{margin-bottom:2.5rem}
}
@media(max-width:560px){
  .hero{min-height:auto;padding-top:6rem}
  .hero-art{object-position:70% center}
  .hero:after{background:linear-gradient(180deg,rgba(65,66,76,.7) 0%,rgba(65,66,76,.43) 38%,rgba(65,66,76,.84) 100%)}
  .hero h1{font-size:clamp(3.15rem,15vw,4.65rem);margin:1.75rem 0}
  .section-pad{padding-top:3.5rem;padding-bottom:3.5rem}
  .section-heading{margin-bottom:2.25rem}
  .testimonial{padding-top:3.5rem;padding-bottom:3.5rem}
  .topics{margin-top:2.75rem}
  .kids-characters{gap:.35rem;padding:.6rem}
  .kids-characters span{width:2.3rem;height:2.3rem;font-size:1.4rem}
  .button{width:100%;max-width:100%;white-space:normal;text-align:center;line-height:1.45}
}

/* Full-page editorial rhythm and heading-wrap audit */
.section-heading{grid-template-columns:minmax(9rem,.38fr) 2.62fr;gap:clamp(2rem,4vw,4.5rem);margin-bottom:clamp(2.4rem,4vw,4rem)}
.section-heading h2{font-size:clamp(3.2rem,5.25vw,5.7rem);line-height:.92;max-width:15ch;letter-spacing:-.028em;text-wrap:balance}
.portfolio-teaser .section-heading h2,.about .section-heading h2,.ai-policy .section-heading h2{max-width:none;white-space:nowrap}
.testimonial{grid-template-columns:.38fr 2.2fr .55fr;gap:clamp(2rem,4vw,4.5rem);padding-top:clamp(3.5rem,5vw,5.5rem);padding-bottom:clamp(3.5rem,5vw,5.5rem)}
.testimonial blockquote{font-size:clamp(2rem,3.15vw,3.45rem);line-height:1.08;max-width:30ch}
.teaser-grid{gap:clamp(2.5rem,5vw,5.5rem)}
.respect-grid h3{font-size:clamp(1.9rem,2.65vw,2.9rem);line-height:1.04}
.mission h2{font-size:clamp(3rem,5vw,5.4rem);line-height:.98;max-width:20ch;text-wrap:balance}
.testimonial-grid{gap:clamp(3rem,6vw,7rem)}
.testimonial-grid blockquote{font-size:clamp(1.9rem,2.7vw,2.8rem);line-height:1.1}
.sample h2,.contact h2{font-size:clamp(3.4rem,5.6vw,6rem);line-height:.92;letter-spacing:-.025em;text-wrap:balance}
.accordion-button{font-size:clamp(1.65rem,2.5vw,2.55rem);line-height:1.1}
.faq-list summary,.ai-questions summary{font-size:clamp(1.4rem,2.15vw,2.15rem);line-height:1.15}

@media(max-width:780px){
  .section-heading{grid-template-columns:1fr;gap:.8rem;margin-bottom:2.25rem}
  .section-heading h2{font-size:clamp(2.75rem,11vw,3.7rem);line-height:.98;max-width:none;letter-spacing:-.02em}
  .portfolio-teaser .section-heading h2{font-size:clamp(2.55rem,10.5vw,3.3rem);white-space:nowrap}
  .about .section-heading h2,.ai-policy .section-heading h2{white-space:normal}
  .testimonial blockquote{font-size:clamp(1.85rem,7.5vw,2.5rem);line-height:1.12}
  .respect-grid h3{font-size:clamp(1.8rem,7.5vw,2.45rem)}
  .mission h2{font-size:clamp(2.65rem,10.5vw,3.65rem);line-height:1.02}
  .sample h2,.contact h2{font-size:clamp(2.85rem,11vw,4rem);line-height:.98}
  .testimonial-grid blockquote{font-size:clamp(1.75rem,7vw,2.35rem)}
  .accordion-button{font-size:clamp(1.55rem,6.5vw,2.15rem)}
  .faq-list summary,.ai-questions summary{font-size:clamp(1.35rem,5.7vw,1.9rem);line-height:1.2}
}
@media(max-width:360px){
  .portfolio-teaser .section-heading h2{font-size:2.35rem}
}

/* Safari-safe hero photography: avoid blend-mode flattening */
.hero{isolation:isolate;background:#6f8f7e}
.hero-art{mix-blend-mode:normal;opacity:.72;filter:saturate(1.12) contrast(1.08);transform:translateZ(0)}
.hero:after{background:linear-gradient(90deg,rgba(65,66,76,.94) 0%,rgba(65,66,76,.74) 42%,rgba(65,66,76,.22) 72%,rgba(65,66,76,.06) 100%)}
@media(min-width:781px){
  .hero .text-link{color:var(--ink);border-color:var(--ink);background:rgba(255,252,249,.78);padding:.45rem .65rem;border-radius:.35rem}
}
@media(max-width:780px){
  .hero-art{opacity:.78;filter:saturate(1.1) contrast(1.06)}
  .hero:after{background:linear-gradient(180deg,rgba(65,66,76,.7) 0%,rgba(65,66,76,.5) 42%,rgba(65,66,76,.82) 100%)}
}
@media(prefers-reduced-motion:reduce){.kids-characters span{animation:none}}

@media(min-width:781px){
  .hero{min-height:clamp(44rem,82svh,49rem);padding-top:7.25rem;padding-bottom:2.75rem}
  .hero-inner{min-height:calc(clamp(44rem,82svh,49rem) - 10rem)}
  .hero h1{font-size:clamp(4.2rem,6.25vw,7.2rem);line-height:.79;max-width:22ch;margin:clamp(1.8rem,3.5vh,3.25rem) 0}
  .hero h1 span{max-width:34rem}
  .hero-foot{grid-template-columns:minmax(18rem,32rem) 1fr}
  .hero-foot .button-row{justify-content:flex-end}
}

/* Final hero composition: compact on laptops, collision-free on small screens */
@media(min-width:781px){
  .hero{min-height:clamp(36rem,68svh,42rem);padding-top:6.5rem;padding-bottom:2.25rem}
  .hero-inner{min-height:calc(clamp(36rem,68svh,42rem) - 8.75rem);grid-template-rows:auto auto auto;align-content:space-between}
  .hero h1{font-size:clamp(3.9rem,5.6vw,6.45rem);line-height:.82;max-width:22ch;margin:1.5rem 0}
  .hero h1 span{width:min(100%,62rem);max-width:none;line-height:1.3;text-wrap:balance}
  .hero-foot{gap:2rem}
}
@media(max-width:780px){
  .hero{padding:6.25rem var(--pad) 2.4rem}
  .hero-inner{grid-template-rows:auto auto auto;align-content:start;gap:0}
  .hero h1{font-size:clamp(2.9rem,11.8vw,4.15rem);line-height:.97;letter-spacing:-.03em;max-width:100%;margin:1.7rem 0 2rem}
  .hero h1 span{font-size:.26em;line-height:1.5;letter-spacing:.035em;margin-bottom:.9rem}
  .hero-foot{gap:1.5rem}
  .hero-foot>p{font-size:1rem;line-height:1.55}
  .button-row{gap:.9rem}
}
@media(max-width:560px){
  .hero{padding-top:5.8rem}
  .hero h1{font-size:clamp(2.65rem,12.6vw,3.65rem);line-height:1;letter-spacing:-.025em;margin:1.45rem 0 1.75rem}
  .hero h1 span{font-size:.27em;line-height:1.5;margin-bottom:.75rem}
}

/* Keep the navigation and hero together within the opening viewport. */
.site-header{position:relative;inset:auto}
.hero{min-height:calc(100svh - 5rem);padding-top:2.25rem;padding-bottom:2.25rem}
.hero-art{object-position:center top}
.hero-inner{min-height:calc(100svh - 9.5rem)}
@supports(height:100dvh){
  .hero{min-height:calc(100dvh - 5rem)}
  .hero-inner{min-height:calc(100dvh - 9.5rem)}
}
@media(max-width:780px){
  .hero{min-height:calc(100svh - 4.5rem);padding-top:1.5rem;padding-bottom:2rem}
  .hero-art{object-position:70% top}
  .hero-inner{min-height:calc(100svh - 8rem);align-content:space-between}
  @supports(height:100dvh){
    .hero{min-height:calc(100dvh - 4.5rem)}
    .hero-inner{min-height:calc(100dvh - 8rem)}
  }
}
@media(max-width:560px) and (max-height:650px){
  .hero{padding-top:.9rem;padding-bottom:.7rem}
  .hero-inner{min-height:calc(100svh - 6.4rem)}
  .eyebrow{font-size:.58rem;line-height:1.5}
  .hero h1{font-size:clamp(2.15rem,11.5vw,2.65rem);line-height:.96;margin:.8rem 0 1rem}
  .hero h1 span{font-size:.25em;line-height:1.35;margin-bottom:.4rem}
  .hero-foot{gap:.65rem}
  .hero-foot>p{font-size:.82rem;line-height:1.4}
  .button-row{gap:.55rem}
  .hero .button{min-height:2.55rem;padding:.45rem .7rem;font-size:.58rem}
  .hero .text-link{font-size:.6rem}
  @supports(height:100dvh){.hero-inner{min-height:calc(100dvh - 6.4rem)}}
}

/* Compact client quotation and accessible flip-card interactions. */
.testimonial blockquote{font-size:clamp(1.75rem,2.55vw,2.85rem);line-height:1.12;max-width:34ch}
.respect-grid{align-items:stretch}
.respect-grid article{padding:0;min-width:0;perspective:90rem}
.philosophy-toggle{width:100%;height:100%;min-height:24rem;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;display:block}
.philosophy-front,.philosophy-back{height:100%;min-height:24rem;padding:2.5rem clamp(1.25rem,3vw,3.5rem);display:flex;flex-direction:column;backface-visibility:hidden;transform-origin:center;animation:flip-face-in .42s ease both}
.philosophy-front h3{margin:auto 0}
.philosophy-back{background:rgba(178,211,194,.1)}
.philosophy-back p{margin:auto 0;font-size:.92rem;line-height:1.72}
.flip-cue{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.25);font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--pink)}
.flip-cue span{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid currentColor;border-radius:50%;font-size:1rem}
.philosophy-toggle:hover .flip-cue,.philosophy-toggle:focus-visible .flip-cue{color:var(--cream)}
.service-card{perspective:100rem}
.service-card.is-flipped{justify-content:flex-start}
.service-card.is-flipped .disclosure{order:-1;border-top:0;border-bottom:1px solid var(--line);background:var(--pistachio)}
.service-card.is-flipped .card-details{animation:flip-face-in .45s ease both}
.service-card:not(.is-flipped) .service-summary{animation:flip-face-in .45s ease both}
@keyframes flip-face-in{from{opacity:0;transform:rotateY(-12deg) scale(.985)}to{opacity:1;transform:rotateY(0) scale(1)}}
@media(max-width:780px){
  .philosophy-toggle,.philosophy-front,.philosophy-back{min-height:18rem}
  .philosophy-front,.philosophy-back{padding:2rem 0}
  .testimonial blockquote{font-size:clamp(1.6rem,6.6vw,2.1rem);line-height:1.15}
}
@media(prefers-reduced-motion:reduce){.philosophy-front,.philosophy-back,.service-card.is-flipped .card-details,.service-card:not(.is-flipped) .service-summary{animation:none}}
