@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#3c373d;--muted:#626564;--paper:#ffffff;--gold:#78a582;--line:#dde5df;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:6px}img{display:block;width:100%;object-fit:cover}.wrap{width:min(1240px,88%);margin:auto}header{background:var(--ink);color:white;position:relative;z-index:20}.nav-wrap{width:min(1340px,92%);margin:auto;display:flex;align-items:center;gap:35px;min-height:106px}.brand{display:flex;gap:12px;align-items:center;font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:1.5px;line-height:1.15}.brand small{display:block;font-size:10px;letter-spacing:4px;margin-top:6px}.brand-mark{font-family:Georgia,serif;font-size:52px;font-weight:400;letter-spacing:-7px;color:var(--gold);padding-right:6px}.brand-mark span{font-size:35px}nav{display:flex;gap:27px;margin-left:auto}nav a{font-size:14px;padding:8px 0;color:#dfe8e1;position:relative}nav a:hover,nav a[aria-current]{color:var(--gold)}nav a[aria-current]:after{content:'';height:2px;background:var(--gold);position:absolute;bottom:0;left:0;right:0}.nav-cta{font-size:14px;padding:10px 22px;border:1px solid #85998a}.menu-toggle{display:none}.eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:2.6px;margin-bottom:20px;color:#486c53}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.15;letter-spacing:-2px}h1{font-size:clamp(44px,5.4vw,78px);margin-bottom:30px}h2{font-size:clamp(32px,3.5vw,49px);margin-bottom:26px}h3{font-size:24px;letter-spacing:-.65px}em{font-family:Georgia,serif;font-weight:400;color:#4b7958}p{color:var(--muted);margin-bottom:24px}.lead{font-size:22px;line-height:1.6}.hero{min-height:660px;height:calc(100svh - 106px);max-height:920px;position:relative;color:white;display:flex;align-items:center}.hero-image,.hero-shade{position:absolute;inset:0;height:100%}.hero-image{object-position:center 54%}.hero-shade{background:linear-gradient(90deg,rgba(38,42,39,.94),rgba(38,42,39,.6) 50%,rgba(38,42,39,.17)),linear-gradient(0deg,rgba(38,42,39,.82),transparent 40%)}.hero-copy{position:relative;padding-bottom:50px}.hero .eyebrow{color:var(--gold);margin-bottom:30px}.hero h1{font-size:clamp(60px,7.2vw,105px);line-height:1.07;letter-spacing:-4px}.hero em{color:var(--gold)}.hero p{color:#edf3ee;font-size:19px}.actions{display:flex;align-items:center;gap:30px;margin-top:38px}.button{display:inline-block;background:var(--gold);color:var(--ink);padding:16px 27px;font-size:14px;font-weight:700;border:0;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#90b899;transform:translateY(-2px)}.text-link{font-size:14px;border-bottom:1px solid #9eafa2;padding:12px 0}.hero-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;border-top:1px solid #ffffff35;padding-top:22px;font-size:12px;letter-spacing:1.2px}.credential-strip{background:#eef4ef;display:flex;justify-content:space-evenly;padding:27px 5%;gap:20px;color:#5d6c61;font-size:14px}.credential-strip b{color:var(--ink);font-size:20px;margin-right:10px}.spacious{padding-top:100px;padding-bottom:100px}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px}.underlink{font-size:14px;font-weight:700;border-bottom:1px solid #78a582;padding-bottom:9px;display:inline-block}.underlink:hover{color:#426c4d}.service-preview{padding:85px 0;background:#eef4ef}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-top .underlink{margin-bottom:30px}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #b8cbbb}.service-tile{padding:30px;transition:background .25s;border-right:1px solid #cedbd1;display:flex;flex-direction:column}.service-tile:first-child{padding-left:0}.service-tile:last-child{border-right:0}.number{font-size:14px;color:#4b7958;letter-spacing:1px;display:block;margin-bottom:30px}.service-tile h3{font-size:27px;max-width:300px}.service-tile p{font-size:16px}.tile-foot{font-size:12px;letter-spacing:1.5px;margin-top:auto;padding-top:18px}.service-tile:hover{background:#e0ece3}.photo-story{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.photo-story img{height:450px}.cta{background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:center;padding:65px 70px;margin-bottom:80px}.cta .eyebrow{color:var(--gold)}.cta h2{margin-bottom:0}.light{background:#ffffff}.page-intro{padding:92px 0 65px}.page-intro .lead{max-width:760px;margin-bottom:0}.about-photo{position:relative}.about-photo img{height:480px;filter:brightness(.8)}.photo-note{position:absolute;bottom:36px;left:40px;color:white;font-family:var(--display);font-size:24px;line-height:1.5;letter-spacing:2px}.values{display:grid;grid-template-columns:1fr 1fr;gap:40px}.values article{background:#eef4ef;padding:42px}.values p{margin-bottom:0}.service-row{display:grid;grid-template-columns:60px 1fr 1fr;gap:40px;border-top:1px solid var(--line);padding:50px 0;scroll-margin-top:40px}.service-row h2{font-size:32px;letter-spacing:-1px}.service-row h3{font-family:var(--sans);font-size:16px;letter-spacing:0;color:#63786a}.service-row .number{padding-top:10px}.band{background:#eef4ef;padding:50px;margin-bottom:80px}.band p{max-width:650px}.approach-opening{padding-top:0;align-items:center;gap:75px}.approach-opening img{height:480px}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);gap:35px;padding-top:45px}.statement{padding:100px 0}.statement h2{font-size:clamp(30px,3.8vw,52px);line-height:1.45}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.experience-grid article{border-top:1px solid var(--line);padding-top:35px}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.quote-grid blockquote{margin:15px 0 0;padding-top:20px;border-top:1px solid var(--line)}.quote-mark{font-family:Georgia;font-size:80px;line-height:1;color:#78a582}.quote-grid p{font-size:20px;color:var(--ink)}cite{font-style:normal;font-weight:700;font-size:16px}cite span{display:block;font-size:12px;letter-spacing:1.4px;color:var(--muted);margin-top:8px}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:50px;background:#eef4ef;margin-bottom:80px}dl{margin:0}dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #cadbce;padding:16px 0;font-size:14px}dt{color:var(--muted)}dd{margin:0;text-align:right;font-weight:700}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:100px}.contact-details{padding-top:25px}.contact-big{display:block;font-size:clamp(18px,2vw,28px);letter-spacing:-.5px;margin:18px 0}.address{margin-top:60px}form{padding:40px;background:#eef4ef}form h2{font-size:34px}label{display:block;font-size:14px;font-weight:600;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #b7ccbd;background:transparent;padding:13px 0;border-radius:0;color:var(--ink);font-size:16px}textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-note,#form-status{font-size:14px}footer{padding-bottom:30px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;padding:35px 0 55px;align-items:start}.footer-top p{margin:0}.footer-top>div a{display:block;font-size:14px;margin-bottom:8px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;font-size:12px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;z-index:50;background:white;padding:10px}.skip:focus{top:10px}main{animation:appear .6s ease}@keyframes appear{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero-copy{width:1240px}.hero-bottom{left:calc((100% - 1240px)/2);right:auto}}@media(max-width:1050px){nav{gap:15px}.nav-wrap{gap:20px}.nav-cta{display:none}.split,.photo-story{gap:45px}.cta{padding:45px}.contact-layout{gap:40px}.brand{font-size:17px}.steps{gap:20px}.hero{min-height:600px}.hero-bottom span:nth-child(2){display:none}}
@media(max-width:760px){.nav-wrap{min-height:85px}.brand-mark{font-size:43px}.menu-toggle{display:block;margin-left:auto;background:transparent;color:white;border:1px solid #688570;padding:9px 16px;font-size:14px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--ink);padding:25px 6%;margin:0;flex-direction:column;gap:12px}nav.open{display:flex}nav a{font-size:16px;width:fit-content}.hero{height:calc(100svh - 85px);min-height:600px;max-height:850px}.hero h1{font-size:clamp(53px,12vw,80px);letter-spacing:-2.5px}.hero-copy{padding-bottom:40px}.hero p{font-size:17px}.hero-image{object-position:66% center}.hero-bottom{font-size:11px}.credential-strip{display:grid;grid-template-columns:1fr 1fr;padding:25px 6%;gap:22px}.credential-strip b{display:block}.split,.photo-story,.values,.credentials,.contact-layout{grid-template-columns:1fr;gap:30px}.spacious{padding:60px 0}.section-top{display:block}.preview-grid,.experience-grid{grid-template-columns:1fr}.service-preview{padding:55px 0}.service-tile,.service-tile:first-child{padding:30px 0;border-right:0;border-bottom:1px solid #cedbd1}.service-tile h3{max-width:none}.number{margin-bottom:20px}.photo-story img{height:330px}.cta{display:block;padding:35px;margin-bottom:45px}.cta .button{margin-top:30px}.page-intro{padding:60px 0 45px}h1{font-size:43px;letter-spacing:-1.8px}.lead{font-size:19px}.about-photo img{height:330px}.photo-note{left:25px;font-size:18px}.service-row{grid-template-columns:35px 1fr;gap:15px;padding:35px 0}.service-row>div:last-child{grid-column:2}.service-row h2{font-size:27px}.band{padding:30px;margin-bottom:45px}.approach-opening img{height:330px}.steps{grid-template-columns:1fr 1fr;gap:25px}.statement{padding:60px 0}.quote-grid{grid-template-columns:1fr;gap:35px}.quote-grid p{font-size:18px}.credentials{padding:30px;margin-bottom:45px}.contact-layout{padding-bottom:60px}.contact-details{padding:0 0 30px}.address{margin-top:35px}form{padding:25px}.form-pair{grid-template-columns:1fr;gap:0}.footer-top{grid-template-columns:1fr;gap:25px;padding:20px 0 35px}.footer-bottom{flex-direction:column;gap:10px}.values article{padding:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}main{animation:none}*{transition:none!important}}

/* Danforth supplied brand: green, charcoal and white. */
.brand{display:block;flex-shrink:0;line-height:0}.brand-logo{width:160px;height:99px;object-fit:contain;background:#fff}.nav-wrap{min-height:120px}header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}nav a{color:var(--ink)}nav a:hover,nav a[aria-current]{color:#426c4d}.nav-cta{border-color:#78a582;color:#426c4d}.nav-cta:hover{background:#eef4ef}.hero{height:calc(100svh - 120px)}.hero .eyebrow,.hero em,.cta .eyebrow{color:#a6cbb0}.button{background:#78a582;color:#18291d}.button.light{background:#fff;color:#3c373d}.footer-top .brand-logo{width:190px;height:118px}
@media(max-width:760px){.nav-wrap{min-height:100px}.brand-logo{width:137px;height:85px}.menu-toggle{color:#3c373d;border-color:#78a582}nav{top:100px;background:#fff;border-bottom:1px solid #dde5df}.hero{height:calc(100svh - 100px)}}
