@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#3a4142;--teal:#7ca5a7;--dark:#456f71;--cream:#f6f5f2;--pale:#e9f0ee;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.8 'DM Sans',Arial,sans-serif}a{color:var(--dark);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.25;color:#37484a}h1{font-size:clamp(38px,5vw,67px)}h2{font-size:clamp(30px,3.5vw,46px)}h3{font-size:26px}p{margin:0 0 18px}.container{max-width:1160px;margin:auto;padding:0 26px}.topbar{background:#f1f6f4;text-align:right;padding:5px 0;font-size:13px;color:#546769}.topbar a{font-weight:700}.site-header{background:#fff;position:relative;z-index:10;box-shadow:0 3px 16px #243e3810}.head-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:92px}.brand{display:flex;flex-direction:column;color:#4f7778;line-height:1.1;white-space:nowrap}.brand strong{font-family:Georgia,serif;font-size:26px;font-weight:normal}.brand small{color:#777;letter-spacing:.13em;text-transform:uppercase;font-size:9px;margin-top:9px}.nav-list,.submenu{list-style:none;margin:0;padding:0}.nav-list{display:flex;align-items:center;gap:24px}.nav-list>li{position:relative}.nav-list a,.nav-parent{font-size:13px;color:#354246;font-weight:600;display:block}.nav-parent{border:0;background:none;font-family:inherit;cursor:pointer;padding:6px 0}.submenu{display:none;position:absolute;left:-14px;top:100%;min-width:225px;background:#fff;padding:12px 0;box-shadow:0 10px 30px #0002;border-top:2px solid var(--teal)}.submenu a{padding:9px 18px;font-size:12px}.submenu a:hover{background:#f2f7f6;text-decoration:none}.has-sub:hover .submenu,.has-sub:focus-within .submenu,.has-sub.open .submenu{display:block}.contact-cta{display:inline-block;background:var(--teal);color:#fff!important;padding:12px 19px;border-radius:3px;font-weight:700;font-size:12px}.mobile-toggle{display:none;border:1px solid #ccc;background:#fff;padding:8px 12px;font-size:21px}.hero{min-height:575px;background:linear-gradient(95deg,rgba(42,69,68,.8),rgba(42,69,68,.2)),linear-gradient(125deg,#6eaa83,#345d50) center/cover,linear-gradient(125deg,#668a8a,#c3d0ca);display:flex;align-items:center;color:white}.hero h1{color:#fff;max-width:770px;margin:0 0 18px}.hero .eyebrow{color:#fff}.hero p{max-width:620px;font-size:18px}.eyebrow{letter-spacing:.19em;text-transform:uppercase;font-size:12px;font-weight:700;color:var(--teal);margin-bottom:16px}.btn{display:inline-block;background:var(--teal);color:#fff;padding:13px 28px;border:0;font-size:13px;font-family:inherit;font-weight:700;cursor:pointer;letter-spacing:.02em}.btn:hover{background:var(--dark);text-decoration:none}.btn.outline{border:1px solid #fff;background:transparent}.hero .actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.section{padding:82px 0}.section.tint{background:var(--cream)}.section.pale{background:var(--pale)}.intro{display:grid;grid-template-columns: .8fr 1.2fr;gap:70px;align-items:center}.intro img{max-width:100%;display:block}.intro .portrait{background:#f0f5f4;min-height:300px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.service{padding:25px;background:#fff;border:1px solid #e4e8e6}.service h3{font-size:21px}.service p{font-size:14px}.section-header{text-align:center;max-width:730px;margin:0 auto 32px}.banner{padding:68px 0;background:linear-gradient(120deg,#e4efee,#f4f5f1);text-align:center}.banner h1{margin:0;font-size:clamp(34px,4vw,50px)}.banner p{margin:14px 0 0}.content{max-width:900px;margin:auto}.content p,.content li{font-size:16px}.content ul,.content ol{padding-left:25px;margin:16px 0 28px}.content li{margin:9px 0}.content h2{margin-top:34px;font-size:33px}.content h3{margin-top:28px;font-size:24px}.callout{background:var(--pale);padding:34px;margin:30px 0}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quote{background:#fff;padding:32px 25px;box-shadow:0 3px 18px #00000008;font-size:14px}.quote strong{display:block;margin-top:20px;color:#457c7d}.cta-strip{background:#507d7e;color:#fff;padding:50px 0;text-align:center}.cta-strip h2{color:white;margin:0 0 14px}.footer{background:#263b3c;color:#dbe3e0;padding:50px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a{color:#e0ece9}.footer small{display:block;text-align:center;border-top:1px solid #ffffff24;padding-top:20px;margin-top:35px;color:#ccd5d3}.footer h3{color:white;font-size:23px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px}.form{background:var(--cream);padding:30px}.form label{display:block;font-size:13px;font-weight:700;margin-bottom:15px}.form input,.form textarea{width:100%;border:1px solid #ced6d3;background:white;font:inherit;padding:12px;margin-top:5px;border-radius:2px}.form textarea{min-height:155px;resize:vertical}.form-note{font-size:12px;color:#566}.portrait-full{width:100%;max-width:520px}.notice{padding:14px 18px;border-left:3px solid var(--teal);background:#f5f9f8;font-size:13px}.map-link{height:320px;display:grid;place-items:center;background:#ebf0ed;border:1px solid #d3dfda;text-align:center;padding:35px}.reference-photo{width:100%;max-width:480px;display:block;margin:20px auto}.cardlinks{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.cardlinks a{background:#f1f7f5;padding:28px;font-family:Georgia,serif;font-size:24px}.muted{color:#64716d;font-size:13px}@media(max-width:1050px){.nav-list{gap:12px}.nav-list a,.nav-parent{font-size:12px}.brand strong{font-size:22px}.contact-cta{display:none}}@media(max-width:780px){.mobile-toggle{display:block}.head-inner{min-height:72px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 12px 20px #0002;padding:10px 24px 20px}.site-nav.open{display:block}.nav-list{display:block}.nav-list>li{border-bottom:1px solid #e7ece9}.nav-list a,.nav-parent{padding:12px 5px;font-size:15px}.submenu{position:static;box-shadow:none;border:0;padding:0 0 10px 18px}.submenu a{font-size:13px}.intro,.two-col,.footer-grid{grid-template-columns:1fr;gap:25px}.services,.quote-grid{grid-template-columns:1fr 1fr}.hero{min-height:490px}.section{padding:55px 0}}@media(max-width:520px){.services,.quote-grid,.cardlinks{grid-template-columns:1fr}.hero{min-height:430px}.brand strong{font-size:20px}.section{padding:46px 0}}

/* Fidelity pass 2: restore the airy editorial treatment of the captured site. */
:root{--teal:#82b98e;--dark:#527d61;--pale:#f0f5f0;--cream:#faf9f6;--ink:#484d4a}
body{line-height:1.75}h1,h2,h3,h4{color:#35483d}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #417552;outline-offset:3px}
.topbar{background:#f7faf7}.site-header{box-shadow:0 2px 16px #1a372515}.brand{color:#375e49}.brand small{color:#737e75}
.nav-list a[aria-current="page"]{color:#4b9363;text-decoration:underline;text-underline-offset:7px}.nav-parent{color:#354246}
.hero{min-height:590px;background-image:linear-gradient(90deg,rgba(27,49,37,.68) 0%,rgba(28,55,43,.33) 58%,rgba(28,55,43,.11) 100%),linear-gradient(125deg,#6eaa83,#345d50);background-color:#8ba99a;background-size:cover;background-position:center}
.hero .container{width:100%}.hero .eyebrow{color:#eaf5ec}.hero h1{max-width:800px;text-shadow:0 2px 12px #12331a45}.hero p{max-width:680px}
.section{padding-top:90px;padding-bottom:90px}.section-header{margin-bottom:42px}.section-header h2{margin:12px 0}.eyebrow{color:#5e9970}.service{transition:transform .2s,box-shadow .2s;border-color:#edf1ec}.service:hover{transform:translateY(-3px);box-shadow:0 10px 30px #24402d12;text-decoration:none}.service span{color:#538465;font-weight:700}
.btn,.contact-cta{transition:background .2s}.btn:focus-visible,.contact-cta:focus-visible{outline-color:#185f32}.cta-strip{background:#578c67}.footer{background:#263c30}.quote strong{color:#588a68}
.editorial-feature{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.editorial-feature img{width:100%;height:auto;display:block}.feature-quote{font:italic clamp(24px,3vw,35px)/1.48 'Playfair Display',Georgia,serif;color:#476853;margin:20px 0}.feature-content{max-width:590px}.feature-panel{padding:60px 0}.reading-panel{background:#eff4ee}.reading-panel h2{max-width:550px}.reading-panel .feature-visual{min-height:310px;background:#e1eae0;display:flex;align-items:center;justify-content:center;padding:35px}.reading-panel .feature-visual span{font:normal clamp(38px,5vw,64px)/1.15 'Playfair Display',Georgia,serif;text-align:center;color:#527c5d}.small-caps{letter-spacing:.16em;text-transform:uppercase;font-weight:700;font-size:12px;color:#709b76}.disclaimer{font-size:12px;color:#65776d}
.skip-link{position:absolute;left:12px;top:-100px;background:#fff;color:#174e2d;padding:8px 15px;z-index:100}.skip-link:focus{top:10px}
.content a{text-decoration:underline;text-underline-offset:3px}.content .btn{text-decoration:none}
@media(max-width:780px){.editorial-feature{grid-template-columns:1fr;gap:30px}.editorial-feature .feature-visual{order:-1}.section{padding-top:55px;padding-bottom:55px}.hero{min-height:520px}.hero h1{font-size:clamp(35px,8vw,52px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Version 3: restored book/resource galleries */
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px;margin:24px 0 38px}.resource-card{display:flex;flex-direction:column;justify-content:center;min-height:180px;padding:24px;border:1px solid #d9e4dc;border-radius:12px;background:#f5f9f5;text-align:center;text-decoration:none;color:#264c3c;transition:transform .15s,box-shadow .15s}.resource-card:hover,.resource-card:focus-visible{transform:translateY(-3px);box-shadow:0 8px 25px #244a3920}.resource-card strong{font-size:1.04rem;line-height:1.45}.resource-card small{margin-top:12px;color:#62826c}.resource-card.resource-logo{background:#fff;min-height:165px}.resource-card.resource-logo img{max-height:110px;max-width:100%;object-fit:contain;margin:auto}.resource-note{font-size:.91rem;color:#66766a} 
