@import url('https://fonts.googleapis.com/css2?family=GFS+Baskerville&family=Inter:wght@400;500;600;700&display=swap');
:root{--cream:#f7f2e9;--brown:#362d23;--body:#4b463e;--green:#155b4c;--subtle:#7b756b;--line:rgba(54,45,35,.17);--serif:'GFS Baskerville','Baskerville',Georgia,serif;--sans:'Inter',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a57b4d;outline-offset:3px}
.site-header{min-height:76px;background:var(--cream);border-bottom:1px solid rgba(54,45,35,.12);display:flex;justify-content:center;align-items:center;padding:12px 4%;position:relative;z-index:10}.site-nav{display:flex;align-items:center;gap:28px;justify-content:center}.site-nav a{white-space:nowrap;display:inline-flex;align-items:center;height:40px;font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;transition:color .2s}.site-nav a:hover,.site-nav a[aria-current="page"]:hover{color:var(--green)}.cta{background:var(--green);color:white;display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:6px;padding:17px 25px;border:0;font:600 11px/1.2 var(--sans);letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s}.cta:hover,.submit-button:hover{background:#0b463a}.site-header>.cta{position:absolute;right:4%;top:50%;transform:translateY(-50%)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--brown);padding:9px 13px;font-weight:600}
.hero{height:410px;position:relative;isolation:isolate;display:flex;align-items:center;padding:0 max(7.5%,calc((100vw - 1240px)/2));overflow:hidden;background:#21462d}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/dundas-staircase.jpg') center 46% /cover no-repeat}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,28,17,.73) 0%,rgba(8,29,17,.42) 44%,rgba(8,29,17,.06) 95%)}.hero h1{margin:0;color:#fffaf1;font:400 clamp(64px,6.5vw,102px)/1.09 var(--serif);letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.15)}.hero-home{height:700px}.hero-home::before{inset:-4%;transform-origin:52% 52%;animation:staircase-cinematic-zoom 18s ease-in-out infinite alternate;will-change:transform}.hero-home h1{font-size:clamp(52px,5.65vw,90px);max-width:780px;line-height:1.1}.hero-home .subtitle{color:#fffaf1;font:400 clamp(15px,1.3vw,19px)/1.65 var(--sans);max-width:640px;margin:22px 0 0}.hero-home .hero-copy{max-width:800px}@keyframes staircase-cinematic-zoom{from{transform:scale(1.01)}to{transform:scale(1.18)}}
.main-content{max-width:1240px;padding:95px 44px 100px;margin:0 auto}.serif{font-family:var(--serif)}h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.018em}.prose p{font:400 17px/1.85 var(--sans);color:var(--body);margin:0 0 23px}.prose p:last-child{margin-bottom:0}.content-heading{font:400 clamp(39px,3.8vw,55px)/1.15 var(--serif);margin:0 0 22px}.action-center{text-align:center;margin:70px 0 0}.action-center .cta{min-width:232px}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:66px;align-items:start}.side-photo{margin:0;min-width:0}.side-photo img{width:100%;height:auto;border:0;box-shadow:none}.forest-footer{height:235px;position:relative;background:url('assets/dundas-staircase.jpg') center 78%/cover no-repeat;display:flex;align-items:center;justify-content:center}.forest-footer::before{content:'';position:absolute;inset:0;background:rgba(6,27,14,.07)}.verified-badge{position:relative;z-index:1;width:140px;height:auto;max-width:50vw}.bottom-strip{min-height:76px;background:var(--cream);display:flex;align-items:center;justify-content:center;padding:12px 20px}.bottom-quote{margin:0;font:italic 19px/1.5 var(--serif);color:#766e63;text-align:center}
/* Home */.welcome-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:95px;align-items:center}.welcome h2{font-size:clamp(47px,4.3vw,61px);line-height:1.1;margin:0 0 26px}.welcome .prose p{font-size:17px}.home-portrait{width:100%;height:auto;max-height:540px;object-fit:cover;object-position:center 22%}.steps-section{border-top:1px solid var(--line);text-align:center;padding:76px 24px 92px}.steps-section h2{font:400 clamp(36px,3.5vw,49px)/1.13 var(--serif);margin:0 0 42px}.steps{display:flex;flex-direction:column;max-width:620px;margin:0 auto 40px;gap:25px;align-items:center}.step .step-num{font:400 26px/1 var(--serif);color:#66836e}.step h3{font:400 25px/1.2 var(--serif);margin:9px 0}.step p{font:400 15px/1.6 var(--sans);color:var(--body);margin:0}
/* About and therapy */.about-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.96fr);gap:65px}.about-photo{align-self:start}.about-photo img{height:auto;width:100%}.therapy-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:63px}.therapy-grid .therapy-photo{padding-top:8px}.therapy-grid h2{margin:0 0 18px;font-size:43px}.therapy-grid .subsection+.subsection{margin-top:44px}.therapy-grid .prose p{font-size:16px;line-height:1.8}.therapy-photo img{width:100%;height:auto;object-fit:cover}
/* Text-first */.text-page{max-width:950px}.text-page .prose p{font-size:18px;line-height:1.9;margin-bottom:29px}.text-page .prose p:last-child{margin-bottom:0}
/* fees */.fees-page{max-width:990px}.fees-page section{padding:0 0 35px;margin:0 0 38px;border-bottom:1px solid var(--line)}.fees-page section:last-of-type{border-bottom:none;padding-bottom:0}.fees-page h2{font-size:42px;margin:0 0 11px}.fees-page h3{font:400 28px/1.3 var(--serif);margin:25px 0 8px}.fees-page .price{font:400 21px/1.5 var(--serif);color:var(--brown);margin:0 0 20px}.fees-page .prose p{margin-bottom:16px;font-size:16px;line-height:1.8}.fees-page .faq-item{margin-bottom:28px}.fees-page .faq-item:last-child{margin-bottom:0}
/* Contact */.contact-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:80px}.contact-copy h2{font-size:47px;line-height:1.1;margin:0 0 25px}.contact-copy h3{font-size:31px;margin:0 0 14px}.contact-copy .rule{border:0;border-top:1px solid var(--line);margin:38px 0 30px}.contact-copy .email-link{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}.contact-copy .privacy{color:#71695e;font-size:14px;line-height:1.7;margin-top:30px}.contact-form{background:rgba(255,255,255,.32);border:1px solid #dcd0bf;padding:39px 35px 30px}.field{margin-bottom:23px}.field label,.contact-form legend{display:block;font:600 14px/1.4 var(--sans);margin:0 0 11px}.muted{font-weight:400;color:#83796d}.field input,.field textarea{border:1px solid #cabca8;background:rgba(255,255,255,.22);color:var(--body);width:100%;border-radius:3px;font-size:16px;padding:12px 13px;min-height:55px}.field textarea{height:164px;resize:vertical}.contact-form fieldset{border:0;padding:0;margin:0 0 23px}.choice-row{display:flex;gap:26px;flex-wrap:wrap}.choice-row label{display:flex;gap:8px;align-items:center;font-size:15px}.choice-row input{accent-color:var(--green)}.submit-button{width:100%;border:0;border-radius:6px;background:var(--green);color:#fff;height:56px;font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.form-note{text-align:center;font-size:12px;line-height:1.6;color:#756c61;margin:15px 0 0}.form-status{font-size:13px;line-height:1.6;color:#704f2b;margin:12px 0 0}
@media(max-width:1200px){.site-header{justify-content:flex-start;gap:15px;flex-wrap:wrap}.site-nav{gap:14px}.site-nav a{font-size:10px}.site-header>.cta{position:static;transform:none;margin-left:auto}.hero-home{height:610px}}
@media(max-width:810px){.site-header{justify-content:space-between;min-height:72px;padding:14px 20px}.menu-toggle{display:block}.site-nav{display:none;flex-direction:column;align-items:stretch;order:3;width:100%;padding:12px 0}.site-header.menu-open .site-nav{display:flex}.site-nav a{height:40px;padding:8px 7px;font-size:12px}.site-header>.cta{position:static;transform:none;margin:0;padding:14px 17px;font-size:10px}.hero{height:295px;padding:0 7%}.hero h1{font-size:60px}.hero-home{height:540px}.hero-home h1{font-size:clamp(46px,9vw,69px)}.hero-home .subtitle{font-size:15px}.main-content{padding:60px 23px 68px}.welcome-grid,.two-col,.about-grid,.therapy-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.welcome-grid .side-photo{max-width:400px;margin:0 auto}.about-photo{max-width:550px;margin:0 auto}.therapy-grid .therapy-photo{max-width:560px;margin:0 auto}.text-page .prose p{font-size:16px}.prose p{font-size:16px}.steps-section{padding:64px 24px 75px}.forest-footer{height:190px}.bottom-strip{min-height:72px}.verified-badge{width:130px}.contact-form{padding:28px 20px}.action-center{margin:45px 0 0}.about-grid .side-photo{order:-1}.contact-grid{gap:27px}}
@media(max-width:410px){.site-header>.cta{font-size:8px;padding:12px 11px}.hero{height:255px}.hero h1{font-size:52px}.hero-home{height:515px}.welcome h2{font-size:46px}.fees-page h2,.contact-copy h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-home::before{animation:none}.cta,.site-nav a{transition:none}}


/* Photo/text balance at desktop widths. The original photo files are not modified. */
@media (min-width: 811px) {
  .about-grid { align-items:stretch; }
  .about-grid .about-photo { position:relative; min-height:0; align-self:stretch; }
  .about-grid .about-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:51% 49%; }

  .therapy-grid .therapy-photo { position:relative; padding-top:0; height:980px; align-self:start; overflow:hidden; }
  .therapy-grid .therapy-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:58% 50%; }
}
