:root{--rose:#D94F6E;--teal:#1D9E9E;--petal:#F9EEF1;--espresso:#2C2C2C;--blush:#F4C6D0;--white:#fff;--max:1140px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--petal);color:var(--espresso);font:400 1rem/1.65 Inter,Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Poppins,Arial,sans-serif;line-height:1.18}h1{font-size:clamp(2.25rem,4.5vw,3.6rem);letter-spacing:-.045em;margin-bottom:1.35rem}h2{font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.035em;margin-bottom:1.1rem}h3{font-size:1.22rem;margin-bottom:.8rem}p{max-width:66ch}a{color:inherit}a:hover{color:var(--rose)}button,input,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.container{width:min(calc(100% - 3rem),var(--max));margin-inline:auto}.skip{position:absolute;left:-1000px;top:0;background:var(--white);padding:1rem;z-index:100}.skip:focus{left:1rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(249,238,241,.97);border-bottom:1px solid rgba(217,79,110,.14);backdrop-filter:blur(12px)}.header-inner{min-height:86px;display:flex;align-items:center;gap:1rem}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font:700 1rem Poppins,sans-serif;white-space:nowrap}.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%;border:2px solid var(--rose)}nav{display:flex;align-items:center;gap:clamp(.55rem,1.25vw,1.4rem);margin-left:auto}nav a{font:600 .82rem Poppins,sans-serif;text-decoration:none;white-space:nowrap}nav a.active{color:var(--rose)}.header-cta{font:600 .78rem Poppins,sans-serif;color:var(--white);background:var(--rose);border-radius:100px;padding:.85rem 1rem;text-decoration:none;white-space:nowrap}.header-cta:hover{color:var(--white);filter:brightness(.9)}.menu-toggle{display:none;border:0;background:transparent;font:600 1rem Poppins,sans-serif}.page-hero{padding:clamp(3.5rem,7vw,6rem) 0 4.5rem;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(2rem,5vw,6rem);align-items:center}.hero-copy{max-width:640px}.hero-copy em{font-style:normal;color:var(--rose)}.eyebrow{color:#147879;font:700 .84rem/1.3 Poppins,sans-serif;text-transform:uppercase;letter-spacing:.11em;margin-bottom:1rem}.lead{font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.6}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:48px;padding:.72rem 1.5rem;border-radius:100px;text-decoration:none;border:2px solid var(--rose);font:600 .93rem Poppins,sans-serif;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--rose);color:var(--white)}.button.primary:hover{background:#bd3656;color:var(--white)}.button.secondary{background:transparent;color:var(--espresso)}.button.secondary:hover{background:var(--white);color:var(--espresso)}.button.light{background:var(--white);border-color:var(--white);color:var(--espresso)}.hero-visual{position:relative;text-align:center}.visual-orbit{position:relative;width:min(100%,445px);aspect-ratio:1;margin:auto;isolation:isolate}.visual-orbit:before{content:"";position:absolute;inset:-4%;border:1px solid var(--rose);border-radius:50%;opacity:.28}.visual-orbit img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:8px solid var(--white);box-shadow:0 25px 55px rgba(100,43,57,.16);animation:rise 1.2s both}.visual-note{margin:1.5rem auto 0;font:600 .85rem Poppins,sans-serif;color:#147879}.leaf-scene{position:absolute;inset:0;z-index:2;pointer-events:none}.leaf{position:absolute;width:18px;height:27px;background:var(--teal);border-radius:100% 0 100% 0;opacity:0;transform:scale(.25) rotate(-35deg);animation:grow 1.2s ease-out forwards,drift 5s ease-in-out 1.2s infinite alternate;box-shadow:inset 4px 1px rgba(255,255,255,.18)}.leaf-one{left:11%;top:25%;animation-delay:.5s,1.7s}.leaf-two{right:10%;top:20%;width:21px;height:31px;animation-delay:.85s,2.05s}.leaf-three{right:1%;top:52%;width:14px;height:22px;animation-delay:1.15s,2.35s}.leaf-four{left:6%;top:60%;width:14px;height:22px;animation-delay:1.35s,2.55s}.leaf-five{right:24%;top:0;animation-delay:1.5s,2.7s}@keyframes grow{to{opacity:.9;transform:scale(1) rotate(18deg)}}@keyframes drift{to{transform:translateY(-9px) rotate(26deg)}}@keyframes rise{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}.section{padding:4.2rem 0}.section-heading{margin-bottom:2rem}.section-heading p:last-child{font-size:1.08rem}.intro-section{border-top:1px solid var(--blush);border-bottom:1px solid var(--blush)}.split{display:grid;grid-template-columns:1fr 2fr;gap:3rem}.split .eyebrow{padding-top:.4rem}.split h2{max-width:750px}.split p:last-child{font-size:1.08rem}.cards{display:grid;gap:1.2rem}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.card{background:var(--white);padding:2rem;border:1px solid var(--blush);border-top:4px solid var(--rose);border-radius:16px;transition:transform .2s,box-shadow .2s}.card:nth-child(even){border-top-color:var(--teal)}.card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(70,30,40,.07)}.card p{margin-bottom:1rem}.text-link{font:600 .94rem Poppins,sans-serif;color:#b72c4c;text-decoration-thickness:2px;text-underline-offset:4px}.process{background:var(--white)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.4rem}.steps>div{border-top:2px solid var(--blush);padding-top:1.3rem}.steps strong{font:700 1.8rem Poppins,sans-serif;color:var(--rose)}.steps h3{margin:.7rem 0}.story-teaser{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:4rem}.portrait-placeholder{min-height:340px;border:2px dashed var(--rose);border-radius:18px;background:linear-gradient(135deg,var(--white),var(--blush));display:grid;place-items:center;text-align:center;color:#7c4052;font:600 1rem/1.5 Poppins,sans-serif}.hero-portrait{min-height:440px}.cta-band{background:var(--rose);color:var(--white);padding:3.5rem 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.cta-band .eyebrow{color:var(--white)}.cta-band p{margin-bottom:0}.cta-band h2{margin-bottom:.6rem}.site-footer{background:var(--teal);color:var(--white);padding:3.7rem 0 1rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.35fr;gap:3rem}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.footer-grid a{color:var(--white);text-decoration:none}.footer-grid a:hover{text-decoration:underline}.footer-brand{font:700 1.5rem Poppins,sans-serif;color:var(--blush)!important}.footer-grid h2{font-size:1rem;margin:.25rem 0 .5rem}.footer-grid p{margin:.2rem 0}.social{display:flex;gap:1rem;flex-wrap:wrap}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.4);margin-top:3rem;padding-top:1rem;font-size:.86rem}.narrow{max-width:740px}.story p{font-size:1.08rem}.story blockquote{margin:2rem 0;padding:.3rem 0 .3rem 1.5rem;border-left:4px solid var(--teal);color:#147879;font:600 1.45rem/1.4 Poppins,sans-serif}.values{background:var(--white)}.service-list{border-top:1px solid var(--blush)}.service-row{display:grid;grid-template-columns:200px 1fr;gap:3rem;border-bottom:1px solid var(--blush);padding:3rem 0;scroll-margin-top:100px}.service-row h2{color:var(--rose)}.service-number{font:700 .87rem Poppins,sans-serif;color:#147879;text-transform:uppercase;letter-spacing:.08em}.service-row ul{padding-left:1.25rem}.service-row li{padding:.18rem 0}.service-row>div:last-child{max-width:740px}.service-row h3{margin-top:1.5rem}.after-cards{font-size:1.05rem;margin:2rem 0 0}.resource-label{font:700 .82rem Poppins,sans-serif;color:#147879;text-transform:uppercase;letter-spacing:.08em}.resource h2,.contact-grid h2{font-size:1.55rem;margin-top:.7rem}.small-note{font-size:.9rem;color:#62565a}.resource form{margin-top:1.3rem}.resource label,.contact-grid label{display:block;font:600 .9rem Poppins,sans-serif;margin:1rem 0 .35rem}.inline-form{display:flex;gap:.5rem}.inline-form input{flex:1;min-width:0}.resource input,.contact-grid input,.contact-grid textarea{width:100%;padding:.82rem 1rem;background:var(--white);border:1px solid #9d858d;border-radius:8px;color:var(--espresso)}.resource input:focus,.contact-grid input:focus,.contact-grid textarea:focus{outline:2px solid var(--teal)}.resource .button,.contact-grid .button{white-space:nowrap}.hidden{position:absolute;left:-9999px}.faq-list{max-width:790px}.faq-list details{border-bottom:1px solid var(--blush);padding:.75rem 0}.faq-list summary{cursor:pointer;font:600 1.08rem/1.4 Poppins,sans-serif;padding:1rem 2rem 1rem 0;position:relative;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;color:var(--rose);font-size:1.5rem;top:.8rem}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding-bottom:.8rem}.contact-grid{align-items:start}.contact-grid .card{height:100%}.contact-grid form{margin-top:1rem}.contact-grid textarea{resize:vertical}.contact-grid form .button{margin-top:1.2rem}.direct-contact{margin-top:2rem}.direct-contact a{color:#ad2e4b}.thank-you{min-height:55vh}.thank-you h1{font-size:2.4rem}@media(max-width:1050px){.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}nav{display:none;position:absolute;left:0;right:0;top:85px;padding:1rem 1.5rem 1.5rem;background:var(--petal);border-bottom:1px solid var(--blush);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:.7rem 0;font-size:1rem}}@media(max-width:767px){.container{width:min(calc(100% - 2rem),var(--max))}.header-inner{min-height:76px}.brand img{width:50px;height:50px}.brand{font-size:.92rem}nav{top:75px}.hero-grid,.split,.story-teaser,.service-row{grid-template-columns:1fr;gap:1.5rem}.page-hero{padding:3rem 0}.hero-visual{max-width:320px;margin:1rem auto 0}.hero-portrait{min-height:280px}.cards.three,.cards.two,.steps{grid-template-columns:1fr}.section{padding:3rem 0}.actions{display:grid}.actions .button{width:100%}.cta-inner{display:block}.cta-inner .button{margin-top:1.4rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}.footer-grid>div:first-child{grid-column:1/-1}.service-row{padding:2rem 0;gap:.5rem}.inline-form{flex-direction:column}.portrait-placeholder{min-height:280px}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.card{padding:1.5rem}.footer-bottom{flex-direction:column;gap:.3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.leaf{opacity:.9;transform:rotate(18deg)}}

/* Revised rhythm and contact layout */
.page-hero{padding:2.8rem 0 2.3rem}.section{padding:2.9rem 0}.section-heading{margin-bottom:1.3rem}.card{padding:1.5rem}.steps{margin-top:1.3rem}.visual-orbit{width:min(100%,390px)}.hero-grid{gap:2.5rem}.story-teaser{gap:2rem}.site-footer{background:#137f80;color:white}.site-footer a:hover{color:#f4c6d0}.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem}.footer-brand img{width:68px;height:68px;object-fit:cover;border-radius:50%;display:block;margin-bottom:.9rem}.footer-social a{width:36px;height:36px;border:1px solid #ffffff99;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-right:.35rem;font-size:.75rem;text-decoration:none}.contact-panel{background:#fff;border-radius:22px;padding:clamp(1.5rem,3vw,3rem);display:grid;grid-template-columns:1.35fr .8fr;gap:3.5rem;box-shadow:0 12px 35px #7b465315}.contact-panel label{display:block;font-weight:600;margin:1rem 0 .35rem}.contact-panel input:not([type=checkbox]),.contact-panel textarea{width:100%;border:1px solid #b4a0a5;border-radius:9px;padding:.8rem 1rem}.contact-panel textarea{resize:vertical}.contact-panel fieldset{border:0;padding:0;margin:1.2rem 0}.contact-panel legend{font-weight:600;margin-bottom:.7rem}.contact-panel .checks{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .7rem}.contact-panel .checks label{display:flex;align-items:flex-start;gap:.55rem;font-weight:400;margin:0}.contact-panel .checks input{margin-top:.4rem;accent-color:var(--teal)}.contact-side .portrait-placeholder{min-height:300px}.contact-side p{margin-top:1rem}.service-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.service-tile{background:#fff;border-radius:15px;overflow:hidden;display:grid;grid-template-columns:58% 42%;min-height:255px;border:1px solid var(--blush)}.service-tile .tile-copy{padding:1.6rem}.service-tile h2{font-size:1.45rem}.service-tile img{width:100%;height:100%;object-fit:cover}.service-tile:nth-child(2n){background:#e1f3f1}.service-tile:nth-child(3){background:#f7dce3}.service-tile p{font-size:.94rem}.service-tile .text-link{font-size:.86rem}@media(max-width:900px){.service-tiles{grid-template-columns:1fr}}@media(max-width:767px){.section{padding:2.2rem 0}.page-hero{padding:2rem 0}.contact-panel{grid-template-columns:1fr;gap:1.5rem}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.service-tile{grid-template-columns:1fr}.service-tile img{height:180px;order:-1}.contact-panel .checks{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
/* Logo with a quiet animated AI network */
.ai-mark{position:relative;width:min(100%,410px);aspect-ratio:1;margin:auto;padding:7%}.ai-mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;box-shadow:0 20px 45px #65314225}.ai-network{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:var(--teal);stroke:var(--teal);stroke-width:2}.ai-network path{fill:none;stroke-dasharray:90 140;animation:signal 4s linear infinite}.ai-network circle{animation:node 2.4s ease-in-out infinite alternate}.ai-network circle:nth-of-type(even){animation-delay:1.1s}@keyframes signal{to{stroke-dashoffset:-230}}@keyframes node{to{opacity:.25;transform:scale(1.5);transform-origin:center}}.service-tiles{gap:1.2rem}.service-tile{min-height:285px;scroll-margin-top:105px}.service-tile .tile-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.4rem;padding:1.65rem}.service-tile .tile-copy p{margin-bottom:.4rem}.service-tile:nth-child(4){background:#f7f1eb}@media(prefers-reduced-motion:reduce){.ai-network path,.ai-network circle{animation:none}}

.social-icons{display:flex;flex-direction:row;flex-wrap:nowrap;gap:9px}.site-footer .social-icons a{display:flex;flex:0 0 36px;width:36px;height:36px;margin:0;align-items:center;justify-content:center;border:1px solid #ffffff99;border-radius:50%}.social-icons svg{display:block;width:18px;height:18px;fill:currentColor}

.ai-character{position:relative;width:min(100%,440px);aspect-ratio:1;margin:auto}.ai-character:before{content:"";position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,#f4c6d080,transparent 70%)}.ai-character img{position:relative;display:block;width:100%;height:100%;object-fit:contain;animation:character-float 5s ease-in-out infinite;filter:drop-shadow(0 20px 18px #764b601a)}@keyframes character-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}@media(prefers-reduced-motion:reduce){.ai-character img{animation:none}}

/* Interactive character greeting */
button.ai-character{display:block;border:0;background:transparent;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.character-motion{display:block;position:relative;width:100%;height:100%;transform-origin:50% 80%;animation:character-greeting 1.7s ease-in-out .5s both}.ai-character img{animation:character-float 6s ease-in-out infinite}.character-glow{position:absolute;left:62%;top:19%;width:15%;height:22%;border-radius:50%;background:radial-gradient(ellipse,#ffffff60,#1d9e9e30 40%,transparent 70%);mix-blend-mode:screen;pointer-events:none;animation:character-light 4.5s ease-in-out infinite}.ai-character.is-greeting .character-motion{animation:character-greeting 1.2s ease-in-out both}@keyframes character-greeting{0%,100%{transform:rotate(0) translateY(0)}30%{transform:rotate(-5deg) translateY(5px)}65%{transform:rotate(3deg) translateY(-3px)}}@keyframes character-light{0%,100%{opacity:.15;transform:scale(.9)}50%{opacity:.8;transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.character-motion,.character-glow,.ai-character.is-greeting .character-motion,.ai-character img{animation:none}.character-glow{opacity:.3}}

.character-frames{display:block;position:relative;width:100%;height:100%;animation:character-float 6s ease-in-out infinite}.ai-character .character-frames img{animation:none;filter:none}.ai-character .character-wink{position:absolute;inset:0;opacity:0;clip-path:ellipse(8% 5.5% at 59% 60%);animation:character-wink 7s ease-in-out infinite}.character-frames .character-glow{left:60%;top:39%;width:11%;height:12%}.ai-character.is-greeting .character-wink{animation:character-tap-wink 1.2s ease-in-out both}@keyframes character-wink{0%,88%,96%,100%{opacity:0}90%,94%{opacity:1}}@keyframes character-tap-wink{0%,15%,65%,100%{opacity:0}25%,52%{opacity:1}}@media(prefers-reduced-motion:reduce){.character-frames,.ai-character .character-wink,.ai-character.is-greeting .character-wink{animation:none}.ai-character .character-wink{opacity:0}}

/* Visible left, right, left sway, then wink and rest. */
.ai-character{cursor:default}.ai-character .character-motion{animation:arrival-sway 3.2s ease-in-out .35s both;transform-origin:50% 80%}.ai-character .character-frames{animation:none}.ai-character .character-frames img{animation:none}.ai-character .character-frames .character-wink{opacity:0;animation:arrival-wink 1s ease-in-out 3.65s both}.ai-character .character-glow{animation:none;opacity:0}
@keyframes arrival-sway{0%{transform:translateX(0) rotate(0)}25%{transform:translateX(-16px) rotate(-7deg)}50%{transform:translateX(16px) rotate(7deg)}75%{transform:translateX(-16px) rotate(-7deg)}100%{transform:translateX(0) rotate(0)}}
@keyframes arrival-wink{0%,100%{opacity:0}25%,70%{opacity:1}}
@media(prefers-reduced-motion:reduce){.ai-character .character-motion,.ai-character .character-frames,.ai-character .character-wink,.ai-character .character-glow{animation:none}.ai-character .character-wink,.ai-character .character-glow{opacity:0}}

@media(prefers-reduced-motion:reduce){.ai-character .character-frames .character-wink{animation:none;opacity:0}}

.contact-portrait{display:block;width:100%;height:auto;border-radius:18px}.contact-side{align-self:start}

.about-portrait{width:100%;max-width:450px;margin:auto;align-self:end}.about-portrait img{display:block;width:100%;height:auto;mask-image:linear-gradient(to bottom,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 90%,transparent 100%)}

/* Consistent compact spacing across all pages */
.page-hero{padding:2rem 0 1rem}.section{padding:1.5rem 0}.page-hero+.section{padding-top:.75rem}.section+.section{padding-top:1rem}.hero-copy>p:last-child{margin-bottom:0}.actions{margin-top:1.15rem}.actions:empty{display:none}.section-heading{margin-bottom:1rem}.cta-band{padding:2rem 0}.cards{gap:1rem}.faq-list details{padding:.4rem 0}.faq-list summary{padding:.8rem 2rem .8rem 0}.about-portrait img{mask-image:none;-webkit-mask-image:none}.story>p:last-child{margin-bottom:0}.contact-panel{gap:2rem}.hero-grid:has(>.hero-copy:only-child){grid-template-columns:1fr}.hero-grid:has(>.hero-copy:only-child) .hero-copy{max-width:790px}
@media(max-width:767px){.page-hero{padding:1.5rem 0 .8rem}.section{padding:1.25rem 0}.page-hero+.section{padding-top:.6rem}.section+.section{padding-top:.75rem}.hero-grid{gap:1.25rem}.cta-band{padding:1.5rem 0}.contact-panel{gap:1.25rem}.about-portrait{max-width:380px}}

.about-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}.about-story-grid .story{min-width:0}.about-story-grid .story h2{font-size:clamp(1.65rem,2.7vw,2.2rem)}.about-story-grid .story p{max-width:66ch}.story-quote{margin-top:.25rem;padding:1.75rem;background:#e4f2f0;border-radius:18px;border-top:3px solid var(--teal)}.story-quote blockquote{margin:1rem 0 1.4rem;padding:0;border:0;font:600 clamp(1.15rem,1.7vw,1.4rem)/1.6 Poppins,Arial,sans-serif;color:var(--espresso)}.quote-name{margin:0;font-weight:600}.quote-name span{font-size:.88rem;font-weight:400}@media(max-width:767px){.about-story-grid{grid-template-columns:1fr;gap:1rem}.story-quote{padding:1.35rem;margin-top:0}}

/* A matching robot hand lifts beside the face, then settles. */
.ai-character .thumb-greeting{position:absolute;z-index:3;width:38%;height:auto;right:-5%;bottom:1%;display:block;transform-origin:70% 90%;animation:thumb-hello 1.5s cubic-bezier(.2,.8,.3,1) 2.9s both;pointer-events:none}
.ai-character .thumb-greeting img{display:block;width:100%;height:auto;animation:none;filter:drop-shadow(0 8px 8px #2c2c2c18)}
@keyframes thumb-hello{0%{opacity:0;transform:translateY(38px) rotate(20deg) scale(.7)}40%{opacity:1;transform:translateY(-12px) rotate(-12deg) scale(1.06)}65%{opacity:1;transform:translateY(3px) rotate(6deg) scale(.98)}82%{opacity:1;transform:translateY(-4px) rotate(-4deg) scale(1.02)}100%{opacity:1;transform:none}}
.policy-copy h2{font-size:1.45rem;margin-top:1.8rem}.policy-copy li{margin-bottom:.7rem}.policy-copy .label{color:#147879;font-size:.88rem}
@media(prefers-reduced-motion:reduce){.ai-character .thumb-greeting{animation:none;opacity:1;transform:none}}

/* Contact mascot: arm lifts, holds its thumbs up, lowers and repeats. */
.contact-bot{position:relative;isolation:isolate;width:100%;max-width:480px;aspect-ratio:1;margin:0 auto 2rem}
.contact-bot img{display:block;width:100%;height:auto}
.contact-bot-arm{position:absolute;inset:0;clip-path:url(#contact-arm-clip);transform-origin:35% 85%;animation:contact-thumbs-up 5.5s ease-in-out infinite;will-change:transform}
@keyframes contact-thumbs-up{0%,12%,100%{transform:rotate(-24deg)}32%{transform:rotate(3deg)}42%,65%{transform:rotate(0)}78%{transform:rotate(-24deg)}}
.contact-bot.is-paused .contact-bot-arm{animation-play-state:paused}
.bot-pause{position:absolute;bottom:-2rem;left:50%;transform:translateX(-50%);border:0;background:transparent;color:#147879;font-size:.78rem;padding:.25rem .6rem;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.contact-bot-arm{animation:none;transform:none;will-change:auto}.bot-pause{display:none}}

/* Position the approved Contact image beside the body of the form. */
.contact-side.contact-approved-image{align-self:center;width:100%}.contact-approved-image .contact-portrait{max-width:480px;margin:0 auto}
@media(max-width:767px){.contact-side.contact-approved-image{align-self:start}.contact-approved-image .contact-portrait{max-width:360px}}

/* Lower the Contact portrait to the middle of the form fields. */
@media(min-width:768px){.contact-side.contact-approved-image{align-self:center;position:relative;top:4rem}}

/* Match the top of the portrait to the actual email input position. */
.contact-side.contact-approved-image{align-self:start;position:relative;top:0}

/* Give the proportional Contact portrait sufficient horizontal space. */
@media(min-width:768px){.contact-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-approved-image .contact-portrait{max-width:100%;height:auto;object-fit:contain}}

/* AI readiness check */
.readiness-wrap{max-width:850px}.readiness-card{background:white;border:1px solid #F4C6D0;border-radius:24px;padding:clamp(20px,4vw,40px);margin-top:24px}.readiness-card h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.3}.readiness-card progress{width:100%;height:10px;accent-color:#1D9E9E;margin-bottom:20px}.readiness-options{border:0;padding:0;margin:24px 0;display:grid;gap:10px}.readiness-options label{display:flex;align-items:center;gap:12px;border:1px solid #c9c9c9;border-radius:12px;padding:16px;cursor:pointer;font-weight:400;margin:0}.readiness-options label:has(input:checked){border-color:#1D9E9E;background:#edf8f8}.readiness-options input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:#1D9E9E}.readiness-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:24px}.readiness-card button:disabled{opacity:.5;cursor:not-allowed}.readiness-score{font-size:3.5rem;font-weight:700;color:#1D9E9E;margin:16px 0}.readiness-score span{font-size:1.2rem;color:#2C2C2C}.readiness-area{display:grid;grid-template-columns:1fr auto;gap:8px;margin:18px 0}.readiness-area meter{grid-column:1/-1;width:100%;height:12px}.readiness-email{background:#F9EEF1;padding:24px;border-radius:16px;margin-top:28px}.readiness-card li{margin:12px 0;line-height:1.6}.readiness-notice{padding:16px;border-left:4px solid #1D9E9E;background:#edf8f8}.readiness-card summary{cursor:pointer;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.readiness-card :focus-visible{outline:3px solid #1D9E9E;outline-offset:4px}
.readiness-label{display:block;font-weight:600;margin:18px 0 6px}.readiness-input{display:block;width:100%;max-width:520px;padding:12px 14px;border:1px solid #9d858d;border-radius:8px;background:#fff;color:#2C2C2C}
.resource-wide{grid-column:1/-1}.resource-wide .inline-form{max-width:680px}.literacy-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.literacy-result{border:1px solid #F4C6D0;border-radius:16px;padding:20px;background:#F9EEF1}.literacy-result .readiness-score{font-size:2.8rem}.literacy-result p:last-child{margin-bottom:0}@media(max-width:767px){.audience-choices,.literacy-result-grid{grid-template-columns:1fr}.resource-wide{grid-column:auto}}
/* Illustrated paths use the approved contact-character artwork. */
.readiness-card .audience-heading{text-align:center;font-size:clamp(2rem,4vw,2.6rem);margin:0 0 1.75rem}
.audience-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.audience-choice{display:flex;flex-direction:column;align-items:stretch;overflow:hidden;padding:0;border:2px solid #f4c6d0;border-radius:25px;background:#f9eef1;color:#2c2c2c;text-align:center;cursor:pointer;box-shadow:0 14px 35px #2c2c2c12;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.audience-choice--solo{border-color:#80caca;background:#e6f5f5}
.audience-choice:hover,.audience-choice:focus-visible{transform:translateY(-5px);box-shadow:0 20px 40px #2c2c2c21;border-color:#d94f6e}
.audience-choice--solo:hover,.audience-choice--solo:focus-visible{border-color:#1d9e9e}
.audience-art{display:block;width:100%;aspect-ratio:700/620;background-image:url('path-cards-approved.webp');background-repeat:no-repeat;background-size:219.4286% auto;background-position:5.98% 45.3%;background-color:#f4c6d0}
.audience-choice--solo .audience-art{background-position:93.9% 45.3%;background-color:#1d9e9e}
.audience-choice strong{display:flex;align-items:center;justify-content:center;flex:1;min-height:108px;padding:18px 20px;font:600 clamp(1.05rem,2vw,1.25rem)/1.35 Poppins,Arial,sans-serif;background:#f9eef1}
.audience-choice--solo strong{background:#e6f5f5}
@media(max-width:767px){.audience-choices{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.audience-choice{transition:none}.audience-choice:hover{transform:none}}

/* Show each complete service scene at its original 3:2 shape. */
.service-tile{display:flex;flex-direction:column;min-height:0}
.service-tile img{display:block;order:0;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#f9eef1}
.service-tile .tile-copy{order:1;flex:1;justify-content:flex-start;min-height:205px}

/* Give the readiness card note room below its button. */
.resource > .button + .small-note{margin-top:1.2rem}

/* Keep the contact choices evenly spaced within each column. */
.contact-panel .checks{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-panel .check-column{display:grid;align-content:start;gap:.4rem}
@media(max-width:520px){.contact-panel .checks{grid-template-columns:1fr}}
