@font-face{font-family:Overpass;src:url(fonts/overpass-regular.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Overpass;src:url(fonts/overpass-semibold.ttf) format('truetype');font-weight:600;font-style:normal;font-display:swap}

:root{--ink:#273d31;--green:#355442;--paper:#f5f4ed;--line:#d8ddd0;--muted:#657164}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Overpass",sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #abbd72;outline-offset:5px}.wrap{max-width:1320px;margin:auto;padding:0 64px}header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:Georgia,serif;font-size:35px;letter-spacing:-1.6px;display:flex;align-items:center;gap:12px}.brand svg{width:29px;height:43px}nav{display:flex;gap:36px;align-items:center;font-size:13px}nav a:hover{color:#778962}.nav-contact{border:1px solid #a9b6a1;border-radius:40px;padding:10px 23px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px;margin-bottom:0}.hero-copy{padding:71px 58px 60px 0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2.1px;font-weight:600;display:flex;gap:11px;align-items:center}.dot{width:6px;height:6px;border-radius:50%;background:#80966a;display:inline-block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(49px,5.1vw,72px);line-height:1.08;letter-spacing:-3px;margin:29px 0}h1 em{font-weight:400;color:#788866}p{font-size:15px;line-height:1.85}.intro{max-width:365px;color:#626d61}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--green);color:white;border-radius:40px;padding:14px 24px;font-size:13px;transition:background .2s,transform .2s}.button:hover{background:#213e2c;transform:translateY(-2px)}.hero-copy .button{margin-top:29px}.arrow{font-size:21px;line-height:1}.small-note{font-size:11px;color:var(--muted);margin-top:13px}.hero-image{position:relative;min-height:610px;overflow:hidden;border-radius:180px 3px 3px 3px;background:#445840}.hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:47% 50%}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,43,26,.62),transparent 55%)}.image-caption{position:absolute;z-index:1;bottom:33px;left:35px;color:#f5f4ed;font-family:Georgia,serif;font-style:italic;font-size:23px}.image-caption small{display:block;font-family:"Overpass",sans-serif;font-style:normal;font-size:9px;letter-spacing:2px;margin-top:8px}.quiet-strip{padding:30px 0 34px;display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:.3px;color:#65715d;border-bottom:1px solid var(--line)}.quiet-strip svg{width:18px;height:18px}.section{padding:88px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}h2{font-size:43px;line-height:1.18;letter-spacing:-1.4px;margin-top:20px}h3{font-size:26px;letter-spacing:-.4px;line-height:1.3}.prose{padding-top:31px}.prose p+p{margin-top:20px}.prose p{color:#667060}.signature{font-family:Georgia,serif;font-size:27px;margin-top:28px;font-style:italic}.services{background:#e8ecdf}.services-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:44px}.services-head p{max-width:320px;color:#67715f}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.step{border-top:1px solid #b8c4b0;padding-top:22px}.number{font-size:11px;letter-spacing:2px;color:#7c8c70;display:block;margin-bottom:25px}.step p{margin-top:15px;color:#65705f;font-size:14px}.faq{border-bottom:0}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:21px 0;font-size:15px;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:23px;font-weight:300;line-height:1}details[open] summary:after{content:'−'}details p{padding:0 28px 24px 0;color:var(--muted);font-size:14px}.contact{padding:74px 0 78px}.contact-panel{background:var(--green);color:var(--paper);border-radius:3px;padding:53px 58px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px}.contact-panel h2{margin-top:15px}.contact-panel p{color:#d5dfce;font-size:14px}.contact-right{align-self:center;border-left:1px solid #67806b;padding-left:40px}.location{display:flex;gap:9px;align-items:center;font-size:13px;margin-bottom:14px}.contact-note{font-size:12px!important;margin-top:18px;color:#bfcdb7!important}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:26px 0 35px;color:var(--muted);font-size:10px}.footer-brand{font-family:Georgia,serif;font-size:25px;letter-spacing:-1px;color:var(--green)}.footer-left{display:flex;align-items:center;gap:22px}.mobile-toggle{display:none} @media(min-width:1500px){.hero{min-height:680px}.hero-image{min-height:680px}.hero-copy{padding-top:105px}}@media(max-width:850px){.wrap{padding:0 28px}header{height:87px}nav{gap:19px}.hero-copy{padding:47px 25px 40px 0}h1{font-size:53px}.hero,.hero-image{min-height:550px}.hero-image{border-top-left-radius:130px}.two-col{gap:40px}.section{padding:62px 0}h2{font-size:35px}.contact-panel{padding:36px;gap:30px}}@media(max-width:600px){.wrap{padding:0 23px}header{height:82px}.brand{font-size:31px}.brand svg{width:24px}.mobile-toggle{display:block;border:1px solid #bbc5b3;border-radius:30px;background:transparent;padding:5px 13px;color:var(--ink);font-size:12px}nav{display:none;position:absolute;left:23px;right:23px;top:75px;z-index:5;background:var(--paper);padding:24px;box-shadow:0 12px 25px #263c3120;border:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:15px}.nav-contact{text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:39px 0 37px}h1{font-size:57px;letter-spacing:-2.5px;margin:22px 0}.intro{max-width:360px}.hero-image{min-height:390px;border-top-left-radius:130px}.image-caption{bottom:28px;left:27px;font-size:22px}.quiet-strip{font-size:10px;padding:25px 0}.two-col,.steps{grid-template-columns:1fr;gap:28px}.section{padding:54px 0}.prose{padding-top:0}.services-head{display:block;margin-bottom:30px}.services-head p{margin-top:20px}.step{padding-top:17px}.number{margin-bottom:13px}.step p{margin-top:10px}.contact{padding:45px 0}.contact-panel{grid-template-columns:1fr;padding:31px 27px;gap:28px}.contact-right{border-left:0;border-top:1px solid #67806b;padding:24px 0 0}footer{align-items:start;gap:20px}.footer-left{display:block}.footer-left span{display:block;margin-top:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-image img.hero-portrait{width:90%;height:91%;left:5%;bottom:0;object-fit:contain;object-position:center bottom;z-index:1}.hero-image:after{z-index:2;pointer-events:none;background:linear-gradient(0deg,rgba(22,43,26,.78),rgba(22,43,26,.15) 24%,transparent 45%)}.image-caption{z-index:3}
.hero-image{background:#355442}.hero-image:after{display:none}.image-caption{left:0;bottom:0;width:100%;padding:20px 35px 25px;background:#355442}
.hero-image img.hero-portrait{bottom:-1px}
.hero-image{background:transparent;border-radius:0;overflow:visible;isolation:isolate}.hero-image:before{content:"";position:absolute;inset:60px 0 0;background:#355442;border-radius:180px 3px 3px 3px;z-index:0}.hero-image img.hero-portrait{width:110%;height:103%;left:-5%;bottom:0;object-fit:contain;object-position:center bottom}@media(max-width:600px){.hero-image:before{top:42px;border-top-left-radius:130px}.hero-image img.hero-portrait{width:100%;left:0;height:103%}}
.nav-contact{transition:background-color .2s,color .2s,border-color .2s}.nav-contact:hover,.nav-contact:focus-visible{background:var(--green);color:#fff;border-color:var(--green)}.hero-location{display:flex;align-items:center;gap:7px}.hero-location svg{width:15px;height:15px;flex:none}.quiet-strip{padding:0;height:33px}
.hero-botanical{position:absolute;left:-260px;bottom:90px;width:480px;height:460px;color:#788866;z-index:1;pointer-events:none}.hero-image img.hero-portrait{z-index:2}.hero-copy{position:relative;z-index:2}@media(min-width:601px) and (max-width:1000px){.hero-botanical{left:-145px;width:340px;height:390px;bottom:75px}}@media(max-width:600px){.hero-botanical{left:-12px;bottom:40px;width:75%;height:370px}}
.hero-botanical{left:-260px;bottom:22px;width:calc(100% + 260px);height:520px}@media(min-width:601px) and (max-width:1000px){.hero-botanical{left:-145px;bottom:18px;width:calc(100% + 145px);height:440px}}@media(max-width:600px){.hero-botanical{left:-12px;bottom:8px;width:calc(100% + 12px);height:350px}}
.hero-signature{font-family:"Segoe Script","Brush Script MT","URW Chancery L",cursive;font-size:36px;font-style:italic;font-weight:400;letter-spacing:-1.5px;color:#788866;margin-top:24px;transform:rotate(-5deg);transform-origin:left center;line-height:1.4}.hero-image:before{border-bottom-right-radius:110px}.hero-image img.hero-portrait{width:100%;left:0;clip-path:inset(-100px 0 0 0 round 0 0 110px 0)}.contact-link{display:flex;justify-content:space-between;gap:12px;font-size:15px;padding:7px 0;overflow-wrap:anywhere}.contact-link:hover,.contact-note a:hover{text-decoration:underline}@media(max-width:600px){.hero-signature{font-size:32px;margin-top:20px}.hero-image:before{border-bottom-right-radius:80px}.hero-image img.hero-portrait{clip-path:inset(-100px 0 0 0 round 0 0 80px 0)}}
.hero h1{font-size:clamp(42px,4.05vw,58px);letter-spacing:-2px}.hero .intro{max-width:435px}.hero-copy{padding-top:65px;padding-bottom:40px}.hero-signature{margin-top:20px}.therapist-row+.therapist-row{margin-top:68px;padding-top:62px;border-top:1px solid var(--line)}.therapist-row .prose{padding-top:0}.therapist-row .prose h3{font-size:24px;margin-top:28px;margin-bottom:12px}.bella-note{margin-top:25px;padding:20px 24px;border-left:2px solid #788866;background:#e8ecdf;color:#52614d;font-size:14px;line-height:1.8}.contact-panel{border-radius:130px 3px 110px 3px;padding:66px 72px}.contact-right .location{font-size:23px;line-height:1.4;font-weight:600;margin-bottom:18px}.contact-panel h2{font-size:40px}@media(max-width:850px){.hero-copy{padding-top:42px;padding-right:22px}.hero h1{font-size:40px;letter-spacing:-1.5px}.contact-panel{padding:48px 42px;border-top-left-radius:90px;border-bottom-right-radius:85px}.contact-right .location{font-size:21px}}@media(max-width:600px){.hero-copy{padding:36px 0 42px}.hero h1{font-size:clamp(32px,8.5vw,48px);letter-spacing:-1px}.hero .intro{max-width:100%}.therapist-row+.therapist-row{margin-top:40px;padding-top:40px}.contact-panel{padding:48px 30px;border-radius:75px 3px 75px 3px}.contact-panel h2{font-size:34px}.contact-right .location{font-size:22px}}
.session-process{margin-top:78px;padding-top:60px;border-top:1px solid var(--line)}.process-heading{text-align:center;max-width:650px;margin:0 auto 46px}.process-heading .eyebrow{justify-content:center}.process-heading h2{margin-top:16px}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.process-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #aebba1;border-radius:50%;font-family:Georgia,serif;font-size:22px;color:#788866;margin-bottom:23px}.process-grid h3{font-size:25px;margin-bottom:16px}.process-grid p{color:var(--muted);font-size:14px}.family-note{display:grid;grid-template-columns:1fr 2fr;gap:45px;margin-top:40px;padding:30px 36px;background:#e8ecdf;border-radius:0 0 45px 0}.family-note h3{font-size:26px}.family-note p{font-size:14px;color:#59674f}.service-title{margin-bottom:45px}.service-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;row-gap:42px}.service-group{position:relative;border-top:1px solid #b7c3ac;padding-top:25px}.service-index{position:absolute;right:0;top:26px;font-size:12px;color:#6e7d61}.service-group h3{font-size:29px;padding-right:35px;margin-bottom:22px}.service-group ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}.service-group li{position:relative;padding-left:20px;font-size:15px;color:#52614a;line-height:1.65}.service-group li:before{content:"";position:absolute;left:0;top:.66em;width:5px;height:5px;background:#82946e;border-radius:50%}.service-footer{border-top:1px solid #b7c3ac;margin-top:42px;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:30px}.service-footer p{max-width:440px;font-size:14px;color:#52614a}.service-footer .button{flex-shrink:0}@media(max-width:850px){.process-grid{gap:24px}.process-grid h3{font-size:22px}.service-directory{column-gap:32px}.service-group h3{font-size:25px}}@media(max-width:600px){.session-process{margin-top:45px;padding-top:42px}.process-heading{text-align:left;margin-bottom:30px}.process-heading .eyebrow{justify-content:flex-start}.process-grid{grid-template-columns:1fr;gap:30px}.process-number{margin-bottom:15px}.process-grid h3{font-size:26px}.family-note{grid-template-columns:1fr;gap:16px;padding:25px;margin-top:32px}.family-note h3 br{display:none}.service-directory{grid-template-columns:1fr;gap:32px}.service-title{margin-bottom:30px}.service-footer{align-items:flex-start;flex-direction:column;gap:18px}.service-group h3{font-size:27px}}
.hero-botanical{overflow:visible}.therapist-row>div:first-child{position:relative;min-height:330px}.edge-vine{position:absolute;color:#788866;pointer-events:none;overflow:visible}.intro-vine{left:min(-64px,calc((1320px - 100vw)/2 - 64px));top:155px;width:calc(100% + max(64px,(100vw - 1320px)/2 + 64px));height:220px}.services{position:relative}.services-vine{right:-8px;top:-125px;width:min(440px,34vw);height:280px;transform:scaleX(-1);z-index:1}.service-title{position:relative;z-index:2}.dog-section{padding:90px 0 35px;align-items:center;gap:80px}.dog-visual{position:relative;height:470px;isolation:isolate}.dog-visual:before{content:"";position:absolute;inset:35px 0 0;background:var(--green);border-radius:150px 3px 100px 3px;z-index:-1}.dog-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}.dog-copy h2{margin-bottom:24px}.dog-copy p{color:var(--muted);margin-bottom:18px}.dog-copy .button{margin-top:10px}body{overflow-x:clip}@media(max-width:850px){.intro-vine{left:-28px;width:calc(100% + 28px)}.dog-section{gap:40px}.dog-visual{height:390px}.services-vine{width:32vw;top:-95px;height:220px}}@media(max-width:600px){.therapist-row>div:first-child{min-height:270px}.intro-vine{left:-23px;top:128px;width:90%;height:150px}.services-vine{width:45vw;height:160px;top:-83px}.dog-section{padding-top:55px;gap:30px}.dog-visual{height:380px}.dog-visual:before{border-radius:110px 3px 80px 3px}.dog-copy h2{margin-bottom:20px}}
nav{font-size:15px}.eyebrow:before{content:"";display:block;width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#80966a}.contact-panel .eyebrow:before{background:#b1c09d}.intro strong{font-weight:600}.flow-vine{color:#788866;pointer-events:none;overflow:visible}.intro-vine-band{position:relative;width:100vw;left:calc(50% - 50vw);height:180px;margin-top:15px}.intro-flow{display:block;width:100%;height:180px}.session-process{margin-top:24px}.therapist-row>div:first-child{min-height:0}.services-flow{position:absolute;width:68vw;height:300px;right:0;top:-115px;z-index:1}.service-title{max-width:32%;min-height:125px}#kysymyksia{position:relative}.faq-flow{position:absolute;left:min(-64px,calc((1320px - 100vw)/2 - 64px));top:calc(100% - 125px);width:min(800px,56vw);height:380px;z-index:2}.contact-panel>div{position:relative;z-index:3}.dog-visual img{border-bottom-right-radius:100px;object-fit:contain;object-position:center bottom}.dog-visual{height:490px}@media(max-width:850px){nav{gap:22px;font-size:14px}.services-flow{width:65vw;height:250px;top:-80px}.service-title{max-width:38%}.faq-flow{left:-28px;width:62vw;height:330px}}@media(max-width:600px){nav{font-size:16px}.intro-vine-band,.intro-flow{height:100px}.intro-vine-band{margin-top:25px}.session-process{margin-top:15px}.services-flow{width:64vw;height:160px;top:-45px}.service-title{max-width:55%;min-height:125px}.faq-flow{left:-23px;top:calc(100% - 32px);height:190px;width:90vw}.contact{padding-top:120px}.dog-visual{height:360px}.dog-visual img{border-bottom-right-radius:80px}}
.dog-visual img{object-fit:contain;object-position:center bottom}
.dog-visual img{position:absolute;left:0;bottom:0;width:100%;height:auto;max-width:none;object-fit:initial;border-bottom-right-radius:100px}.dog-section{padding-top:110px}.session-process{margin-top:68px}@media(max-width:600px){.dog-visual img{border-bottom-right-radius:80px}.dog-section{padding-top:65px}.session-process{margin-top:42px}}
.button,.nav-contact{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;line-height:1;box-sizing:border-box}.button{gap:30px}.nav-contact{min-height:46px;gap:10px;padding:0 23px}.button-label{display:block;line-height:1;transform:translateY(1.5px)}.button .arrow,.nav-contact>span:not(.button-label){display:flex;align-items:center;justify-content:center;line-height:1;transform:translateY(1px)}.mobile-toggle{line-height:1;padding:11px 14px}.hero-botanical path,.flow-vine path{stroke-width:2.6px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.vine-png{display:block;object-fit:fill;user-select:none}
.png-vine-layer{display:block;background:#96a18a;mask-image:var(--vine-image);-webkit-mask-image:var(--vine-image);mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;pointer-events:none}.hero-image .png-vine-layer{z-index:1}
.services-flow.png-vine-layer{width:min(68vw,1000px);height:auto;aspect-ratio:3/1;mask-size:contain;-webkit-mask-size:contain;mask-position:center;-webkit-mask-position:center}.contact-vine-band{position:relative;left:calc(50% - 50vw);width:100vw;height:clamp(160px,26vw,340px);margin-top:-45px;pointer-events:none}.contact-vine-band .faq-flow{left:0;top:0;width:min(680px,52vw);height:auto;aspect-ratio:2/1;mask-size:contain;-webkit-mask-size:contain;mask-position:left top;-webkit-mask-position:left top;z-index:0}.contact{padding-top:24px}@media(max-width:850px){.services-flow.png-vine-layer{width:65vw}}@media(max-width:600px){.services-flow.png-vine-layer{width:64vw}.contact-vine-band{height:45vw;min-height:150px;margin-top:-20px}.contact-vine-band .faq-flow{width:90vw}.contact{padding-top:24px}}
/* Keep the contact vine across the panel edge, above its text-safe inset. */
.services-flow.png-vine-layer{transform:scaleX(-1)}
.contact-vine-band{height:min(340px,26vw);min-height:0;margin-bottom:-70px;z-index:2}
@media(max-width:850px){.contact-vine-band{margin-bottom:-56px}}
@media(max-width:600px){.contact-vine-band{height:45vw;min-height:0;margin-bottom:-46px}}
/* A fuller bottom vine with a slightly deeper, text-safe overlap. */
.contact-vine-band{height:min(400px,30vw);margin-bottom:-84px}
.contact-vine-band .faq-flow{width:min(800px,60vw)}
@media(max-width:850px){.contact-vine-band{margin-bottom:-64px}}
@media(max-width:600px){.contact-vine-band{height:48vw;margin-bottom:-52px}.contact-vine-band .faq-flow{width:96vw}}
/* Tighten the FAQ-to-contact spacing and bring the vine nearer the heading. */
.contact-vine-band{margin-top:-245px;margin-bottom:-134px}
@media(max-width:850px){.contact-vine-band{margin-top:-165px;margin-bottom:-76px}}
@media(max-width:600px){.contact-vine-band{height:33vw;margin-top:-45px;margin-bottom:-80px}.contact-vine-band .faq-flow{width:66vw}}
/* Simplified headings and softer service artwork. */
.services-flow.png-vine-layer{opacity:1}
.therapist-row h2,.process-heading h2,.service-title h2,.dog-copy h2,.faq h2,.contact-panel h2{margin-top:0}
.therapist-section{padding-bottom:140px}
@media(max-width:850px){.therapist-section{padding-bottom:105px}}
@media(max-width:600px){.therapist-section{padding-bottom:75px}}
/* Thin the rendered strokes without fading or recoloring the artwork. */
.services-flow.png-vine-layer{background:transparent;mask-image:none;-webkit-mask-image:none;opacity:1}
.services-vine-art{position:absolute;inset:0;mask-size:contain;-webkit-mask-size:contain;mask-position:center;-webkit-mask-position:center}
/* Match the quieter scale and fine strokes of the other vines. */
.services-flow.png-vine-layer{width:min(53vw,780px);top:-85px}
@media(max-width:850px){.services-flow.png-vine-layer{width:53vw;top:-60px}}
@media(max-width:600px){.services-flow.png-vine-layer{width:52vw;top:-35px}}
/* Rebuilt botanical artwork: native clean strokes, no erosion filter. */
.services-flow.png-vine-layer{width:min(56vw,840px);aspect-ratio:3/1;height:auto;top:-90px;transform:none;filter:none;opacity:1;background:#96a18a;mask-image:var(--vine-image);-webkit-mask-image:var(--vine-image);mask-size:contain;-webkit-mask-size:contain}
@media(max-width:850px){.services-flow.png-vine-layer{width:55vw;top:-65px}}
@media(max-width:600px){.services-flow.png-vine-layer{width:54vw;top:-35px}}

/* Services vine redrawn along the hand-drawn path: from the title, over the section edge with a loop, to the right edge. */
.services-flow.png-vine-layer.services-vine-path{right:0;left:auto;width:min(925px,64vw);height:auto;top:calc(min(925px,64vw) * -0.0973);aspect-ratio:2690/727;mask-size:100% 100%;-webkit-mask-size:100% 100%;transform:none}

/* Hero vine redrawn along the hand-drawn path: from beside the signature, up the panel edge, across the top to the corner. */
.hero-botanical.png-vine-layer.hero-vine-path{left:-50.34%;width:159.4%;top:20px;bottom:auto;height:auto;aspect-ratio:1969/1326;mask-size:100% 100%;-webkit-mask-size:100% 100%}
@media(max-width:1000px){.hero-botanical.png-vine-layer.hero-vine-path{top:auto;bottom:20px}}

/* Therapist heading: name in the same green italic as the hero accent, signature beneath it. */
h2 em{font-weight:400;color:#788866}

/* The services vine now sits above the title, so the title no longer reserves room for it. */
.service-title{min-height:0;max-width:none;margin-bottom:36px}
@media(max-width:600px){.service-title{margin-bottom:26px}}

/* Therapist intro: label, heading and three qualities on the left, a serif lead paragraph on the right. */
.intro-side h2{margin-top:0}
.qualities{list-style:none;margin:40px 0 0;padding:0;max-width:430px}
.qualities li{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line)}
.qualities li:last-child{border-bottom:1px solid var(--line)}
.qualities svg{flex:none;width:34px;height:34px;padding:7px;border:1px solid #aebba1;border-radius:50%;color:#788866;margin-top:2px}
.qualities strong{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:21px;letter-spacing:-.3px;line-height:1.3}
.qualities span{display:block;font-size:14px;line-height:1.7;color:var(--muted);margin-top:3px}
.therapist-row .prose{align-self:center}
.prose p.lead{font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.6;letter-spacing:-.3px;color:var(--ink)}
.prose p.lead+p{margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}
@media(max-width:600px){.qualities{margin-top:28px}.qualities li{padding:15px 0}.prose p.lead{font-size:20px}}

/* Credential rows without dividing lines. */
.qualities li,.qualities li:last-child{border:0}
.qualities li{padding:14px 0}

/* Phones: the services vine runs nearly full width so its fine lines stay visible. */
@media(max-width:600px){.services-flow.png-vine-layer.services-vine-path{width:94vw;top:calc(94vw * -0.0973)}#psykoterapia.section{padding-top:78px}}

/* Logo (src/components/Logo.astro): "PSYKOTERAPIA" is live text in Reem Kufi SemiBold. */
@font-face{font-family:'Reem Kufi';src:url(fonts/reem-kufi-latin-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:block}
.logo{display:block;height:auto}
.logo-text{font-family:'Reem Kufi',sans-serif;font-size:21.69px;font-weight:600}
/* The logo scales with the window and menu items never wrap, so the header fits at every width. */
.brand .logo{width:clamp(190px,19vw,250px)}
header nav a{white-space:nowrap}
.footer-brand .logo{width:170px}
@media(max-width:850px){.brand .logo{width:clamp(150px,24vw,190px)}}
@media(min-width:601px) and (max-width:720px){header{gap:20px}header nav{gap:14px}header .nav-contact{padding:0 16px}}
@media(max-width:600px){header{gap:16px}.brand .logo{width:clamp(150px,46vw,200px)}.footer-brand .logo{width:150px}}

/* Floating navigation: a copy of the header (made by the script in Layout.astro). Once the
   header has scrolled away, scrolling up slides it in as a green pill with white logo and links;
   scrolling down slides it out; back at the top it fades out over the normal header. */
.header-shell{height:108px}
header.floating-bar{position:fixed;z-index:50;top:14px;left:50%;width:min(1192px,calc(100% - 128px));height:68px;padding:0 14px 0 30px;background:var(--green);border-radius:999px;box-shadow:0 14px 32px #1f362a2e;transform:translate(-50%,calc(-100% - 24px));transition:transform .35s ease,opacity .35s ease}
header.floating-bar.is-shown{transform:translate(-50%,0)}
header.floating-bar.is-fading{opacity:0}
header.floating-bar.no-anim{transition:none}
header.floating-bar .logo{fill:#fff}
header.floating-bar .brand .logo{width:190px}
header.floating-bar nav a{color:#fff}
header.floating-bar nav a:hover{color:#d4ddca}
header.floating-bar .nav-contact{border-color:#ffffff8c}
header.floating-bar .nav-contact:hover,header.floating-bar .nav-contact:focus-visible{background:#fff;color:var(--green);border-color:#fff}
@media(max-width:850px){.header-shell{height:87px}header.floating-bar{width:calc(100% - 32px);padding:0 10px 0 20px}header.floating-bar .brand .logo{width:clamp(120px,20vw,170px)}}
@media(max-width:600px){
  .header-shell{height:82px}
  header.floating-bar{top:10px;width:calc(100% - 24px);height:60px;padding:0 10px 0 20px}
  header.floating-bar .brand .logo{width:clamp(130px,40vw,160px)}
  header.floating-bar .mobile-toggle{color:#fff;border-color:#ffffff8c}
  /* The opened menu keeps its light panel, so its links stay dark. */
  header.floating-bar nav{top:68px;left:0;right:0;border-radius:24px}
  header.floating-bar nav a{color:var(--ink)}
  header.floating-bar .nav-contact{border-color:#a9b6a1}
  header.floating-bar .nav-contact:hover,header.floating-bar .nav-contact:focus-visible{background:var(--green);color:#fff;border-color:var(--green)}
}
@media(prefers-reduced-motion:reduce){header.floating-bar{transition:none}}
/* Handwritten signature (Alex Brush, OFL, self-hosted) */
@font-face{font-family:'Alex Brush';src:url(/fonts/alex-brush-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
.hero-signature{font-family:'Alex Brush',"Segoe Script",cursive;font-style:normal;font-size:50px;letter-spacing:0;line-height:1.2;color:#2f4a38;transform:rotate(-5deg);margin-top:16px}
@media(max-width:600px){.hero-signature{font-size:44px}}
/* Credentials: line breaks from the editor, Kela logo under the text */
.qualities span{white-space:pre-line}
.qualities .kela-logo{display:block;width:84px;height:auto;margin-top:14px}
/* Phones: less space above the hero heading and the FAQ heading */
@media(max-width:600px){.hero-copy{padding-top:16px}.hero h1{margin-top:12px}#bella{padding-bottom:10px}#kysymyksia{padding-top:26px}}
.stega{letter-spacing:0}
/* "Tulossa pian" page (src/components/ComingSoon.astro) */
body.coming-soon{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--paper)}
.coming-soon-card{width:min(640px,100%);background:var(--green);color:var(--paper);border-radius:110px 3px 90px 3px;padding:64px 56px;text-align:center}
.coming-soon-card .logo{width:min(260px,70%);height:auto;margin:0 auto;fill:var(--paper)}
.coming-soon-card h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(30px,5vw,42px);letter-spacing:-1px;line-height:1.2;margin:36px 0 14px}
.coming-soon-card p{font-size:16px;line-height:1.7;margin:0 auto;max-width:420px;opacity:.9}
.coming-soon-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:30px;font-size:15px}
.coming-soon-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.coming-soon-card{padding:48px 26px;border-radius:70px 3px 60px 3px}}
