:root {
  --cream:#f1e7d7; --paper:#fbf8f1; --paper-2:#f6f0e5; --sage:#c1c991; --terracotta:#b77855;
  --blue:#c6dce3; --gold:#a97d47; --ink:#24312d; --muted:#58635f; --green:#315f4c; --green-deep:#1f4438;
  --line:rgba(36,49,45,.15); --shell:1560px; --reading:72ch; --wide-reading:94ch; --radius:4px;
  --shadow:0 18px 48px rgba(35,48,43,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:'Quicksand',system-ui,sans-serif;line-height:1.72;-webkit-font-smoothing:antialiased}
a{color:inherit} img{max-width:100%;display:block} address{font-style:normal} .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shell-wide{width:min(94vw,var(--shell));margin-inline:auto} .prose{max-width:var(--reading)} .prose-wide{max-width:var(--wide-reading)}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;padding:.7rem 1rem;background:var(--ink);color:white;transform:translateY(-160%);text-decoration:none;border-radius:4px} .skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,248,241,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(36,49,45,.10)}
.header-inner{height:86px;display:flex;align-items:center;gap:28px} .brand-state{display:flex;align-items:center;flex:0 0 auto;text-decoration:none} .brand-logo{width:185px;height:auto}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(16px,1.8vw,30px)} .desktop-nav a,.header-contact,.mobile-menu summary,.mobile-menu nav a{font-size:.70rem;font-weight:700;letter-spacing:.095em;text-decoration:none} .desktop-nav a:hover{color:var(--green)} .header-contact{display:inline-flex;align-items:center;min-height:40px;padding:.55rem .84rem;border:1px solid var(--green);background:var(--green);color:white;border-radius:999px} .mobile-menu{display:none;margin-left:auto} .mobile-menu summary{cursor:pointer;list-style:none} .mobile-menu summary::-webkit-details-marker{display:none} .mobile-menu nav{position:fixed;inset:86px 0 auto;padding:22px 5vw 30px;background:var(--paper);border-bottom:1px solid var(--line);display:grid;gap:6px;box-shadow:var(--shadow)} .mobile-menu nav a{padding:10px 0}
.kicker{margin:0 0 20px;color:#8b5b42;font-size:.69rem;font-weight:700;letter-spacing:.18em} h1,h2,h3{margin-top:0;color:var(--ink);font-weight:600;letter-spacing:-.035em} h1{margin-bottom:8px;font-size:clamp(3.5rem,6.2vw,7.25rem);line-height:.95} h2{margin-bottom:30px;font-size:clamp(2.25rem,4vw,4.6rem);line-height:1.08} h3{margin-bottom:12px;font-size:clamp(1.3rem,1.9vw,1.72rem);line-height:1.25} p{margin:0 0 1.25rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.15rem;border:1px solid var(--green);background:var(--green);color:white;text-decoration:none;font-size:.87rem;font-weight:700;border-radius:var(--radius);transition:transform .16s ease,background .16s ease} .button:hover{transform:translateY(-1px);background:var(--green-deep)} .quiet-link{color:var(--green);font-weight:700;font-size:.92rem;text-decoration:none;border-bottom:1px solid rgba(49,95,76,.3)} .quiet-link:hover{border-color:var(--green)}
.hero{position:relative;min-height:calc(100vh - 86px);overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fcfaf5 0%,var(--paper) 100%)} .hero-pattern{position:absolute;inset:0 0 0 auto;width:min(37vw,590px);background:url('assets/pattern-olive.png') center/390px auto repeat;opacity:.10;mask-image:linear-gradient(to left,#000 10%,rgba(0,0,0,.70) 48%,transparent 100%)} .hero-grid{min-height:inherit;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center} .hero-copy{grid-column:1 / span 9;padding:88px 0 92px;position:relative;z-index:2;max-width:none} .credential{margin:16px 0 36px;font-size:clamp(1.08rem,1.6vw,1.35rem);font-weight:650} .hero-lead{max-width:960px;margin-bottom:18px;font-size:clamp(1.28rem,2.15vw,1.92rem);line-height:1.48;font-weight:600} .hero-copy p.hero-copy{max-width:860px;color:var(--muted);font-size:1.01rem} .hero-actions{margin:38px 0 46px;display:flex;align-items:center;gap:25px;flex-wrap:wrap} .hero-facts{max-width:1180px;margin:0;display:grid;grid-template-columns:.8fr 1.25fr 1.4fr;border-top:1px solid var(--line)} .hero-facts div{padding:20px 28px 0 0} .hero-facts dt{margin-bottom:4px;color:#7d5f32;font-size:.67rem;font-weight:700;letter-spacing:.12em} .hero-facts dd{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5} .availability{color:var(--green-deep)!important;font-weight:650}
.section{position:relative;border-bottom:1px solid var(--line)}
.psychotherapy{padding:132px 0 146px;overflow:hidden} .psychotherapy-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;position:relative} .psychotherapy-copy{grid-column:1 / span 8} .section-intro{color:var(--muted);font-size:1.08rem} .bird-stage{grid-column:9 / -1;grid-row:1;min-height:430px;display:grid;place-items:center;align-self:start;position:sticky;top:145px} .bird-composite{position:relative;width:min(31vw,450px);aspect-ratio:520/476} .bird-composite img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none} .bird-head{transform-origin:71% 68%} .bird-star{width:30.4% !important;height:auto !important;inset:1.5% auto auto 33.7% !important;transform-origin:50% 50%;opacity:.9}
.psychotherapy.is-active .bird-composite{animation:birdBody 7.4s cubic-bezier(.2,.72,.2,1) 1 both} .psychotherapy.is-active .bird-head{animation:birdHead 7.4s cubic-bezier(.2,.72,.2,1) .35s 1 both} .psychotherapy.is-active .bird-star{animation:starGlint 7.4s ease .9s 1 both}
@keyframes birdBody{0%,100%{transform:translate3d(0,0,0) rotate(0)}36%{transform:translate3d(0,-2px,0) rotate(.18deg)}62%{transform:translate3d(0,1px,0) rotate(-.08deg)}} @keyframes birdHead{0%,22%,100%{transform:rotate(0)}42%{transform:rotate(-1.6deg) translate(-1px,0)}66%{transform:rotate(.45deg)}} @keyframes starGlint{0%,55%,100%{filter:none;opacity:.82;transform:scale(1)}70%{filter:drop-shadow(0 0 12px rgba(169,125,71,.55));opacity:1;transform:scale(1.035)}}
.topic-stream{grid-column:1 / span 10;margin-top:70px;border-top:1px solid var(--line)} .topic-stream article{position:relative;padding:38px 0 42px 72px;border-bottom:1px solid var(--line)} .topic-stream article:nth-child(2){margin-left:7%} .topic-stream article:nth-child(3){margin-left:14%} .topic-stream p{max-width:790px;color:var(--muted)} .topic-number{position:absolute;left:0;top:43px;color:#7d5f32!important;font-size:.72rem;font-weight:700} .margin-note{grid-column:4 / span 6;margin:42px 0 0;padding:18px 0 0 28px;border-left:2px solid var(--sage);color:var(--muted);font-size:.91rem}
.work-story{position:relative;border-bottom:1px solid var(--line);background:var(--paper-2)} .work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px} .vitral-column{grid-column:1 / span 6;position:relative} .vitral-sticky{position:sticky;top:86px;height:calc(100vh - 86px);display:grid;place-items:center;overflow:hidden} .vitral-art{position:relative;width:min(42vw,620px);aspect-ratio:1/1;isolation:isolate} .shards,.shard{position:absolute;inset:0} .shard{transform-origin:50% 50%;will-change:transform,opacity,filter} .shard img{width:100%;height:100%;object-fit:contain} .shard:nth-child(1) { clip-path: polygon(59.64% 13.43%, 72.53% 19.08%, 79.38% 15.68%, 84.08% 0.00%, 54.82% 0.00%); -webkit-clip-path: polygon(59.64% 13.43%, 72.53% 19.08%, 79.38% 15.68%, 84.08% 0.00%, 54.82% 0.00%); }
.shard:nth-child(2) { clip-path: polygon(18.66% 19.17%, 31.59% 18.93%, 38.64% 0.00%, 13.67% 0.00%); -webkit-clip-path: polygon(18.66% 19.17%, 31.59% 18.93%, 38.64% 0.00%, 13.67% 0.00%); }
.shard:nth-child(3) { clip-path: polygon(79.38% 15.68%, 88.08% 19.27%, 100.00% 14.29%, 100.00% 0.00%, 84.08% 0.00%); -webkit-clip-path: polygon(79.38% 15.68%, 88.08% 19.27%, 100.00% 14.29%, 100.00% 0.00%, 84.08% 0.00%); }
.shard:nth-child(4) { clip-path: polygon(31.59% 18.93%, 34.72% 22.17%, 55.86% 17.94%, 59.64% 13.43%, 54.82% 0.00%, 38.64% 0.00%); -webkit-clip-path: polygon(31.59% 18.93%, 34.72% 22.17%, 55.86% 17.94%, 59.64% 13.43%, 54.82% 0.00%, 38.64% 0.00%); }
.shard:nth-child(5) { clip-path: polygon(15.40% 22.33%, 18.66% 19.17%, 13.67% 0.00%, 0.00% 0.00%, 0.00% 20.74%); -webkit-clip-path: polygon(15.40% 22.33%, 18.66% 19.17%, 13.67% 0.00%, 0.00% 0.00%, 0.00% 20.74%); }
.shard:nth-child(6) { clip-path: polygon(88.08% 19.27%, 95.05% 36.92%, 100.00% 37.73%, 100.00% 14.29%); -webkit-clip-path: polygon(88.08% 19.27%, 95.05% 36.92%, 100.00% 37.73%, 100.00% 14.29%); }
.shard:nth-child(7) { clip-path: polygon(34.72% 22.17%, 50.62% 39.92%, 51.33% 39.76%, 55.86% 17.94%); -webkit-clip-path: polygon(34.72% 22.17%, 50.62% 39.92%, 51.33% 39.76%, 55.86% 17.94%); }
.shard:nth-child(8) { clip-path: polygon(55.86% 17.94%, 51.33% 39.76%, 58.78% 42.27%, 62.39% 41.70%, 72.98% 36.20%, 72.53% 19.08%, 59.64% 13.43%); -webkit-clip-path: polygon(55.86% 17.94%, 51.33% 39.76%, 58.78% 42.27%, 62.39% 41.70%, 72.98% 36.20%, 72.53% 19.08%, 59.64% 13.43%); }
.shard:nth-child(9) { clip-path: polygon(72.98% 36.20%, 82.79% 41.58%, 95.05% 36.92%, 88.08% 19.27%, 79.38% 15.68%, 72.53% 19.08%); -webkit-clip-path: polygon(72.98% 36.20%, 82.79% 41.58%, 95.05% 36.92%, 88.08% 19.27%, 79.38% 15.68%, 72.53% 19.08%); }
.shard:nth-child(10) { clip-path: polygon(18.66% 19.17%, 15.40% 22.33%, 15.42% 36.94%, 19.73% 41.34%, 29.33% 39.19%, 34.34% 22.03%, 31.59% 18.93%); -webkit-clip-path: polygon(18.66% 19.17%, 15.40% 22.33%, 15.42% 36.94%, 19.73% 41.34%, 29.33% 39.19%, 34.34% 22.03%, 31.59% 18.93%); }
.shard:nth-child(11) { clip-path: polygon(15.42% 36.94%, 15.40% 22.33%, 0.00% 20.74%, 0.00% 40.59%); -webkit-clip-path: polygon(15.42% 36.94%, 15.40% 22.33%, 0.00% 20.74%, 0.00% 40.59%); }
.shard:nth-child(12) { clip-path: polygon(34.34% 22.03%, 29.33% 39.19%, 42.81% 45.96%, 50.62% 39.92%); -webkit-clip-path: polygon(34.34% 22.03%, 29.33% 39.19%, 42.81% 45.96%, 50.62% 39.92%); }
.shard:nth-child(13) { clip-path: polygon(75.36% 62.34%, 76.51% 62.96%, 82.09% 60.54%, 82.79% 41.58%, 72.98% 36.20%, 62.39% 41.70%); -webkit-clip-path: polygon(75.36% 62.34%, 76.51% 62.96%, 82.09% 60.54%, 82.79% 41.58%, 72.98% 36.20%, 62.39% 41.70%); }
.shard:nth-child(14) { clip-path: polygon(18.49% 58.87%, 23.75% 59.84%, 42.04% 45.94%, 29.33% 39.19%, 19.73% 41.34%); -webkit-clip-path: polygon(18.49% 58.87%, 23.75% 59.84%, 42.04% 45.94%, 29.33% 39.19%, 19.73% 41.34%); }
.shard:nth-child(15) { clip-path: polygon(0.00% 40.59%, 0.00% 59.25%, 14.14% 61.57%, 18.49% 58.87%, 19.73% 41.34%, 15.42% 36.94%); -webkit-clip-path: polygon(0.00% 40.59%, 0.00% 59.25%, 14.14% 61.57%, 18.49% 58.87%, 19.73% 41.34%, 15.42% 36.94%); }
.shard:nth-child(16) { clip-path: polygon(95.05% 36.92%, 82.79% 41.58%, 82.09% 60.54%, 91.57% 64.20%, 100.00% 63.95%, 100.00% 37.73%); -webkit-clip-path: polygon(95.05% 36.92%, 82.79% 41.58%, 82.09% 60.54%, 91.57% 64.20%, 100.00% 63.95%, 100.00% 37.73%); }
.shard:nth-child(17) { clip-path: polygon(50.62% 39.92%, 42.81% 45.96%, 45.94% 63.96%, 51.93% 65.84%, 59.24% 59.50%, 58.78% 42.27%); -webkit-clip-path: polygon(50.62% 39.92%, 42.81% 45.96%, 45.94% 63.96%, 51.93% 65.84%, 59.24% 59.50%, 58.78% 42.27%); }
.shard:nth-child(18) { clip-path: polygon(58.78% 42.27%, 59.24% 59.50%, 75.36% 62.34%, 62.39% 41.70%); -webkit-clip-path: polygon(58.78% 42.27%, 59.24% 59.50%, 75.36% 62.34%, 62.39% 41.70%); }
.shard:nth-child(19) { clip-path: polygon(45.94% 63.96%, 42.81% 45.96%, 42.04% 45.94%, 23.75% 59.84%, 36.27% 69.17%); -webkit-clip-path: polygon(45.94% 63.96%, 42.81% 45.96%, 42.04% 45.94%, 23.75% 59.84%, 36.27% 69.17%); }
.shard:nth-child(20) { clip-path: polygon(70.77% 76.65%, 76.51% 62.96%, 75.36% 62.34%, 59.24% 59.50%, 51.93% 65.84%, 54.89% 71.48%); -webkit-clip-path: polygon(70.77% 76.65%, 76.51% 62.96%, 75.36% 62.34%, 59.24% 59.50%, 51.93% 65.84%, 54.89% 71.48%); }
.shard:nth-child(21) { clip-path: polygon(14.14% 61.57%, 15.15% 78.34%, 23.12% 84.34%, 35.28% 76.13%, 36.27% 69.17%, 23.75% 59.84%, 18.49% 58.87%); -webkit-clip-path: polygon(14.14% 61.57%, 15.15% 78.34%, 23.12% 84.34%, 35.28% 76.13%, 36.27% 69.17%, 23.75% 59.84%, 18.49% 58.87%); }
.shard:nth-child(22) { clip-path: polygon(15.15% 78.34%, 14.14% 61.57%, 0.00% 59.25%, 0.00% 85.81%); -webkit-clip-path: polygon(15.15% 78.34%, 14.14% 61.57%, 0.00% 59.25%, 0.00% 85.81%); }
.shard:nth-child(23) { clip-path: polygon(83.14% 85.13%, 86.73% 82.24%, 91.57% 64.20%, 82.09% 60.54%, 76.51% 62.96%, 70.77% 76.65%); -webkit-clip-path: polygon(83.14% 85.13%, 86.73% 82.24%, 91.57% 64.20%, 82.09% 60.54%, 76.51% 62.96%, 70.77% 76.65%); }
.shard:nth-child(24) { clip-path: polygon(91.57% 64.20%, 86.73% 82.24%, 100.00% 82.70%, 100.00% 63.95%); -webkit-clip-path: polygon(91.57% 64.20%, 86.73% 82.24%, 100.00% 82.70%, 100.00% 63.95%); }
.shard:nth-child(25) { clip-path: polygon(51.93% 65.84%, 45.94% 63.96%, 36.27% 69.17%, 35.28% 76.13%, 45.30% 86.19%, 50.80% 82.04%, 54.89% 71.48%); -webkit-clip-path: polygon(51.93% 65.84%, 45.94% 63.96%, 36.27% 69.17%, 35.28% 76.13%, 45.30% 86.19%, 50.80% 82.04%, 54.89% 71.48%); }
.shard:nth-child(26) { clip-path: polygon(54.89% 71.48%, 50.80% 82.04%, 64.75% 87.12%, 70.53% 76.77%); -webkit-clip-path: polygon(54.89% 71.48%, 50.80% 82.04%, 64.75% 87.12%, 70.53% 76.77%); }
.shard:nth-child(27) { clip-path: polygon(45.30% 86.19%, 35.28% 76.13%, 23.12% 84.34%, 24.80% 100.00%, 44.45% 100.00%); -webkit-clip-path: polygon(45.30% 86.19%, 35.28% 76.13%, 23.12% 84.34%, 24.80% 100.00%, 44.45% 100.00%); }
.shard:nth-child(28) { clip-path: polygon(83.14% 85.13%, 70.53% 76.77%, 64.75% 87.12%, 64.33% 100.00%, 84.39% 100.00%); -webkit-clip-path: polygon(83.14% 85.13%, 70.53% 76.77%, 64.75% 87.12%, 64.33% 100.00%, 84.39% 100.00%); }
.shard:nth-child(29) { clip-path: polygon(23.12% 84.34%, 15.15% 78.34%, 0.00% 85.81%, 0.00% 100.00%, 24.80% 100.00%); -webkit-clip-path: polygon(23.12% 84.34%, 15.15% 78.34%, 0.00% 85.81%, 0.00% 100.00%, 24.80% 100.00%); }
.shard:nth-child(30) { clip-path: polygon(86.73% 82.24%, 83.14% 85.13%, 84.39% 100.00%, 100.00% 100.00%, 100.00% 82.70%); -webkit-clip-path: polygon(86.73% 82.24%, 83.14% 85.13%, 84.39% 100.00%, 100.00% 100.00%, 100.00% 82.70%); }
.shard:nth-child(31) { clip-path: polygon(64.75% 87.12%, 50.80% 82.04%, 45.30% 86.19%, 44.45% 100.00%, 64.33% 100.00%); -webkit-clip-path: polygon(64.75% 87.12%, 50.80% 82.04%, 45.30% 86.19%, 44.45% 100.00%, 64.33% 100.00%); }
.vitral-light{position:absolute;inset:5% -4%;pointer-events:none;background:linear-gradient(112deg,transparent 28%,rgba(255,255,255,.72) 50%,transparent 71%);mix-blend-mode:screen;opacity:0;transform:translateX(-82%)} .work-copy{grid-column:7 / -1;padding:13vh 2vw 24vh 4vw} .work-beat{min-height:38vh;display:flex;flex-direction:column;justify-content:center} .work-intro{min-height:58vh} .work-copy p{font-size:1.02rem} .work-copy blockquote{margin:0;padding:0 0 0 28px;border-left:3px solid var(--terracotta);font-size:clamp(1.35rem,2.25vw,2rem);line-height:1.48;color:var(--green-deep)}
.services{padding:122px 0 138px} .services-intro{margin-left:3%} .service-ledger{width:min(1160px,86vw);margin-top:56px;border-top:1px solid var(--line)} .service-ledger article{padding:40px 0 44px;border-bottom:1px solid var(--line)} .service-primary{max-width:900px} .service-primary h3{font-size:clamp(1.65rem,2.6vw,2.45rem)} .service-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px} .service-secondary-grid article{border-bottom:0} .service-label{margin:0 0 8px;color:#8b5b42;font-size:.68rem;font-weight:700;letter-spacing:.14em} .service-ledger p{color:var(--muted);max-width:760px}
.about{padding:132px 0 146px;background:linear-gradient(180deg,var(--paper),#f7f2e8);overflow:hidden} .about-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center} .botanical-stage{grid-column:1 / span 5;min-height:700px;display:grid;align-items:end} .about-botanical{width:min(50vw,760px);transform:translateX(-8%);overflow:visible} .about-botanical .stem,.about-botanical .branch,.about-botanical .leaf{transform-box:fill-box} .about-botanical .stem{transform-origin:18% 96%} .about-botanical .branch{transform-origin:8% 90%} .about.is-active .stem-main{animation:stemBreeze 6.6s cubic-bezier(.2,.7,.22,1) 1 both} .about.is-active .branch-a{animation:branchA 6.2s cubic-bezier(.2,.7,.22,1) .25s 1 both} .about.is-active .branch-b{animation:branchB 6s cubic-bezier(.2,.7,.22,1) .42s 1 both} .about.is-active .branch-c{animation:branchC 5.8s cubic-bezier(.2,.7,.22,1) .60s 1 both} .about.is-active .branch-d{animation:branchD 5.7s cubic-bezier(.2,.7,.22,1) .12s 1 both} .about.is-active .branch-e{animation:branchE 5.5s cubic-bezier(.2,.7,.22,1) .72s 1 both} @keyframes stemBreeze{0%,100%{transform:rotate(0)}32%{transform:rotate(.55deg)}56%{transform:rotate(-.22deg)}76%{transform:rotate(.10deg)}} @keyframes branchA{0%,100%{transform:rotate(0)}34%{transform:rotate(1.05deg)}58%{transform:rotate(-.4deg)}78%{transform:rotate(.17deg)}} @keyframes branchB{0%,100%{transform:rotate(0)}34%{transform:rotate(1.2deg)}58%{transform:rotate(-.43deg)}78%{transform:rotate(.16deg)}} @keyframes branchC{0%,100%{transform:rotate(0)}34%{transform:rotate(.82deg)}58%{transform:rotate(-.30deg)}78%{transform:rotate(.12deg)}} @keyframes branchD{0%,100%{transform:rotate(0)}34%{transform:rotate(.72deg)}58%{transform:rotate(-.25deg)}78%{transform:rotate(.10deg)}} @keyframes branchE{0%,100%{transform:rotate(0)}34%{transform:rotate(1.35deg)}58%{transform:rotate(-.45deg)}78%{transform:rotate(.18deg)}} .about-copy{grid-column:6 / -1;padding-right:5%} .fact-ledger{margin:50px 0 0;border-top:1px solid var(--line)} .fact-ledger div{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)} .fact-ledger dt{color:#7d5f32;font-size:.70rem;font-weight:700;letter-spacing:.08em} .fact-ledger dd{margin:0}
.first-session{padding:128px 0 140px} .session-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start} .session-copy{grid-column:1 / span 6} .session-steps{grid-column:8 / -1;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)} .session-steps li{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:24px 0;border-bottom:1px solid var(--line)} .session-steps li>span{color:#7d5f32;font-size:.72rem;font-weight:700} .session-steps strong{display:block;margin-bottom:4px} .session-steps p{margin:0;color:var(--muted);font-size:.92rem}
.location{padding:120px 0 132px;background:var(--paper-2);overflow:hidden} .location-pattern{position:absolute;inset:0 0 auto;height:120px;background:url('assets/texture-lines.webp') center/cover;opacity:.13} .location-grid{position:relative} .location .prose{max-width:1040px} .location-entry{max-width:980px;margin-top:40px;padding:30px 0 8px;border-top:1px solid var(--line)} .location-type{margin:0 0 6px;color:#8b5b42;font-size:.68rem;font-weight:700;letter-spacing:.14em} .location-entry address{margin-bottom:12px;font-weight:650} .location-entry p,.plan-note{color:var(--muted)} .plan-note{max-width:900px;margin-top:42px;padding:22px 0 0 28px;border-left:2px solid var(--gold)}
.approach{padding:130px 0 146px;overflow:hidden} .approach-pattern{position:absolute;right:-9%;top:-12%;width:48%;height:65%;background:url('assets/pattern-terracotta.png') center/390px auto repeat;opacity:.045;transform:rotate(4deg);mask-image:radial-gradient(ellipse at top right,#000 0 35%,transparent 75%)} .approach-copy{margin-left:0;max-width:1040px}
.evaluation{padding:116px 0 126px;background:linear-gradient(180deg,#f7f2e8,var(--paper));overflow:hidden} .evaluation-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center} .evaluation-copy{grid-column:2 / span 7} .evaluation-star{grid-column:10 / -1;width:min(20vw,250px);justify-self:center;opacity:.74} .evaluation-star img{width:100%;filter:drop-shadow(0 0 0 rgba(169,125,71,0))} .evaluation.is-active .evaluation-star img{animation:evalStar 5.8s ease .4s 1 both} @keyframes evalStar{0%,48%,100%{filter:drop-shadow(0 0 0 rgba(169,125,71,0));transform:scale(1)}65%{filter:drop-shadow(0 0 18px rgba(169,125,71,.55));transform:scale(1.045)}}
.faq{padding:124px 0 138px} .faq-list{width:min(1040px,86vw);margin-top:48px;border-top:1px solid var(--line)} .faq-list details{border-bottom:1px solid var(--line)} .faq-list summary{cursor:pointer;padding:25px 42px 25px 0;font-weight:700;list-style:none;position:relative} .faq-list summary::-webkit-details-marker{display:none} .faq-list summary::after{content:'+';position:absolute;right:6px;font-size:1.25rem;font-weight:400;color:var(--gold)} .faq-list details[open] summary::after{content:'–'} .faq-list details p{max-width:780px;padding:0 0 25px;color:var(--muted)}
.contact{position:relative;padding:132px 0 145px;background:var(--green-deep);color:rgba(255,255,255,.86);overflow:hidden} .contact h2{color:white} .contact .kicker{color:#d8c49b} .contact-pattern{position:absolute;right:-10%;bottom:-35%;width:60%;height:100%;background:url('assets/pattern.png') center/430px auto repeat;opacity:.07;transform:rotate(-3deg);mask-image:radial-gradient(ellipse at bottom right,#000 0 34%,transparent 73%)} .contact-grid{position:relative} .contact-content{margin-left:0;max-width:980px} .contact-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:34px 0 18px} .contact-actions>a:not(.button){color:white;text-underline-offset:3px} .contact .button{background:white;color:var(--green-deep);border-color:white} .contact .availability{margin-top:28px;color:#edf3e2!important}
.site-footer{padding:48px 0 24px;background:#18352c;color:rgba(255,255,255,.78)} .footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:flex-start} .footer-inner p{margin:0} .footer-links{white-space:nowrap} .footer-links a{color:white} .copyright{margin-top:34px;color:rgba(255,255,255,.52);font-size:.78rem}

@media(max-width:1050px){.desktop-nav,.header-contact{display:none} .mobile-menu{display:block} .hero-copy{grid-column:1 / span 11} .psychotherapy-copy{grid-column:1 / span 8} .bird-stage{grid-column:9 / -1} .work-copy{padding-left:2vw} .evaluation-copy{grid-column:1 / span 8} .evaluation-star{grid-column:10 / -1}}
@media(max-width:900px){
  .shell-wide{width:min(90vw,760px)} .header-inner{height:78px} .brand-state{width:170px;height:46px} .brand-logo{width:165px} .mobile-menu nav{inset:78px 0 auto} h1{font-size:clamp(3rem,12vw,5.2rem)} h2{font-size:clamp(2.1rem,8vw,3.5rem)}
  .hero{min-height:auto} .hero-pattern{width:72vw;opacity:.07} .hero-grid{display:block} .hero-copy{padding:88px 0 78px} .hero-facts{grid-template-columns:1fr;gap:0} .hero-facts div{padding-top:16px}
  .psychotherapy{padding:92px 0 106px} .psychotherapy-grid{display:block} .bird-stage{position:relative;top:auto;min-height:390px;margin:22px 0 42px} .bird-composite{width:min(82vw,500px);margin-inline:auto} .topic-stream{width:100%;margin-top:40px} .topic-stream article,.topic-stream article:nth-child(2),.topic-stream article:nth-child(3){margin-left:0;padding-left:54px} .margin-note{margin-left:0;width:100%}
  .work-grid{display:flex;flex-direction:column} .vitral-column{order:1} .vitral-sticky{position:relative;top:auto;height:auto;min-height:500px} .vitral-art{width:min(82vw,520px)} .work-copy{order:2;padding:0 0 90px} .work-beat,.work-intro{min-height:auto;margin-bottom:52px}
  .services,.about,.first-session,.location,.approach,.evaluation,.faq{padding:90px 0 104px} .service-ledger{width:100%} .service-secondary-grid{grid-template-columns:1fr;gap:0}
  .about-grid{display:flex;flex-direction:column} .botanical-stage{order:2;min-height:520px;width:100%} .about-copy{order:1;padding:0} .about-botanical{width:min(95vw,690px);transform:translateX(-10%)} .fact-ledger div{grid-template-columns:1fr;gap:3px}
  .session-grid{display:block} .session-steps{margin-top:52px} .approach-copy{margin-left:0}
  .evaluation-grid{display:block} .evaluation-star{width:min(42vw,190px);margin:46px auto 0} .faq-list{width:100%}
  .contact{padding:96px 0 108px} .contact-content{margin-left:0} .footer-inner{display:grid;gap:22px} .footer-links{white-space:normal}
}
@media(max-width:540px){.session-steps li{grid-template-columns:42px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto} *,*::before,*::after{animation:none!important;transition:none!important} .shard{transform:none!important;opacity:1!important;filter:none!important} .vitral-light{opacity:.08!important;transform:none!important}}
@media(prefers-contrast:more){:root{--line:rgba(36,49,45,.4);--muted:#39443f}}

/* Auxiliary pages */
.brand { display:inline-flex; align-items:center; text-decoration:none; }
.brand img { width:185px; height:auto; }
.section-opening { min-height:calc(100vh - 86px); padding:120px 0 140px; }
.privacy-title { max-width:12ch; }
.privacy-heading { margin-top:3.4rem; margin-bottom:1rem; font-size:clamp(1.5rem,2.6vw,2.25rem); }


/* =========================================================
   V5.2 — ScryDesign pre-delivery layout audit
   Goal: coherent type scale, deliberate whitespace, stronger
   desktop use of the 12-column canvas, no over-wide body text.
   ========================================================= */
:root{
  --shell:1640px;
  --reading:74ch;
  --wide-reading:88ch;
  --section-y:clamp(6.25rem,7vw,8.25rem);
  --type-small:.74rem;
  --type-body:1rem;
  --type-lead:clamp(1.28rem,1.55vw,1.58rem);
  --type-h3:clamp(1.36rem,1.55vw,1.78rem);
  --type-h2:clamp(2.5rem,3.35vw,4.15rem);
  --type-h1:clamp(4rem,5.15vw,6.4rem);
}
body{font-size:var(--type-body);line-height:1.68}
.shell-wide{width:min(92vw,var(--shell))}
.kicker{margin-bottom:1.15rem;font-size:var(--type-small);line-height:1.25}
h1,h2,h3{text-wrap:balance}
h1{font-size:var(--type-h1);line-height:.98;letter-spacing:-.047em;max-width:16ch;margin-bottom:.55rem}
h2{font-size:var(--type-h2);line-height:1.055;letter-spacing:-.04em;max-width:21ch;margin-bottom:1.65rem}
h3{font-size:var(--type-h3);line-height:1.22;letter-spacing:-.025em;margin-bottom:.72rem}
p{margin-bottom:1.12rem}
.prose,.prose-wide{max-width:none}
.prose>p:not(.kicker),.prose>blockquote,.prose>ul,.prose>ol{max-width:var(--reading)}
.prose-wide>p:not(.kicker),.prose-wide>blockquote,.prose-wide>ul,.prose-wide>ol{max-width:var(--wide-reading)}

/* Header: stable mark, slightly more breathing room. */
.header-inner{height:88px;gap:32px}
.brand-logo{width:198px}
.desktop-nav{gap:clamp(18px,1.7vw,30px)}
.desktop-nav a,.header-contact{font-size:.71rem}

/* Hero: one strong field; the title and lead carry width, body copy does not. */
.hero{min-height:calc(100vh - 88px)}
.hero-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}
.hero-copy{grid-column:1 / span 10;padding:clamp(5rem,7.5vh,7.5rem) 0 clamp(5rem,7vh,7rem)}
.hero-pattern{width:min(32vw,560px);opacity:.085;background-size:380px auto}
.hero-lead{max-width:69ch;font-size:var(--type-lead);line-height:1.48;margin:2.35rem 0 1.1rem}
.hero-copy p.hero-copy{max-width:72ch;font-size:1.02rem;line-height:1.72}
.hero-actions{margin:2.35rem 0 2.8rem}
.hero-facts{max-width:1240px}

/* Standard vertical rhythm. */
.psychotherapy,.services,.about,.first-session,.location,.approach,.evaluation,.faq{padding-top:var(--section-y);padding-bottom:var(--section-y)}

/* Psychotherapy: editorial split; art is a counterweight, not a second title. */
.psychotherapy-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}
.psychotherapy-copy{grid-column:1 / span 8;max-width:none}
.psychotherapy-copy h2{max-width:18ch}
.psychotherapy-copy .section-intro{max-width:70ch;font-size:1.06rem;line-height:1.72}
.bird-stage{grid-column:9 / -1;min-height:390px;top:132px;place-items:start center;padding-top:2.6rem}
.bird-composite{width:min(27vw,420px)}
.topic-stream{grid-column:1 / span 10;margin-top:4.5rem}
.topic-stream article{padding-top:2.25rem;padding-bottom:2.5rem}
.topic-stream article:nth-child(2){margin-left:5%}
.topic-stream article:nth-child(3){margin-left:10%}
.topic-stream p{max-width:76ch}
.margin-note{grid-column:3 / span 6;margin-top:2.6rem}

/* Vitral story: preserve the accepted motion, tighten reading hierarchy. */
.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}
.vitral-column{grid-column:1 / span 5}
.work-copy{grid-column:6 / -1;padding-left:clamp(1rem,2.2vw,2.6rem)}
.work-copy h2{max-width:17ch}
.work-copy .work-beat p{max-width:72ch}
.work-copy blockquote{max-width:19ch;font-size:clamp(1.45rem,2.1vw,2.15rem);line-height:1.32}

/* Services: use the full canvas but retain readable line measures. */
.services-intro{margin-left:0;max-width:1100px}
.services-intro h2{max-width:18ch}
.service-ledger{width:100%;margin-top:3.25rem}
.service-primary{max-width:none;display:grid;grid-template-columns:minmax(220px,3fr) minmax(0,8fr);column-gap:clamp(3rem,6vw,7rem);align-items:start}
.service-primary .service-label{grid-column:1}
.service-primary h3,.service-primary p:last-child{grid-column:2}
.service-primary h3{margin-top:-.2rem;max-width:28ch}
.service-primary p:last-child{max-width:72ch}
.service-secondary-grid{gap:clamp(4rem,7vw,8rem)}
.service-secondary-grid article p:last-child{max-width:62ch}

/* About: balance plant and copy vertically; copy gets a larger usable field. */
.about-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px;align-items:center}
.botanical-stage{grid-column:1 / span 5;min-height:650px;align-items:center}
.about-botanical{width:min(45vw,700px);transform:translateX(-10%)}
.about-copy{grid-column:6 / -1;padding-right:0}
.about-copy h2{max-width:17ch}
.about-copy>p:not(.kicker){max-width:69ch}
.fact-ledger{max-width:880px}

/* First session: explicit 7/5 relationship. */
.session-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}
.session-copy{grid-column:1 / span 7;max-width:none}
.session-copy h2{max-width:16ch}
.session-copy>p:not(.kicker){max-width:69ch}
.session-steps{grid-column:9 / -1}

/* Location: the practical information now occupies the canvas intentionally. */
.location-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px;align-items:start}
.location-heading{grid-column:1 / span 8}
.location-heading h2{max-width:17ch;margin-bottom:2.8rem}
.location-entries{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px;border-top:1px solid var(--line)}
.location-entry{margin:0;padding:2.35rem 0 1.2rem;border-top:0;max-width:none}
.location-entry:first-child{grid-column:1 / span 6;padding-right:clamp(1rem,3vw,3.5rem)}
.location-entry:last-child{grid-column:7 / -1;padding-left:clamp(1rem,3vw,3.5rem);border-left:1px solid var(--line)}
.location-entry p{max-width:58ch}
.plan-note{grid-column:2 / span 7;max-width:72ch;margin-top:2.6rem}

/* Approach: headline may be broad; paragraphs stay readable and are deliberately inset. */
.approach-copy{max-width:1280px;margin-left:0}
.approach-copy h2{max-width:19ch}
.approach-copy>p:not(.kicker){max-width:76ch;margin-left:clamp(0rem,3.6vw,4rem)}
.approach-pattern{width:40%;height:72%;right:-7%;top:-8%;opacity:.05}

/* Evaluation: remove arbitrary left indentation and anchor the star to the far rail. */
.evaluation-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}
.evaluation-copy{grid-column:1 / span 8}
.evaluation-copy h2{max-width:18ch}
.evaluation-copy>p:not(.kicker){max-width:70ch}
.evaluation-star{grid-column:10 / -1;width:min(16vw,220px);align-self:start;margin-top:5.5rem}

/* FAQ/contact: full section alignment, readable content measure. */
.faq .prose-wide h2{max-width:14ch}
.faq-list{width:min(1160px,100%);margin-top:2.8rem}
.faq-list details p{max-width:74ch}
.contact-content{max-width:none;margin-left:0}
.contact-content h2{max-width:14ch}
.contact-content>p:not(.kicker):not(.availability){max-width:70ch}
.contact-pattern{width:48%;opacity:.055}

@media(max-width:1050px){
  .hero-copy{grid-column:1 / -1}
  .psychotherapy-copy{grid-column:1 / span 8}
  .bird-stage{grid-column:9 / -1}
  .vitral-column{grid-column:1 / span 5}
  .work-copy{grid-column:6 / -1}
  .evaluation-copy{grid-column:1 / span 8}
}
@media(max-width:900px){
  :root{--section-y:clamp(5.1rem,12vw,6.5rem)}
  .shell-wide{width:min(90vw,760px)}
  .header-inner{height:78px}.brand-logo{width:168px}
  h1{font-size:clamp(3.25rem,13vw,5rem);max-width:100%}
  h2{font-size:clamp(2.2rem,9vw,3.45rem);max-width:100%}
  .hero-copy{padding:5.2rem 0 5.6rem}
  .hero-pattern{width:70vw;opacity:.055}
  .psychotherapy-copy h2,.services-intro h2,.about-copy h2,.session-copy h2,.location-heading h2,.approach-copy h2,.evaluation-copy h2{max-width:100%}
  .bird-stage{padding-top:0}
  .service-primary{display:block}
  .service-primary h3{margin-top:0}
  .location-grid{display:block}
  .location-heading h2{margin-bottom:2.2rem}
  .location-entries{display:block;border-top:1px solid var(--line)}
  .location-entry:first-child,.location-entry:last-child{padding:2rem 0; border-left:0;border-bottom:1px solid var(--line)}
  .plan-note{margin-left:0;max-width:100%}
  .approach-copy>p:not(.kicker){margin-left:0}
  .evaluation-star{margin:2.8rem auto 0}
}


/* === ScryDesign V5.3: fine layout corrections after visual review === */

/* 1. Keep the full professional name on one line. */
#titulo-principal{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(2.15rem,5vw,6.15rem);
  letter-spacing:-.05em;
}

/* 2. Tighten the hero's internal rhythm. */
.hero-lead{margin-top:2.05rem;margin-bottom:.45rem}
.hero-copy p.hero-copy{margin-bottom:.55rem}
.hero-actions{margin-top:1.05rem;margin-bottom:2.55rem}

/* 3. Bird aligns to the title/text field rather than floating lower. */
.bird-stage{
  top:118px;
  padding-top:0;
  align-self:start;
  place-items:start center;
  margin-top:2.35rem;
}
.bird-composite{width:min(26vw,405px)}

/* 4. Vitral: larger copy, broader text field, much tighter paragraph rhythm. */
.work-story{min-height:178vh}
.vitral-column{grid-column:1 / span 5}
.work-copy{
  grid-column:6 / -1;
  padding:10vh clamp(.5rem,1vw,1.1rem) 46vh clamp(.5rem,1vw,1.1rem);
}
.work-copy h2{max-width:20ch;margin-bottom:1.35rem}
.work-copy .work-beat{
  min-height:0;
  display:block;
  margin-bottom:1.45rem;
}
.work-copy .work-intro{min-height:0;margin-bottom:1.75rem}
.work-copy .work-beat p{
  max-width:78ch;
  font-size:1.11rem;
  line-height:1.67;
  margin-bottom:0;
}
.work-copy blockquote{
  max-width:24ch;
  margin:1.65rem 0 1.75rem;
  font-size:clamp(1.48rem,2vw,2.05rem);
  line-height:1.34;
}

/* 5. Three modalities, one row, equal visual height. */
.service-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  align-items:stretch;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.service-cards .service-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:2.35rem clamp(1.6rem,2.6vw,2.75rem) 2.6rem;
  border:0;
  border-right:1px solid var(--line);
}
.service-cards .service-card:first-child{padding-left:0}
.service-cards .service-card:last-child{border-right:0;padding-right:0}
.service-cards .service-card h3{
  min-height:3.15em;
  margin:.15rem 0 1rem;
  font-size:clamp(1.48rem,1.9vw,1.9rem);
  line-height:1.2;
}
.service-cards .service-card p:last-child{
  max-width:none;
  margin-top:auto;
  margin-bottom:0;
  color:var(--muted);
}

/* 6. First session: close the gap between prose and the numbered steps. */
.session-grid{column-gap:20px}
.session-copy{grid-column:1 / span 7}
.session-steps{grid-column:8 / -1}

/* 7. Insurance note belongs visually to the location information above it. */
.plan-note{
  grid-column:1 / -1;
  max-width:102ch;
  margin-top:1.15rem;
  padding:.95rem 0 0;
  border-left:0;
  border-top:1px solid var(--line);
  text-align:left;
}

@media(max-width:1050px){
  #titulo-principal{font-size:clamp(2.2rem,7vw,4.7rem)}
  .bird-stage{margin-top:1.7rem}
  .work-copy{padding-left:.5rem;padding-right:0}
  .service-cards .service-card{padding-left:1.6rem;padding-right:1.6rem}
  .service-cards .service-card:first-child{padding-left:0}
  .service-cards .service-card:last-child{padding-right:0}
}

@media(max-width:900px){
  #titulo-principal{
    white-space:nowrap;
    font-size:clamp(1.95rem,7vw,3.25rem);
    letter-spacing:-.055em;
  }
  .hero-lead{margin-top:1.65rem}
  .hero-actions{margin-top:1rem}
  .bird-stage{margin-top:0}
  .work-story{min-height:auto}
  .work-copy{padding:0 0 90px}
  .work-copy .work-beat,.work-copy .work-intro{margin-bottom:1.35rem}
  .work-copy .work-beat p{font-size:1.05rem}
  .service-cards{display:block;border-bottom:0}
  .service-cards .service-card,
  .service-cards .service-card:first-child,
  .service-cards .service-card:last-child{
    min-height:auto;
    padding:2rem 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .service-cards .service-card h3{min-height:0}
  .session-grid{display:block}
  .session-steps{margin-top:2rem}
  .plan-note{max-width:100%;margin-top:1rem}
}


/* V5.3 audit correction: avoid .hero-copy class collision on the secondary paragraph. */
.hero-secondary{
  max-width:72ch;
  margin:0 0 .45rem;
  padding:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.68;
}
.hero-actions{margin-top:.85rem}

/* Pull the first-session steps into a true 6/6 editorial split. */
.session-copy{grid-column:1 / span 6}
.session-copy>p:not(.kicker){max-width:66ch}
.session-steps{grid-column:7 / -1}

/* Keep the insurance note visibly attached to the location rows. */
.plan-note{margin-top:.55rem}

/* Final visual audit: lift the bird so its visible mass aligns with the heading field. */
@media(min-width:1051px){
  .bird-stage{margin-top:-3.6rem}
}

/* Bird asset contains internal breathing room; compensate so the visible motif aligns with the heading. */
@media(min-width:1051px){
  .bird-composite{margin-top:-4.75rem}
}
@media(max-width:900px){
  .bird-composite{margin-top:0}
}

/* === ScryDesign V5.4: active-space, balance and information-density pass === */

/* Header: enough information scent without keeping an over-wide desktop menu alive too long. */
.desktop-nav{gap:clamp(13px,1.25vw,23px)}
.desktop-nav a{font-size:.67rem}

/* Hero: identity stays in the logo; the H1 states the service. The right rail carries deliberate visual weight. */
.hero{
  min-height:calc(100vh - 86px);
  background:linear-gradient(90deg,#fcfaf5 0 64%,#f2ede2 64% 100%);
}
.hero-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(24px,2vw,34px);
  align-items:center;
}
.hero-copy{
  grid-column:1 / span 7;
  padding:clamp(4.8rem,7vh,7rem) 0 clamp(4.4rem,6.5vh,6.5rem);
}
#titulo-principal{
  max-width:10.8ch;
  white-space:normal;
  font-size:clamp(3.6rem,5.15vw,6.35rem);
  line-height:.98;
  letter-spacing:-.052em;
}
.credential{
  margin:1.15rem 0 1.9rem;
  font-size:clamp(1rem,1.18vw,1.17rem);
  font-weight:500;
}
.credential strong{font-weight:700}
.hero-lead{
  max-width:62ch;
  margin:0 0 .58rem;
  font-size:clamp(1.18rem,1.55vw,1.48rem);
  line-height:1.5;
}
.hero-secondary{
  max-width:66ch;
  margin:0 0 .7rem;
  font-size:1rem;
  line-height:1.64;
}
.hero-actions{margin:1.15rem 0 2.2rem}
.hero-facts{max-width:100%;grid-template-columns:.78fr 1.18fr 1.32fr}
.hero-visual{
  grid-column:9 / -1;
  align-self:stretch;
  min-height:620px;
  display:grid;
  align-items:center;
  justify-items:end;
  position:relative;
}
.hero-visual::before{
  content:"";
  position:absolute;
  inset:7% -8% 7% 7%;
  background:url('assets/pattern-olive.png') center/360px auto repeat;
  opacity:.075;
  mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%);
}
.hero-visual-field{
  position:relative;
  width:min(30vw,455px);
  aspect-ratio:4/5;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 22%,rgba(198,220,227,.62),transparent 28%),
    linear-gradient(155deg,rgba(193,201,145,.56),rgba(241,231,215,.88) 48%,rgba(183,120,85,.18));
  border:1px solid rgba(169,125,71,.28);
  box-shadow:0 28px 70px rgba(36,49,45,.08);
}
.hero-visual-field::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/pattern-soft.png') center/330px auto repeat;
  opacity:.18;
  mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.5) 56%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.5) 56%,transparent 100%);
}
.hero-portal-outline,.hero-portal-inner{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  border:2px solid rgba(169,125,71,.54);
  border-bottom:0;
  border-radius:48% 48% 0 0 / 29% 29% 0 0;
}
.hero-portal-outline{width:72%;height:69%;bottom:0}
.hero-portal-inner{width:48%;height:51%;bottom:0;border-color:rgba(49,95,76,.34)}
.hero-visual-star{
  position:absolute;
  width:23%;
  height:auto;
  top:15%;
  right:10%;
  opacity:.78;
  filter:drop-shadow(0 0 14px rgba(169,125,71,.20));
}

/* Modalities become the fast practical answer immediately after the hero. */
.services{
  background:var(--paper-2);
  padding-top:clamp(4.8rem,6vw,6.7rem);
  padding-bottom:clamp(5rem,6.4vw,7rem);
}
.services-intro{max-width:1180px}
.services-intro h2{max-width:19ch;margin-bottom:0}
.service-ledger{margin-top:2.7rem}

/* Analysis of Behavior: deliberate two-zone composition instead of a narrow left text block. */
.approach{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.approach-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:28px;
  align-items:start;
}
.approach-heading{grid-column:1 / span 6;position:relative;z-index:1}
.approach-heading h2{max-width:15.5ch;margin-bottom:0}
.approach-body{
  grid-column:8 / -1;
  padding-left:clamp(1.6rem,2.5vw,2.8rem);
  border-left:1px solid var(--line);
  font-size:1.065rem;
  line-height:1.67;
  color:var(--muted);
}
.approach-body p{max-width:66ch;margin-bottom:1.05rem}
.approach-body p:last-child{margin-bottom:0}
.approach-pattern{width:33%;height:58%;right:auto;left:-8%;top:2%;opacity:.04}

/* Evaluation: text + an information panel; the right rail now carries useful content, not only an icon. */
.evaluation-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:28px;
  align-items:start;
}
.evaluation-copy{grid-column:1 / span 7;max-width:none}
.evaluation-copy h2{max-width:16.5ch}
.evaluation-copy>p:not(.kicker){max-width:68ch;margin-bottom:1.05rem}
.evaluation-panel{
  grid-column:9 / -1;
  position:relative;
  padding:clamp(2.1rem,3vw,3rem);
  margin-top:.3rem;
  background:linear-gradient(155deg,rgba(193,201,145,.21),rgba(198,220,227,.14));
  border:1px solid rgba(36,49,45,.11);
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
}
.evaluation-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/pattern-soft.png') center/310px auto repeat;
  opacity:.055;
}
.evaluation-panel>*{position:relative;z-index:1}
.evaluation-panel .evaluation-star{
  width:min(12vw,150px);
  margin:0 0 auto auto;
  opacity:.78;
}
.panel-label{
  margin:1.9rem 0 .8rem;
  color:#7d5f32;
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.evaluation-panel ul{margin:0;padding-left:1.15rem;color:var(--muted)}
.evaluation-panel li{margin:.42rem 0}

/* FAQ: one real heading, not a label followed by a synonym. */
.faq .prose-wide h2{max-width:16ch;margin-bottom:2rem}
.faq-list{margin-top:0}

/* Operational: content determines collapse before the expanded 7-item navigation becomes cramped. */
@media(max-width:1220px){
  .desktop-nav,.header-contact{display:none}
  .mobile-menu{display:block}
}

@media(max-width:1050px){
  .hero{background:linear-gradient(180deg,#fcfaf5 0 58%,#f2ede2 58% 100%)}
  .hero-copy{grid-column:1 / span 8}
  .hero-visual{grid-column:9 / -1;min-height:540px}
  .hero-visual-field{width:min(34vw,390px)}
  #titulo-principal{font-size:clamp(3.1rem,5.6vw,4.8rem)}
  .approach-heading{grid-column:1 / span 6}
  .approach-body{grid-column:7 / -1}
  .evaluation-copy{grid-column:1 / span 7}
  .evaluation-panel{grid-column:8 / -1}
}

@media(max-width:900px){
  .hero{min-height:auto;background:linear-gradient(180deg,#fcfaf5 0 72%,#f2ede2 72% 100%)}
  .hero-grid{display:block}
  .hero-copy{padding:5rem 0 2.6rem}
  #titulo-principal{max-width:11ch;font-size:clamp(3rem,11vw,4.7rem)}
  .credential{margin-bottom:1.55rem}
  .hero-visual{min-height:0;padding:0 0 4.6rem;display:grid;justify-items:center}
  .hero-visual::before{inset:0 -12vw 0 20vw}
  .hero-visual-field{width:min(82vw,470px);aspect-ratio:5/4}
  .hero-portal-outline{width:62%;height:78%}
  .hero-portal-inner{width:42%;height:58%}
  .hero-visual-star{width:17%;top:10%;right:12%}
  .hero-facts{grid-template-columns:1fr}
  .approach-grid,.evaluation-grid{display:block}
  .approach-heading h2,.evaluation-copy h2{max-width:100%}
  .approach-body{margin-top:2.4rem;padding-left:1.25rem}
  .evaluation-panel{margin-top:3rem;min-height:360px}
  .evaluation-panel .evaluation-star{width:min(32vw,135px)}
}

/* V5.4 audit correction: residual whitespace must become either composition or deliberate pause. */
section[id]{scroll-margin-top:104px}

/* Psychotherapy topics: activate the full live area with a stepped editorial flow, not a left-side text pile. */
.topic-stream{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  border-top:0;
  row-gap:0;
}
.topic-stream article{
  margin:0!important;
  padding:2.35rem 0 2.55rem 3.8rem;
  border-top:1px solid var(--line);
  border-bottom:0;
}
.topic-stream article:nth-child(1){grid-column:1 / span 8}
.topic-stream article:nth-child(2){grid-column:3 / span 8}
.topic-stream article:nth-child(3){grid-column:5 / span 8;border-bottom:1px solid var(--line)}
.topic-stream article p{max-width:68ch}
.margin-note{grid-column:6 / span 6;margin-top:2.2rem}

/* FAQ uses the canvas as a two-zone editorial composition instead of leaving a residual right field. */
.faq-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:28px;
  align-items:start;
}
.faq-heading{grid-column:1 / span 4;position:sticky;top:128px}
.faq-heading h2{max-width:9ch;margin-bottom:0}
.faq .faq-list{
  grid-column:6 / -1;
  width:100%;
  margin-top:0;
}

@media(max-width:900px){
  .topic-stream{display:block}
  .topic-stream article,
  .topic-stream article:nth-child(1),
  .topic-stream article:nth-child(2),
  .topic-stream article:nth-child(3){
    padding:2rem 0 2.15rem 3.2rem;
    border-top:1px solid var(--line);
    border-bottom:0;
  }
  .topic-stream article:last-child{border-bottom:1px solid var(--line)}
  .margin-note{margin-left:0;width:100%}
  .faq-grid{display:block}
  .faq-heading{position:static}
  .faq-heading h2{max-width:100%;margin-bottom:2rem}
}

@media(max-width:600px){
  .hero{background:#fcfaf5}
  .hero-copy{padding-bottom:4.6rem}
  .hero-visual{display:none}
}


/* === ScryDesign V5.5: remove quasi-logo ambiguity; compact sticky narrative and About === */

/* Hero visual is now deliberately abstract and photo-field-like, not a pseudo mark. */
.hero-abstract-field{
  background:
    linear-gradient(145deg,rgba(198,220,227,.56) 0 24%,transparent 24% 100%),
    linear-gradient(32deg,rgba(183,120,85,.15) 0 21%,transparent 21% 100%),
    linear-gradient(155deg,rgba(193,201,145,.50),rgba(241,231,215,.92) 54%,rgba(198,220,227,.26));
}
.hero-abstract-field::before{
  background:
    linear-gradient(90deg,rgba(255,255,255,.24),transparent 30% 70%,rgba(255,255,255,.18)),
    url('assets/pattern-soft.png') center/300px auto repeat;
  opacity:.16;
  mask-image:none;
  -webkit-mask-image:none;
}
.hero-abstract-field::after{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/texture-lines.webp') center/cover no-repeat;
  opacity:.13;
  mix-blend-mode:multiply;
}
.hero-pane{
  position:absolute;
  z-index:1;
  border:1px solid rgba(169,125,71,.26);
  background:rgba(251,248,241,.18);
  backdrop-filter:blur(1px);
}
.hero-pane-a{
  width:62%;height:40%;left:-6%;top:11%;
  transform:rotate(-5deg);
  border-radius:58% 42% 52% 48% / 44% 52% 48% 56%;
}
.hero-pane-b{
  width:56%;height:48%;right:-7%;bottom:7%;
  transform:rotate(7deg);
  border-radius:46% 54% 40% 60% / 58% 42% 58% 42%;
  background:rgba(193,201,145,.12);
}
.hero-pane-c{
  width:33%;height:26%;right:17%;top:22%;
  transform:rotate(13deg);
  border-radius:50%;
  background:rgba(198,220,227,.18);
}

/* Vitral: decouple animation completion from section length. Keep the effect, remove dead tail. */
.work-story{min-height:148vh}
.work-copy{
  padding:8vh clamp(.5rem,1vw,1.1rem) 8vh clamp(.5rem,1vw,1.1rem);
}
.work-copy .work-beat{margin-bottom:1.25rem}
.work-copy .work-intro{margin-bottom:1.5rem}
.work-copy blockquote{margin:1.35rem 0 1.45rem}

/* About: compact both the illustration envelope and vertical section rhythm. */
.about{
  padding-top:clamp(5.2rem,6vw,6.6rem);
  padding-bottom:clamp(5.4rem,6vw,6.8rem);
}
.about-grid{align-items:center}
.botanical-stage{
  min-height:540px;
  align-items:center;
}
.about-botanical{
  width:min(40vw,610px);
  transform:translateX(-6%);
}
.about-copy{align-self:center}
.about-copy h2{margin-bottom:1.5rem}
.about-copy>p:not(.kicker){margin-bottom:.9rem;line-height:1.64}
.fact-ledger{margin-top:1.5rem}

@media(max-width:1050px){
  .work-story{min-height:142vh}
  .botanical-stage{min-height:500px}
  .about-botanical{width:min(44vw,570px)}
}
@media(max-width:900px){
  .work-story{min-height:auto}
  .work-copy{padding:0 0 5.2rem}
  .about{padding-top:5rem;padding-bottom:5.4rem}
  .botanical-stage{min-height:450px}
  .about-botanical{width:min(88vw,610px);transform:translateX(-7%)}
  .hero-pane-a{width:58%;height:43%}
  .hero-pane-b{width:55%;height:48%}
}

/* V5.5 audit pass: reduce residual tail and compress About by reducing wrapping, not just padding. */
.work-story{min-height:132vh}

.about-copy h2{
  max-width:21ch;
  font-size:clamp(2.35rem,3.05vw,3.75rem);
  line-height:1.07;
  margin-bottom:1.2rem;
}
.about-copy>p:not(.kicker){
  max-width:77ch;
  margin-bottom:.72rem;
  line-height:1.58;
}
.fact-ledger{margin-top:1.15rem}
.fact-ledger div{padding:12px 0}

@media(max-width:900px){
  .about-copy h2{max-width:100%;font-size:clamp(2.2rem,8vw,3.25rem)}
  .about-copy>p:not(.kicker){max-width:100%;line-height:1.62}
}


/* V5.6 content-finalization: use the full location grid for the insurance note. */
.plan-note{
  grid-column:1 / -1;
  max-width:none;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:28px;
  align-items:start;
  padding:.95rem 0 0;
}
.plan-note .plan-note-label{
  grid-column:1 / span 2;
  margin:0;
  color:#8b5b42;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.14em;
}
.plan-note > p:last-child{
  grid-column:3 / span 8;
  max-width:82ch;
  margin:0;
}
@media(max-width:900px){
  .plan-note{display:block}
  .plan-note .plan-note-label{margin:0 0 .65rem}
  .plan-note > p:last-child{max-width:100%}
}
