@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#213e34;--cream:#f7f5ee;--paper:#fffdf8;--sage:#e7ebdf;--line:#d3d8cb;--ochre:#a88645;--muted:#56665a;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #bc8537;outline-offset:6px}.wrap{max-width:1240px;width:calc(100% - 112px);margin:auto}.header{display:flex;align-items:center;justify-content:space-between;padding:29px 56px;border-bottom:1px solid var(--line);max-width:1600px;margin:auto}.wordmark{font-family:var(--serif);font-size:29px;text-decoration:none;line-height:1.05;white-space:nowrap}.wordmark span{font-family:var(--sans);font-size:9px;letter-spacing:3.9px;display:block;margin-top:10px}.header nav{display:flex;align-items:center;gap:31px;font-size:13px}.header nav a{text-decoration:none}.header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.header .nav-contact{border-bottom:1px solid var(--ink);padding:4px 0}.nav-contact span{margin-left:13px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;padding-top:66px;padding-bottom:65px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;line-height:1.6;margin:0 0 25px}.dot{display:inline-block;width:6px;height:6px;background:var(--ochre);border-radius:50%;margin-right:9px;vertical-align:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{font-family:var(--serif);font-size:clamp(65px,6.5vw,94px);line-height:.99;letter-spacing:-2.5px;margin-bottom:27px}em{font-family:var(--serif);font-weight:400;color:#65765c}h1 em{color:#65765c}h2{font-family:var(--serif);font-size:clamp(37px,4vw,57px);line-height:1.09;letter-spacing:-1.1px;margin-bottom:22px}h3{font-family:var(--serif);font-size:37px;line-height:1.15;letter-spacing:-.4px}.hero-intro{font-size:19px;line-height:1.6;max-width:480px;margin-bottom:15px}.hero-sub{font-size:15px;max-width:430px;color:var(--muted);margin-bottom:27px}.button{display:inline-flex;gap:36px;align-items:center;padding:16px 23px;background:var(--ink);color:#fffdf8;text-decoration:none;font-size:13px;font-weight:550;border:1px solid var(--ink);transition:background .15s,transform .15s}.button:hover{background:#385846;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.hero-foot{font-size:11px;color:var(--muted);margin:16px 0 0;max-width:390px}.hero-art{height:570px;position:relative;background:#ececdf;border-radius:230px 230px 5px 5px;margin-top:22px;overflow:hidden}.art-label{text-align:center;position:absolute;top:52px;left:0;right:0;font-size:9px;font-weight:600;letter-spacing:1.8px}.loose-note{position:absolute;background:#f8f4e9;border:1px solid #dbd5c5;box-shadow:2px 8px 17px #36442c0b;padding:22px}.note-one{top:100px;left:25px;transform:rotate(-12deg);width:205px;height:120px}.handwritten{font-family:var(--serif);font-size:25px;font-style:italic}.scribble{width:90px;height:12px;margin-top:18px;border-top:2px solid #bca77f;border-bottom:1px solid #bca77f;transform:rotate(-4deg)}.note-two{top:130px;right:22px;transform:rotate(9deg);width:180px;height:135px;background:#e1e7d8}.tiny-label{font-size:8px;letter-spacing:1.2px;font-weight:600;display:block}.note-title{font-family:var(--serif);font-size:27px;display:block;margin:6px 0 8px}.pencil-line{display:block;width:100%;border-top:1px solid #bdc8b2;margin:8px 0}.pencil-line.short{width:70%}.path-art{position:absolute;width:100%;height:100%;top:0;left:0}.plan{position:absolute;top:254px;left:12%;width:76%;background:var(--paper);border:1px solid #d5d8cb;padding:24px 26px 0;box-shadow:0 15px 30px #35462e0d;transform:rotate(-3deg)}.plan-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.sun-mark{font-size:27px;color:var(--ochre);line-height:1}.plan h2{font-size:32px;line-height:1.05;margin-bottom:14px;letter-spacing:-.6px}.plan-row{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:11px}.check{display:flex;width:19px;height:19px;align-items:center;justify-content:center;border:1px solid #a5b59b;border-radius:50%;font-size:9px;color:#64775c}.plan-bottom{border-top:1px solid var(--line);font-size:8px;letter-spacing:.7px;margin-top:17px;padding:13px 0}.art-caption{position:absolute;bottom:15px;left:10%;right:10%;text-align:center;font-size:10px;line-height:1.45;color:#66705d}.trust-strip{background:var(--ink);color:#ecefe4;padding:18px 0}.trust-strip .wrap{display:flex;justify-content:space-between;gap:30px;font-size:11px;letter-spacing:.35px}.section{padding-top:95px;padding-bottom:95px}.recognition-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:95px}.recognition-grid h2{font-size:45px;line-height:1.15}.recognition-grid p{font-size:15px;color:var(--muted)}.recognition-grid .quiet-emphasis{font-size:13px;color:var(--ink);border-left:2px solid #b59b69;padding-left:18px;margin-top:25px}.support{background:var(--sage)}.section-head{max-width:800px;margin-bottom:52px}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px}.support-column+.support-column{border-left:1px solid #c5cebb;padding-left:65px}.section-number{display:block;font-size:10px;letter-spacing:1.6px;margin-bottom:22px;color:#63725c}.support-column h3{font-size:44px;margin-bottom:18px}.support-column p{font-size:14px;color:#4d604e}.support-column .support-lead{font-size:18px;line-height:1.6;color:var(--ink)}.support-column ul{padding:15px 0 0;list-style:none;font-size:13px;margin:0}.support-column li{border-top:1px solid #ccd4c4;padding:11px 0;display:flex;gap:14px}.support-column li:before{content:'↗';color:#758365}.support-note{font-size:12px;margin:43px 0 0;padding-top:22px;border-top:1px solid #c5cebb;color:#53644e;max-width:900px}.parent-section{background:#eadfc9}.parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}.parent-section em{color:#71664e}.parent-copy p{font-size:14px;color:#5c5e4e}.parent-copy .large-text{font-size:23px;line-height:1.55;color:var(--ink);margin-bottom:23px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:95px}.approach h2{font-size:45px}.steps{margin:0;padding:0;list-style:none}.steps li{display:flex;gap:27px;padding:25px 0;border-top:1px solid var(--line)}.steps li:first-child{padding-top:0;border-top:0}.step-number{font-family:var(--serif);font-size:29px;color:#8b9a7e;line-height:1.2}.steps h3{font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:-.25px;margin-bottom:10px}.steps p{font-size:14px;color:var(--muted);margin-bottom:0}.about{background:#eff0e8;border-top:1px solid #e0e3d6}.about-grid{display:grid;grid-template-columns:.85fr 1.2fr;gap:110px}.about-heading h2{font-size:64px}.signature-rule{display:block;width:80px;border-top:1px solid #a0aa92;margin:34px 0}.about-meta{font-size:13px;line-height:1.8;color:#6b765f}.about-copy p{font-size:15px;color:var(--muted)}.about-copy .large-text{font-family:var(--serif);font-size:31px;line-height:1.28;color:var(--ink);margin-bottom:25px}.text-link{display:inline-flex;font-size:13px;text-decoration:none;gap:30px;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-top:13px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}.faq h2{font-size:44px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq details:first-child{padding-top:0}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:22px;cursor:pointer;font-size:15px;font-weight:500;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:22px;line-height:1;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin:17px 30px 0 0;font-size:14px;color:var(--muted)}.contact{background:var(--ink);color:var(--cream);text-align:center}.contact h2{font-size:76px;line-height:1}.contact em{color:#c9d0b3}.contact .eyebrow{color:#bdc8ac}.contact p{font-size:16px;color:#d0d7c8}.button-light{background:var(--cream);color:var(--ink);margin:13px 0 18px}.button-light:hover{background:#dce3cc}.email-address{display:block;font-size:13px;text-decoration:none}.email-address:hover{text-decoration:underline}.contact .contact-note{font-size:10px;margin:27px 0 0;color:#b5c0ae}.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:36px;padding-bottom:36px}.footer p{font-size:10px;line-height:1.7;color:var(--muted);margin:0}.footer>a:last-child{font-size:11px;text-decoration:none}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:10px 18px}.skip:focus{top:12px}@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:80px}.hero-art{height:610px}.plan{top:275px}.art-caption{bottom:25px}}@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header{padding:25px 36px}.hero{gap:28px}.hero-art{height:540px}.hero h1{font-size:73px}.hero-intro{font-size:17px}.note-one{left:5px;width:185px}.note-two{right:3px;width:160px;top:150px}.plan{left:7%;width:86%;top:252px;padding:20px 22px 0}.plan h2{font-size:30px}.art-caption{bottom:10px}.recognition-grid,.parent-grid,.approach,.about-grid,.faq{gap:50px}.support-grid{gap:45px}.support-column+.support-column{padding-left:40px}.recognition-grid h2,.approach h2{font-size:40px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{padding:22px 20px;gap:15px}.wordmark{font-size:25px}.wordmark span{font-size:8px;letter-spacing:3px}.header nav{gap:0}.header nav>a:not(.nav-contact){display:none}.header .nav-contact{font-size:12px}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:38px;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:22px}.hero h1{font-size:76px;letter-spacing:-2px}.hero-intro{font-size:18px;max-width:470px}.hero-sub{font-size:15px;max-width:470px}.hero-foot{font-size:10px}.hero-art{height:510px;max-width:470px;width:100%;margin:25px auto 0}.art-label{top:42px}.note-one{left:20px;top:90px}.note-two{right:20px;top:125px}.plan{top:235px;left:12%;width:76%;padding:18px 22px 0}.plan h2{font-size:30px}.plan-row{font-size:10px;margin:8px 0}.plan-bottom{margin-top:12px;padding:10px 0;font-size:7px}.art-caption{bottom:14px}.trust-strip{padding:21px 0}.trust-strip .wrap{flex-direction:column;align-items:center;gap:6px;font-size:10px}.section{padding-top:61px;padding-bottom:61px}.recognition-grid,.parent-grid,.approach,.about-grid,.faq{grid-template-columns:1fr;gap:24px}.recognition-grid h2,.approach h2,h2,.faq h2{font-size:41px;letter-spacing:-.7px}.recognition-grid p{font-size:15px}.section-head{margin-bottom:36px}.support-grid{grid-template-columns:1fr;gap:38px}.support-column+.support-column{padding:35px 0 0;border-left:0;border-top:1px solid #c5cebb}.support-column h3{font-size:40px}.support-column .support-lead{font-size:18px}.support-column p{font-size:15px}.support-column ul{font-size:13px}.support-note{margin-top:32px}.parent-copy .large-text{font-size:22px}.parent-copy p{font-size:15px}.parent-grid{gap:10px}.approach{gap:20px}.steps li:first-child{border-top:1px solid var(--line);padding-top:24px}.steps{margin-top:0}.steps h3{font-size:17px}.steps p{font-size:14px}.about-heading h2{font-size:57px}.signature-rule{margin:23px 0}.about-meta{margin-bottom:10px}.about-copy .large-text{font-size:28px}.faq{gap:22px}.faq details:first-child{border-top:1px solid var(--line);padding-top:22px}.faq summary{font-size:14px}.contact h2{font-size:65px}.contact p{font-size:15px}.contact p br{display:none}.contact .contact-note{font-size:10px;max-width:270px;margin:26px auto 0}.footer{flex-wrap:wrap;padding-top:30px;padding-bottom:30px;gap:25px}.footer p{max-width:170px}.footer>a:last-child{width:100%;border-top:1px solid var(--line);padding-top:18px}}@media(max-width:370px){.hero h1{font-size:65px}.hero-art{height:480px}.note-one{left:10px;width:168px}.note-two{right:10px;width:145px}.plan{top:218px;width:84%;left:8%}.art-label{font-size:8px}.contact h2{font-size:58px}.header .nav-contact span{margin-left:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.faq summary span{transition:none}}

/* Focused homepage and deeper service pages. */
.service-destinations{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:12px}.service-destinations a{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #abb99e;border-bottom:1px solid #abb99e;padding:24px 0;font-family:var(--serif);font-size:32px;line-height:1.15;text-decoration:none}.service-destinations a span{font-family:var(--sans);font-size:24px}.service-destinations a:hover{color:#627853}.minimal-footer{padding-top:26px;padding-bottom:26px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.service-hero{padding-top:44px;padding-bottom:65px}.back-link{display:inline-block;font-size:11px;text-decoration:none;margin-bottom:46px;color:var(--muted)}.back-link:hover{text-decoration:underline}.service-hero h1{font-size:clamp(54px,6vw,82px);max-width:1000px}.service-hero .eyebrow{margin-bottom:22px}.service-intro{font-size:19px;line-height:1.6;max-width:660px;margin-bottom:28px}.service-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:100px}.service-detail .support-column{max-width:620px}.related-support{padding:30px 0 0 40px;border-left:1px solid #c5cebb;align-self:start;margin-top:38px}.related-support .eyebrow{font-size:9px;margin-bottom:16px}.related-support p:not(.eyebrow){font-size:14px}.related-support .text-link{font-size:12px;gap:20px}.service-footer>a:last-child{font-size:10px}
@media(max-width:760px){.service-destinations{grid-template-columns:1fr;gap:0;margin-top:0}.service-destinations a{font-size:29px;padding:23px 0}.service-destinations a+a{border-top:0}.minimal-footer{padding-top:23px;padding-bottom:23px;font-size:9px}.service-hero{padding-top:28px;padding-bottom:48px}.back-link{margin-bottom:34px}.service-hero h1{font-size:60px;letter-spacing:-1.5px;line-height:1.02}.service-intro{font-size:17px}.service-detail{grid-template-columns:1fr;gap:36px}.related-support{border-left:0;border-top:1px solid #c5cebb;padding:25px 0 0;margin-top:0}.service-footer>a:last-child{font-size:10px}}
@media(max-width:370px){.service-hero h1{font-size:53px}.service-destinations a{font-size:26px}}

/* A quieter, friendlier introduction: local serif font, space, one clear next step. */
@font-face{font-family:'Lora Local';font-style:normal;font-weight:400;font-display:swap;src:url('assets/lora-regular.ttf') format('truetype')}
.header{border-bottom:0;padding-top:32px;padding-bottom:24px}.wordmark{font-family:'Lora Local',Georgia,'Times New Roman',serif;font-size:31px;letter-spacing:-1.1px;line-height:1.1}.wordmark span{font-family:'Lora Local',Georgia,serif;text-transform:none;font-size:14px;letter-spacing:1px;margin-top:9px;font-style:italic}.header nav{font-size:12px;gap:30px}.header .nav-contact{border-bottom:0;padding:7px 0}.header .nav-contact:hover{text-decoration:underline}.calm-hero{display:block;max-width:1050px;text-align:center;padding-top:62px;padding-bottom:74px;min-height:520px}.calm-hero .hero-copy{max-width:850px;margin:auto}.hero-greeting{font-family:'Lora Local',Georgia,serif;font-size:23px;line-height:1.5;color:#65765c;margin:0 0 22px}.calm-hero h1{font-family:'Lora Local',Georgia,'Times New Roman',serif;font-size:clamp(49px,5.2vw,70px);font-weight:400;letter-spacing:-2px;line-height:1.13;margin:0 0 27px}.calm-hero .hero-intro{max-width:565px;margin:0 auto 31px;font-size:17px;line-height:1.75;color:var(--muted)}.calm-hero .button{border-radius:100px;font-family:'Lora Local',Georgia,serif;font-size:15px;font-weight:400;min-width:166px;justify-content:center;padding:14px 26px}.calm-hero .hero-foot{margin:22px auto 0;max-width:none;font-size:11px;letter-spacing:.15px;color:#677362}.trust-strip{background:transparent;color:#677362;border-top:1px solid #e0e3d7;border-bottom:1px solid #e0e3d7;padding:22px 0}.trust-strip .wrap{justify-content:center;gap:50px;font-size:10px}.trust-strip .wrap span+span{position:relative}.trust-strip .wrap span+span:before{content:'·';position:absolute;left:-27px;color:#a8ae9e}
@media(min-width:1500px){.calm-hero{padding-top:75px;padding-bottom:90px}}
@media(max-width:1100px){.header{padding-left:36px;padding-right:36px}.calm-hero h1{font-size:62px}.calm-hero{padding-top:54px;padding-bottom:65px}.trust-strip .wrap{gap:30px}.trust-strip .wrap span+span:before{left:-17px}}
@media(max-width:760px){.header{padding:27px 24px 17px;align-items:center}.wordmark{font-size:26px;letter-spacing:-.9px}.wordmark span{font-size:12px;letter-spacing:.7px;margin-top:7px}.header .nav-contact{font-size:11px}.header nav{gap:0}.calm-hero{width:calc(100% - 42px);min-height:0;padding-top:45px;padding-bottom:55px}.hero-greeting{font-size:21px;margin-bottom:23px}.calm-hero h1{font-size:45px;letter-spacing:-1.7px;line-height:1.17;margin-bottom:24px}.calm-hero .hero-intro{max-width:420px;font-size:16px;line-height:1.75;margin-bottom:29px}.calm-hero .button{font-size:15px;padding:14px 25px;min-width:164px}.calm-hero .hero-foot{font-size:10px;line-height:1.6;max-width:280px;margin-top:23px}.trust-strip{padding:19px 0}.trust-strip .wrap{gap:6px}.trust-strip .wrap span+span:before{content:none}.service-footer .wordmark{font-size:25px}}
@media(max-width:370px){.header{padding-left:20px;padding-right:20px}.wordmark{font-size:24px}.calm-hero h1{font-size:39px;letter-spacing:-1.4px}.calm-hero .hero-intro{font-size:15px}}

/* One natural wordmark, with the personal introduction on its own page. */
.wordmark{font-family:'Lora Local',Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;font-style:normal;letter-spacing:-1px;line-height:1.2;white-space:normal}.header{gap:30px}.header .wordmark{flex-shrink:0}.header nav{gap:24px}.header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}.service-destinations{grid-template-columns:1fr 1.2fr .7fr;gap:28px}.service-destinations a{font-size:30px}.about-page{background:var(--cream);border:0;padding-top:24px;padding-bottom:75px}.about-page .back-link{margin-bottom:58px}.about-page .about-heading h1{font-family:'Lora Local',Georgia,serif;font-size:58px;line-height:1.12;letter-spacing:-1.5px;margin-bottom:22px}.about-page .about-grid{grid-template-columns:.85fr 1.2fr;gap:90px}.service-footer .wordmark{font-size:26px}.service-footer{flex-wrap:wrap}
@media(max-width:1100px){.header{flex-direction:column;align-items:flex-start;gap:20px}.header nav{flex-wrap:wrap;gap:25px}.service-destinations{gap:24px}.service-destinations a{font-size:27px}.about-page .about-grid{gap:50px}}
@media(max-width:760px){.header{padding:27px 21px 21px;gap:21px}.header .wordmark{font-size:26px;letter-spacing:-.9px;white-space:normal}.header nav{display:flex;width:100%;justify-content:flex-start;gap:21px;font-size:10px;line-height:1.5}.header nav>a:not(.nav-contact){display:inline}.header nav>.nav-contact{display:none}.calm-hero{padding-top:41px}.service-destinations{grid-template-columns:1fr;gap:0}.service-destinations a{font-size:29px}.about-page{padding-top:20px;padding-bottom:55px}.about-page .back-link{margin-bottom:36px}.about-page .about-grid{grid-template-columns:1fr;gap:24px}.about-page .about-heading h1{font-size:49px}.service-footer .wordmark{font-size:25px}}
@media(max-width:370px){.header{padding-left:20px;padding-right:20px}.header .wordmark{font-size:24px;letter-spacing:-.8px}.header nav{gap:14px;font-size:9px}.service-destinations a{font-size:26px}.about-page .about-heading h1{font-size:43px}}

/* Give the service descriptor its own breathing room; move credibility lower in the story. */
.calm-hero .hero-foot{font-size:20px;line-height:1.65;letter-spacing:0;color:var(--ink);max-width:650px;margin:52px auto 0;padding-top:27px;border-top:1px solid #d8dece}.trust-strip{padding:34px 0}.trust-strip .wrap{font-size:16px;line-height:1.65;gap:38px;flex-wrap:wrap;text-align:center}.trust-strip .wrap span+span:before{content:none}
@media(max-width:1100px){.trust-strip .wrap{gap:12px 28px;font-size:15px}}
@media(max-width:760px){.calm-hero .hero-foot{font-size:18px;line-height:1.65;max-width:390px;margin-top:46px;padding-top:25px}.trust-strip{padding:32px 0}.trust-strip .wrap{font-size:16px;gap:13px;align-items:center}.trust-strip .wrap span{max-width:100%}}
@media(max-width:370px){.calm-hero .hero-foot{font-size:17px}.trust-strip .wrap{font-size:15px}}

/* Quiet, verbatim parent testimonials: no cards or competing decoration. */
.testimonials{max-width:900px}.testimonials h2{margin-bottom:42px}.testimonial-quotes figure{margin:0;padding:0 0 34px}.testimonial-quotes figure+figure{border-top:1px solid #d8dece;padding-top:34px}.testimonial-quotes figure:last-child{padding-bottom:0}.testimonial-quotes blockquote{margin:0}.testimonial-quotes blockquote p{font-family:'Lora Local',Georgia,serif;font-size:20px;line-height:1.8;color:var(--ink);margin:0}.testimonial-quotes figcaption{font-size:14px;color:var(--muted);margin-top:18px}
@media(max-width:760px){.testimonials h2{margin-bottom:30px}.testimonial-quotes blockquote p{font-size:18px;line-height:1.8}.testimonial-quotes figure{padding-bottom:29px}.testimonial-quotes figure+figure{padding-top:29px}.testimonial-quotes figcaption{margin-top:16px}}

/* A clear name-and-navigation hierarchy, with two larger service links. */
.header{flex-direction:column;align-items:flex-start;gap:20px}.header .wordmark{display:block;width:100%;padding-bottom:22px;border-bottom:1px solid var(--line)}.header nav{width:100%;display:flex;flex-wrap:wrap;gap:12px 34px;font-size:18px;line-height:1.5}.header nav>a:not(.nav-contact){font-size:inherit}.header .nav-contact{margin-left:auto}
@media(max-width:760px){.header{gap:16px}.header .wordmark{padding-bottom:19px}.header nav{font-size:16px;gap:10px 24px}.header nav>a:not(.nav-contact){display:inline-block;max-width:100%}}
@media(max-width:370px){.header nav{font-size:16px;gap:9px 24px}}

/* Center the name and give the service links a near-title scale. */
.header .wordmark{text-align:center}.header nav{display:grid;grid-template-columns:1fr auto auto 1fr;align-items:center;column-gap:30px;font-size:23px}.header nav>a:nth-child(1){grid-column:2}.header nav>a:nth-child(2){grid-column:3}.header .nav-contact{grid-column:4;justify-self:end;margin-left:0;white-space:nowrap}
@media(max-width:1100px){.header nav{display:flex;justify-content:center;gap:10px 28px}.header .nav-contact{flex-basis:100%;text-align:center;margin-left:0}}
@media(max-width:760px){.header nav{font-size:20px;gap:10px 24px}}
@media(max-width:370px){.header nav{font-size:19px;gap:9px 24px}}

/* Keep both service names together on one centered row, including small phones. */
.header nav{font-size:16px}.header nav>a:not(.nav-contact){white-space:nowrap;flex-shrink:0}
@media(max-width:760px){.header nav{display:flex;flex-wrap:nowrap;justify-content:center;font-size:16px;column-gap:12px}}
@media(max-width:370px){.header nav{font-size:14px;column-gap:12px}}

/* Restore the editorial upright / sage italic contrast in the hero alone. */
.calm-hero h1{font-family:var(--serif);color:var(--ink)}.calm-hero h1 em{font-family:inherit;font-style:italic;color:#65765c}

/* A quiet outline of firs introduces the familiar-school-struggles section. */
.fir-border{color:#65765c;border-bottom:1px solid var(--line);margin:0 0 34px;padding:0 0 0}.fir-border svg{display:block;width:100%;max-width:720px;height:auto;margin:0 auto}.fir-border path{vector-effect:non-scaling-stroke}
@media(max-width:760px){.fir-border{margin-bottom:28px}.fir-border svg{width:100%}}

/* The first parent's words sit within a faint, generously proportioned fir. */
.tree-testimonial{position:relative;isolation:isolate;padding:140px 9% 85px;margin-bottom:36px}.testimonial-tree{position:absolute;inset:0;width:100%;height:100%;color:#65765c;opacity:.28;z-index:-1;pointer-events:none}.tree-testimonial>.eyebrow,.tree-testimonial>h2{text-align:center}.tree-testimonial>h2{margin-bottom:36px}.tree-testimonial .testimonial-quotes figure{padding-bottom:0}.testimonial-following{border-top:1px solid #d8dece;padding-top:34px}
@media(max-width:760px){.tree-testimonial{padding:125px 9% 65px;margin-bottom:30px}.tree-testimonial>h2{font-size:36px;margin-bottom:28px}.tree-testimonial>.eyebrow{font-size:9px;letter-spacing:1.5px}.testimonial-following{padding-top:29px}}

/* Bring the loose fir sketch close to the service descriptor, not a blank spacer. */
.calm-hero{padding-bottom:18px;min-height:0}.calm-hero+.recognition{padding-top:6px}

/* Let the larger sketch widen gently without squeezing the quote into a thin column. */
.tree-testimonial{padding-left:12%;padding-right:12%}.tree-testimonial>.eyebrow,.tree-testimonial>h2{max-width:80%;margin-left:auto;margin-right:auto}

/* A thin, elongated octagonal outline frames the headline alone. */
.hero-headline-frame{position:relative;width:fit-content;max-width:100%;margin:0 auto 27px;padding:32px 44px}.hero-headline-outline{position:absolute;inset:0;width:100%;height:100%;color:var(--ink);pointer-events:none}.calm-hero .hero-headline-frame h1{position:relative;margin:0}
@media(max-width:760px){.hero-headline-frame{padding:24px 14px;margin-bottom:24px}}
@media(max-width:370px){.hero-headline-frame{padding:22px 12px}}

/* Wider, shallower octagonal corners; keep the full non-scaling stroke visible. */
.hero-headline-frame{box-sizing:border-box;width:100%;max-width:760px;padding:30px 40px}.hero-headline-outline{display:block;overflow:visible;box-sizing:border-box}
@media(max-width:760px){.hero-headline-frame{padding:24px 18px}}
@media(max-width:370px){.hero-headline-frame{padding:22px 16px}}

/* Earlier tree artwork is preserved in source-archive/trees-v14 for restoration. */

/* Restored as greener, uneven pen sketches rather than smooth repeated silhouettes. */
.fir-border{color:#347448}.fir-border svg,.testimonial-tree{visibility:visible}.testimonial-tree{color:#347448;opacity:.5;stroke-width:1.7}

/* Conor's original PNG, unedited: crop only empty canvas in this CSS viewport.
   Source viewport x128/y875/w818/h525; the image retains its original aspect ratio.
   Multiply blends the opaque white canvas with the page, without redrawing strokes. */
.conor-fir-sketch{position:relative;width:100%;max-width:480px;aspect-ratio:818 / 525;overflow:hidden;margin:0 auto;mix-blend-mode:multiply}.conor-fir-sketch img{position:absolute;display:block;width:115.64792176%;max-width:none;height:auto;left:-15.64792176%;top:-166.66666667%;pointer-events:none}

/* A warm, fuller green oval, with breathing room inside the curved outline. */
.hero-headline-outline{color:#658052}.hero-headline-frame{padding-top:48px;padding-bottom:48px}
@media(max-width:760px){.hero-headline-frame{padding-top:56px;padding-bottom:56px}}
/* Second original drawing: crop its blank canvas, retaining every drawn tree.
   JPEG710x1536; visible source viewport x20/y785/w690/h370. */
.conor-fir-sketch{aspect-ratio:690 / 370}.conor-fir-sketch img{width:102.89855072%;left:-2.89855072%;top:-212.16216216%}

/* The previous geometric oval is retained in source-archive/hero-border-v18. */
.hero-headline-outline{visibility:visible;color:#4f7b45}

/* Interpret the screenshot's green brush underline without importing its text or +1 annotation. */
.calm-hero h1 .manageable-underline{position:relative;display:inline-block}.manageable-underline::after{content:"";position:absolute;left:1%;bottom:-.035em;width:98%;height:.085em;border-radius:42% 36% 48% 30%;background:linear-gradient(90deg,transparent 0%,#098d38 7%,#008b33 48%,#078d36 92%,transparent 100%);transform:rotate(-.35deg);pointer-events:none}

/* Original sketched forest from the reference screenshot, shown only in its clean tree band.
   Source946x2048; viewport x0/y405/w946/h300. Darken avoids multiplying the cream paper. */
.hero-forest-sketch{position:relative;width:100%;max-width:946px;aspect-ratio:946 / 300;overflow:hidden;margin:0 auto;mix-blend-mode:darken}.hero-forest-sketch img{position:absolute;display:block;width:100%;max-width:none;height:auto;left:0;top:-135%;pointer-events:none}.calm-hero{padding-top:24px}.hero-forest-sketch+.hero-copy .hero-headline-frame{padding-top:12px}
@media(max-width:760px){.calm-hero{padding-top:20px}}

/* Conor's exact handwritten +1, isolated non-destructively from the screenshot.
   Original947x2048; viewport x550/y978/w60/h44, clear of all screenshot text. */
.handwritten-plus-one{position:absolute;left:96%;top:calc(100% + .08em);width:.62em;aspect-ratio:60 / 44;overflow:hidden;mix-blend-mode:darken;pointer-events:none}.handwritten-plus-one img{position:absolute;display:block;width:1578.33333333%;max-width:none;height:auto;left:-916.66666667%;top:-2222.72727273%}

/* Exclude screenshot edge columns0–1/944–945 and only the empty scrollbar corner.
   Crop x2/y405/w942/h300; top-right notch ends at sourcey525, above any right-edge tree. */
.hero-forest-sketch{aspect-ratio:942 / 300;clip-path:polygon(0 0,98.3% 0,98.3% 40%,100% 40%,100% 100%,0 100%)}.hero-forest-sketch img{width:100.42462845%;left:-.21231423%}

/* Original well-done handwriting; source944x2048, viewport x765/y1055/w161/h118. */
.handwritten-well-done{position:absolute;right:0;bottom:5px;width:clamp(52px,7vw,80px);aspect-ratio:161 / 118;overflow:hidden;mix-blend-mode:darken;pointer-events:none}.handwritten-well-done img{position:absolute;display:block;width:586.33540373%;max-width:none;height:auto;left:-475.1552795%;top:-894.06779661%}
/* Taller pointed structure traced from the user's guide, with live text inside its widening sides. */
.tree-testimonial{max-width:700px;margin-left:auto;margin-right:auto;padding:260px 16% 100px}.tree-testimonial>.eyebrow,.tree-testimonial>h2{max-width:75%}.testimonial-tree{opacity:.68;stroke-width:2}
@media(max-width:760px){.tree-testimonial{padding-top:200px;padding-bottom:85px}.tree-testimonial>h2{font-size:34px}.handwritten-well-done{right:-3px}}

/* Percentage padding uses the containing block; cap desktop insets to the 700px tree. */
@media(min-width:761px){.tree-testimonial{padding-left:112px;padding-right:112px}}

/* Move the same handwriting beside the recognition heading; keep the check and note together.
   Inline wrapping gives narrow screens room without placing art over the live words. */
.recognition-praise{display:inline-flex;align-items:center;gap:3px;width:74px;vertical-align:middle;margin-left:6px;line-height:1;letter-spacing:0}.recognition-check{display:block;flex:0 0 19px;width:19px;height:25px}.recognition-praise .handwritten-well-done{position:relative;display:block;flex:0 0 52px;width:52px;right:auto;bottom:auto}
@media(max-width:380px){.recognition-praise{width:60px;gap:2px;margin-left:5px}.recognition-check{flex-basis:14px;width:14px;height:21px}.recognition-praise .handwritten-well-done{flex-basis:44px;width:44px}}

/* Anchor the note beside the final words, never as a separate line below them. */
.recognition-statement{display:block;line-height:1.15}.recognition-first-line{display:block}.recognition-last-line{display:inline-block;position:relative;white-space:nowrap}.recognition-last-line .recognition-praise{position:absolute;left:calc(100% + 6px);top:-.14em;margin:0;width:74px;gap:3px}.capable-underline{position:relative;display:inline-block}.capable-underline::after{content:"";position:absolute;left:0;right:0;bottom:.015em;height:1.5px;border-radius:50%;background:#138433;transform:rotate(-.25deg);pointer-events:none}
@media(min-width:761px) and (max-width:1100px){.recognition-statement{font-size:32px}.recognition-last-line .recognition-praise{width:60px;gap:2px}.recognition-last-line .recognition-check{flex-basis:14px;width:14px;height:21px}.recognition-last-line .handwritten-well-done{flex-basis:44px;width:44px}}
@media(min-width:375px) and (max-width:380px){.recognition-last-line .recognition-praise{width:60px;gap:2px}}
@media(max-width:374px){.recognition-statement{font-size:clamp(34px,10.625vw,39px)}.recognition-last-line .recognition-praise{width:48px;gap:2px}.recognition-last-line .recognition-check{flex-basis:12px;width:12px;height:18px}.recognition-last-line .handwritten-well-done{flex-basis:34px;width:34px}}

/* A little more prominence for the introduction, without changing other labels. */
.recognition>.eyebrow{font-size:12px}
@media(max-width:760px){.recognition>.eyebrow{font-size:11px}}

/* Preserve the drawn outline while its middle accommodates the longest quote. */
.testimonial-tree{display:grid;grid-template-rows:360px minmax(0,1fr) 90px}
.testimonial-tree svg{display:block;width:100%;height:100%;overflow:hidden}
.tree-testimonial{margin-bottom:18px}
.is-carousel .testimonial-quotes{display:grid}
.is-carousel .testimonial-slide{grid-area:1 / 1;align-self:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s}
.is-carousel .testimonial-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.tree-testimonial .testimonial-slide{margin:0;padding:0;border:0}
.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:18px;position:relative;max-width:260px;margin:0 auto}
.testimonial-controls[hidden]{display:none}
.testimonial-arrow,.testimonial-playback{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}
.testimonial-arrow svg,.testimonial-playback svg{width:24px;height:24px}
.testimonial-arrow:hover,.testimonial-playback:hover{background:var(--sage);border-color:#8b9a7e}
.testimonial-controls button:focus-visible{outline:3px solid #bc8537;outline-offset:4px}
.testimonial-position{font-size:13px;font-variant-numeric:tabular-nums;min-width:34px;text-align:center;color:var(--muted)}
.testimonial-playback{position:absolute;left:calc(100% - 20px);border-color:transparent}
.testimonial-playback .play-icon,.testimonial-playback.is-paused .pause-icon{display:none}
.testimonial-playback.is-paused .play-icon{display:block}
@media(max-width:760px){.testimonial-tree{grid-template-rows:280px minmax(0,1fr) 75px}}
@media(prefers-reduced-motion:reduce){.is-carousel .testimonial-slide,.testimonial-arrow,.testimonial-playback{transition:none}}

/* Room for the new service page, with the two existing mobile links kept together. */
.header nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px}
.header .nav-contact{flex-basis:auto;margin-left:0}
.header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.calm-hero .hero-intro{max-width:640px;margin-bottom:18px}
.calm-hero .hero-promise{margin-bottom:30px}
.recognition-grid .text-link{max-width:100%;gap:16px}
.recognition-grid .text-link span{flex-shrink:0}
.service-destinations{grid-template-columns:1fr 1fr;gap:0 52px}
.about-destination{margin-top:32px}
.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px}
.service-actions .text-link{margin:0}
.service-detail .support-column>h2{font-size:clamp(37px,4vw,48px);margin-bottom:24px}
.test-prep{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}
.test-prep-heading h2{font-size:clamp(37px,4vw,48px)}
.test-prep-copy p{font-size:15px;color:var(--muted)}
.test-prep-copy .large-text{font-size:21px;line-height:1.55;color:var(--ink)}
.prep-focus{list-style:none;margin:24px 0 0;padding:0;font-size:14px;color:var(--ink)}
.prep-focus li{border-top:1px solid var(--line);padding:12px 0}
.service-hero+.recognition{padding-top:12px}
@media(max-width:1100px){.test-prep{gap:50px}.service-destinations{column-gap:30px}}
@media(max-width:760px){
  .header nav{display:grid;grid-template-columns:max-content max-content;justify-content:center;gap:10px 16px;font-size:16px}
  .header nav>a:nth-child(1){grid-column:1}
  .header nav>a:nth-child(2){grid-column:2}
  .header nav>a:nth-child(3){grid-column:1 / -1;justify-self:center}
  .header .nav-contact{display:none}
  .calm-hero .hero-intro{font-size:16px}
  .service-destinations{grid-template-columns:1fr;gap:0}
  .test-prep{grid-template-columns:1fr;gap:24px}
  .test-prep-copy .large-text{font-size:20px}
  .service-detail .support-column>h2,.test-prep-heading h2{font-size:40px}
}
@media(max-width:370px){.header nav{font-size:14px;column-gap:12px}.service-hero h1{font-size:48px}.service-actions .button{gap:18px}}
