:root{--cream:#FAF8F3;--cream2:#F2EDE3;--brown:#A85A28;--brown-d:#8A4820;--brown-l:#C97A45;--teal:#0B1D17;--teal-m:#16382B;--teal-l:#2A5C47;--teal-xl:#3A7A60;--sand:#E8DECE;--gold:#D4A44C;--text:#1C2C24;--muted:#5E6E65;--white:#FFFFFF;--radius:14px;--shadow:0 4px 24px rgba(11,29,23,.08);--shadow-h:0 12px 40px rgba(11,29,23,.16)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:'DM Sans',system-ui,sans-serif;background:var(--cream);color:var(--text);line-height:1.7;overflow-x:hidden}a{color:var(--brown);text-decoration:none}a:hover{color:var(--brown-d)}img{max-width:100%}h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;color:var(--teal);line-height:1.25}h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800}h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700}h3{font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:600}h4{font-size:1.05rem;font-weight:600}p{margin-bottom:1rem}strong{color:var(--teal)}.wrap{max-width:1020px;margin:0 auto;padding:0 1.25rem 5rem}.section{padding:4rem 0}.section+.section{border-top:1px solid var(--sand)}.top-nav{position:sticky;top:0;z-index:100;background:rgba(250,248,243,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--sand);padding:.75rem 1.25rem}.top-nav-inner{max-width:1020px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.top-nav a.back{font-size:.85rem;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:.4rem;transition:color .2s}.top-nav a.back:hover{color:var(--brown)}.top-nav a.back svg{width:14px;height:14px}.hero{position:relative;overflow:hidden;padding:5rem 0 4rem;background:linear-gradient(135deg,var(--teal) 0%,var(--teal-m) 60%,var(--teal-l) 100%)}.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 80% 20%,rgba(168,90,40,.18) 0%,transparent 70%),radial-gradient(ellipse 50% 80% at 10% 90%,rgba(212,164,76,.10) 0%,transparent 60%);animation:heroShimmer 8s ease-in-out infinite alternate}@keyframes heroShimmer{0%{opacity:.7;transform:scale(1)}100%{opacity:1;transform:scale(1.05)}}.hero::after{content:'';position:absolute;right:-80px;top:-80px;width:400px;height:400px;border-radius:50%;border:60px solid rgba(255,255,255,.04)}.hero-inner{position:relative;z-index:1;max-width:1020px;margin:0 auto;padding:0 1.25rem}.hero-badge{display:inline-block;background:rgba(168,90,40,.25);border:1px solid rgba(168,90,40,.4);color:#F5C89A;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .85rem;border-radius:100px;margin-bottom:1.5rem}.hero h1{color:var(--white);max-width:720px}.hero-sub{color:rgba(255,255,255,.78);font-size:1.1rem;max-width:620px;margin:1.2rem 0 2rem;font-weight:300}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--brown);color:var(--white);padding:.85rem 1.6rem;border-radius:999px;font-weight:600;font-size:.95rem;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 16px rgba(168,90,40,.35);cursor:pointer;text-decoration:none;border:none;font-family:inherit}.btn:hover{background:var(--brown-d);transform:translateY(-2px);box-shadow:0 8px 24px rgba(168,90,40,.4);color:#fff}.btn:active{transform:translateY(0)}.btn-outline{background:transparent;border:2px solid rgba(255,255,255,.35);color:var(--white);box-shadow:none;padding:.85rem 1.6rem;border-radius:999px;font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:.5rem;transition:border-color .2s,background .2s;text-decoration:none}.btn-outline:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.08);color:#fff}.card{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);padding:1.6rem;transition:box-shadow .25s,transform .25s}.card:hover{box-shadow:var(--shadow-h);transform:translateY(-3px)}.card h4{margin-bottom:.4rem}.card p{color:var(--muted);font-size:.92rem;margin-bottom:0}.stat-number{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:800;color:var(--teal);line-height:1;margin-bottom:.3rem}.stat-label{font-size:.88rem;color:var(--muted);font-weight:500}.stat-sub{font-size:.78rem;color:var(--brown);font-weight:600;margin-top:.25rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.review-card{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);padding:2rem;transition:box-shadow .25s,transform .25s;position:relative}.review-card:hover{box-shadow:var(--shadow-h);transform:translateY(-3px)}.review-stars{color:var(--brown);font-size:1.1rem;margin-bottom:.75rem;letter-spacing:2px}.review-quote{font-size:1.02rem;line-height:1.7;color:#374151;margin-bottom:1.25rem;font-style:italic}.review-quote::before{content:"\201C";font-size:2rem;color:var(--brown);line-height:0;vertical-align:-.5rem;margin-right:.15rem;font-style:normal}.review-quote::after{content:"\201D";font-size:2rem;color:var(--brown);line-height:0;vertical-align:-.5rem;margin-left:.1rem;font-style:normal}.review-author{font-weight:700;color:var(--teal);font-size:.95rem}.review-org{color:var(--brown-d);font-size:.85rem;font-weight:500}.endorsement-card{background:linear-gradient(135deg,rgba(11,29,23,.04),rgba(11,29,23,.08));border-left:4px solid var(--teal);border-radius:0 var(--radius) var(--radius) 0;padding:2rem 2rem;margin-top:2rem}.endorsement-card .review-quote{font-size:1.08rem;color:var(--teal);margin-bottom:1rem}.endorsement-card .review-author{font-size:1rem}.endorsement-card .review-org{color:var(--muted);font-size:.88rem}.cta-block{background:linear-gradient(135deg,var(--teal) 0%,var(--teal-l) 100%);border-radius:20px;padding:3.5rem 2.5rem;text-align:center;position:relative;overflow:hidden}.cta-block::before{content:'';position:absolute;right:-60px;top:-60px;width:300px;height:300px;border-radius:50%;border:50px solid rgba(255,255,255,.05)}.cta-block h3{color:var(--white);margin-bottom:.8rem}.cta-block p{color:rgba(255,255,255,.75);font-size:1.05rem;max-width:500px;margin:0 auto 2rem}.cta-block .btn{background:var(--brown)}.section-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);margin-bottom:.6rem;display:block}.divider{height:3px;width:48px;background:linear-gradient(90deg,var(--brown),var(--gold));border-radius:2px;margin:.8rem 0 1.4rem}.highlight{background:linear-gradient(135deg,rgba(11,29,23,.04),rgba(11,29,23,.08));border-left:4px solid var(--teal);border-radius:0 var(--radius) var(--radius) 0;padding:1.2rem 1.4rem;margin:1.5rem 0}.highlight p{margin:0;font-size:.95rem}.reveal{transition:opacity .65s ease,transform .65s ease}.js .reveal{opacity:0;transform:translateY(28px)}.js .reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.services-footer{background:linear-gradient(135deg,var(--teal) 0%,var(--teal-l) 100%);border-radius:20px;padding:2.5rem 2.5rem 2.5rem;margin-top:10px;position:relative;overflow:hidden}.services-footer::before{content:'';position:absolute;left:-40px;bottom:-40px;width:220px;height:220px;border-radius:50%;border:40px solid rgba(255,255,255,.04)}.services-footer .sf-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brown-l);text-align:center;display:block;margin-bottom:.5rem}.services-footer h4{color:var(--white);text-align:center;margin-bottom:1.8rem;font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700}.services-footer-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;position:relative;z-index:1}.services-footer-grid a{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;color:var(--cream);font-size:.92rem;font-weight:500;text-decoration:none;transition:all .25s ease}.services-footer-grid a:hover{background:rgba(255,255,255,.14);border-color:var(--brown-l);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.2)}.services-footer-grid a span{transition:transform .25s ease}.services-footer-grid a:hover span{transform:translateX(3px)}@media(max-width:768px){.grid-2,.grid-4{grid-template-columns:1fr}.hero{padding:3.5rem 0 3rem}}@media(max-width:520px){.hero-actions{flex-direction:column;align-items:flex-start}}