
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Franklin:wght@600;700;800&display=swap');

:root{
  --swp-cream:#f6f1e8;
  --swp-paper:#fffdf8;
  --swp-forest:#23443f;
  --swp-forest2:#315a53;
  --swp-sage:#799286;
  --swp-gold:#d59e49;
  --swp-ink:#20312f;
  --swp-muted:#667470;
  --swp-line:#dddcd4;
  --swp-white:#fff;
}
body.brw-swp-page{margin:0!important;padding:0!important;background:var(--swp-paper)!important}
.swp-site{font-family:'DM Sans',sans-serif;color:var(--swp-ink);background:var(--swp-paper);line-height:1.6}
.swp-site *{box-sizing:border-box}
.swp-site a{color:inherit}
.swp-container{width:min(1180px,calc(100% - 42px));margin:auto}
.swp-header{position:sticky;top:0;z-index:100;background:rgba(255,253,248,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(35,68,63,.09)}
.swp-nav{height:84px;display:flex;align-items:center;justify-content:space-between}
.swp-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.swp-logo-mark{width:45px;height:45px;border:1px solid #b7c2b9;border-radius:50%;display:grid;place-items:center;background:#f7f3ea}
.swp-logo-mark svg{width:28px}
.swp-logo-mark path{fill:var(--swp-forest)}
.swp-logo-mark .river{fill:none;stroke:var(--swp-gold);stroke-width:3;stroke-linecap:round}
.swp-brand strong{display:block;font:800 16px 'Libre Franklin';letter-spacing:.08em;line-height:1}
.swp-brand small{display:block;font-size:9px;letter-spacing:.18em;color:#72807b;font-weight:700;margin-top:5px}
.swp-navlinks{display:flex;align-items:center;gap:25px}
.swp-navlinks>a:not(.swp-button){font-size:13px;font-weight:700;text-decoration:none;color:#475955}
.swp-nav-call{border-left:1px solid var(--swp-line);padding-left:22px}
.swp-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border-radius:6px;border:0;text-decoration:none;font-weight:800;font-size:13px;letter-spacing:.015em;cursor:pointer;transition:.2s}
.swp-button:hover{transform:translateY(-2px)}
.swp-button-dark{background:var(--swp-forest);color:white!important}
.swp-button-accent{background:var(--swp-gold);color:#1e2b28!important;box-shadow:0 12px 32px rgba(213,158,73,.22)}
.swp-button-light{background:#fff;color:var(--swp-forest)!important}
.swp-menu{display:none;background:none;border:0;width:42px}
.swp-menu span{display:block;width:24px;height:2px;background:var(--swp-forest);margin:5px auto}

.swp-hero{position:relative;overflow:hidden;min-height:760px}
.swp-hero-bg{position:absolute;inset:0}
.swp-hero-bg svg{width:100%;height:100%}
.swp-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.17fr .63fr;gap:90px;align-items:center;min-height:760px;padding-top:30px;padding-bottom:50px}
.swp-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;color:#e6c387;margin-bottom:18px}
.swp-kicker.swp-dark{color:#7b6643}
.swp-hero h1,.swp-section h2,.swp-story h2,.swp-area h2,.swp-faq h2,.swp-quote h2{font:800 clamp(43px,5.6vw,76px)/1.02 'Libre Franklin';letter-spacing:-.045em;margin:0}
.swp-hero-copy>p{font-size:18px;max-width:700px;color:#4d625e;margin:25px 0 34px}
.swp-hero-actions{display:flex;gap:22px;align-items:center}
.swp-text-link{text-decoration:none;font-weight:800;font-size:14px}
.swp-text-link span{margin-left:6px}
.swp-hero-trust{display:flex;gap:28px;flex-wrap:wrap;margin-top:42px;padding-top:25px;border-top:1px solid rgba(35,68,63,.17)}
.swp-hero-trust span{font-size:11px;font-weight:800;letter-spacing:.04em;color:#536963}
.swp-hero-card{background:rgba(255,253,248,.88);border:1px solid rgba(35,68,63,.15);padding:34px;border-radius:12px;box-shadow:0 24px 65px rgba(48,72,66,.15);backdrop-filter:blur(10px)}
.swp-card-label{font-size:10px;font-weight:800;letter-spacing:.15em;color:#8b754e}
.swp-hero-card h2{font:800 34px 'Libre Franklin';margin:16px 0 3px}
.swp-owner-line{font-size:12px!important;font-weight:700;color:#84908b!important;margin:0 0 20px!important}
.swp-hero-card p{font-size:14px;color:#5e706c}
.swp-card-divider{height:1px;background:#d8ddd8;margin:26px 0}
.swp-card-stat strong,.swp-card-stat span{display:block}
.swp-card-stat strong{font:800 25px 'Libre Franklin'}
.swp-card-stat span{font-size:11px;color:#7b8985}
.swp-hero-card>a{display:inline-block;margin-top:22px;text-decoration:none;color:var(--swp-forest);font-weight:800;font-size:13px}

.swp-proofbar{background:var(--swp-forest);color:#fff}
.swp-proofgrid{display:grid;grid-template-columns:repeat(4,1fr)}
.swp-proofgrid>div{display:flex;align-items:center;gap:13px;padding:22px 20px;border-right:1px solid rgba(255,255,255,.12)}
.swp-proofgrid>div:last-child{border-right:0}
.swp-proofgrid strong{color:#dbb67a;font:800 13px 'Libre Franklin'}
.swp-proofgrid span{font-size:12px;color:#d6dfdc}

.swp-section{padding:105px 0}
.swp-section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:48px}
.swp-section-head h2,.swp-story h2,.swp-area h2,.swp-faq h2,.swp-quote h2{font-size:clamp(38px,4.5vw,60px)}
.swp-section-head>p{color:var(--swp-muted);font-size:16px;margin:0 0 7px}
.swp-services{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.swp-service-card{min-height:265px;padding:28px;border:1px solid var(--swp-line);background:#fff;display:flex;flex-direction:column}
.swp-service-large{grid-column:span 2;background:#eef1eb}
.swp-service-number{font:800 11px 'Libre Franklin';color:#9d8a67;margin-bottom:auto}
.swp-service-card h3{font:800 22px 'Libre Franklin';margin:30px 0 10px}
.swp-service-large h3{font-size:31px}
.swp-service-card p{font-size:14px;color:var(--swp-muted);margin:0 0 20px}
.swp-service-card a{text-decoration:none;font-size:12px;font-weight:800;color:var(--swp-forest)}

.swp-story{padding:105px 0;background:var(--swp-cream)}
.swp-story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.swp-story-visual{position:relative}
.swp-story-art svg{display:block;width:100%;border-radius:20px}
.swp-floating-quote{position:absolute;right:-35px;bottom:30px;width:260px;background:#fff;padding:22px;border-left:4px solid var(--swp-gold);font-weight:700;font-size:15px;box-shadow:0 20px 40px rgba(50,70,65,.15)}
.swp-story-copy>p{color:#5f6f6b;font-size:16px}
.swp-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:33px}
.swp-values>div{padding-top:17px;border-top:1px solid #cfcfc6}
.swp-values strong,.swp-values span{display:block}
.swp-values strong{font:800 15px 'Libre Franklin'}
.swp-values span{font-size:11px;color:#7a8581;margin-top:4px}

.swp-reviews{padding:105px 0}
.swp-review-head{margin-bottom:38px}
.swp-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.swp-review-grid blockquote{margin:0;padding:30px;border:1px solid var(--swp-line);min-height:270px;display:flex;flex-direction:column;background:#fff}
.swp-review-grid blockquote p{font:700 20px/1.5 'Libre Franklin';margin:24px 0 auto}
.swp-review-grid cite{font-style:normal;font-size:11px;color:#7d8985;margin-top:25px}
.swp-review-featured{background:var(--swp-forest)!important;color:#fff;border-color:var(--swp-forest)!important}
.swp-review-featured cite{color:#bccbc7}
.swp-stars{color:#d8a75e;letter-spacing:.15em;font-size:12px}

.swp-area{padding:100px 0;background:#2a4b45;color:white}
.swp-area-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.swp-area p{color:#c7d4d0;max-width:510px}
.swp-area-pills{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}
.swp-area-pills span{border:1px solid rgba(255,255,255,.18);padding:8px 12px;font-size:11px;border-radius:999px}
.swp-area-card{position:relative;height:440px;background:#203d38;border:1px solid rgba(255,255,255,.12);overflow:hidden}
.swp-area-card:before,.swp-area-card:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.06);border-radius:50%;left:100px;top:20px}
.swp-area-card:after{width:280px;height:280px;left:170px;top:90px}
.swp-area-line{position:absolute;left:52%;top:30px;bottom:45px;width:3px;background:#b99558;transform:rotate(7deg);opacity:.75}
.swp-place{position:absolute;left:50%;display:flex;gap:12px;align-items:center}
.swp-place span{width:13px;height:13px;background:#f4d69d;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 7px rgba(244,214,157,.1)}
.swp-place strong{font-size:13px}
.swp-place.one{top:25%;transform:translateX(30px)}
.swp-place.two{top:50%;transform:translateX(-30px)}
.swp-place.three{top:73%;transform:translateX(-75px)}
.swp-area-caption{position:absolute;left:24px;bottom:20px;font-size:9px;letter-spacing:.16em;color:#8fa8a1}

.swp-faq{padding:100px 0;background:#fbfaf6}
.swp-faq-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:80px}
.swp-faq-list{display:grid;gap:10px}
.swp-faq details{border:1px solid var(--swp-line);background:white;padding:0 20px}
.swp-faq summary{cursor:pointer;list-style:none;padding:20px 38px 20px 0;font-weight:800;position:relative}
.swp-faq summary::-webkit-details-marker{display:none}
.swp-faq summary:after{content:"+";position:absolute;right:0;color:#8b754e;font-size:22px}
.swp-faq details[open] summary:after{content:"–"}
.swp-faq details p{color:var(--swp-muted);font-size:14px;margin:0 0 20px}

.swp-quote{padding:105px 0;background:#18342f;color:white}
.swp-quote-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:start}
.swp-quote-copy>p{color:#b9cac5;font-size:16px}
.swp-contact-list{display:grid;gap:10px;margin-top:30px}
.swp-contact-list a{text-decoration:none;border-top:1px solid rgba(255,255,255,.13);padding:16px 0}
.swp-contact-list span,.swp-contact-list strong{display:block}
.swp-contact-list span{font-size:9px;letter-spacing:.14em;color:#90aaa3;font-weight:800}
.swp-contact-list strong{font-size:14px;margin-top:3px}
.swp-form{background:#fff;color:var(--swp-ink);padding:30px}
.swp-form-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.swp-form-title strong{font:800 23px 'Libre Franklin'}
.swp-form-title span{font-size:11px;color:#7d8985}
.swp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.swp-form label{display:block;font-size:11px;font-weight:800;margin-bottom:13px;color:#4e5e5a}
.swp-form input,.swp-form select,.swp-form textarea{width:100%;margin-top:6px;border:1px solid #cfd4ce;background:#fcfbf8;padding:13px 14px;font:14px 'DM Sans';border-radius:0;outline:none}
.swp-form input:focus,.swp-form select:focus,.swp-form textarea:focus{border-color:#a88953;box-shadow:0 0 0 2px rgba(168,137,83,.12)}
.swp-submit{width:100%}
#swp-form-note{text-align:center;color:#7a8581;font-size:10px;margin-bottom:0}

.swp-footer{padding:60px 0 24px;background:#102823;color:#c0cec9}
.swp-footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:70px}
.swp-footer-brand{color:#fff}
.swp-footer .swp-logo-mark{background:transparent;border-color:#6f8a82}
.swp-footer .swp-logo-mark path{fill:#c9d7d2}
.swp-footer p{font-size:12px;color:#8ea59e;max-width:430px}
.swp-footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}
.swp-footer-grid>div:not(:first-child)>strong{font-size:12px;color:white;margin-bottom:4px}
.swp-footer-grid a,.swp-footer-grid span{text-decoration:none;color:#91a59f;font-size:11px}
.swp-footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;color:#6f8881;font-size:10px}
.swp-mobile-actions{display:none}

@media(max-width:940px){
 .swp-menu{display:block}
 .swp-navlinks{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:18px 22px;box-shadow:0 16px 30px rgba(0,0,0,.12);flex-direction:column;align-items:stretch}
 .swp-navlinks.open{display:flex}
 .swp-nav-call{border-left:0;padding-left:0}
 .swp-hero-grid,.swp-story-grid,.swp-area-grid,.swp-quote-grid{grid-template-columns:1fr}
 .swp-hero-grid{gap:35px}
 .swp-hero{min-height:auto}
 .swp-hero-grid{min-height:auto;padding-top:95px;padding-bottom:80px}
 .swp-proofgrid{grid-template-columns:1fr 1fr}
 .swp-section-head,.swp-faq-grid{grid-template-columns:1fr;gap:24px}
 .swp-services{grid-template-columns:1fr 1fr}
 .swp-review-grid{grid-template-columns:1fr}
 .swp-footer-grid{grid-template-columns:1fr 1fr}
 .swp-footer-grid>div:first-child{grid-column:1/-1}
 .swp-mobile-actions{display:grid;position:fixed;z-index:99;bottom:12px;left:12px;right:12px;grid-template-columns:1fr 1fr;background:#fff;padding:7px;box-shadow:0 12px 35px rgba(0,0,0,.22)}
 .swp-mobile-actions a{text-align:center;text-decoration:none;padding:11px;font-size:12px;font-weight:800}
 .swp-mobile-actions a:first-child{background:var(--swp-forest);color:white}
 body.brw-swp-page{padding-bottom:70px!important}
}
@media(max-width:650px){
 .swp-container{width:min(100% - 26px,1180px)}
 .swp-nav{height:72px}
 .swp-navlinks{top:72px}
 .swp-hero-grid{padding-top:70px}
 .swp-hero h1{font-size:48px}
 .swp-hero-copy>p{font-size:16px}
 .swp-hero-actions{display:grid}
 .swp-proofgrid,.swp-services,.swp-form-row,.swp-values{grid-template-columns:1fr}
 .swp-proofgrid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
 .swp-service-large{grid-column:auto}
 .swp-section,.swp-story,.swp-reviews,.swp-area,.swp-faq,.swp-quote{padding:72px 0}
 .swp-floating-quote{right:10px;bottom:15px;width:230px}
 .swp-area-card{height:350px}
 .swp-footer-grid{grid-template-columns:1fr;gap:30px}
 .swp-footer-grid>div:first-child{grid-column:auto}
 .swp-footer-bottom{display:block}
}
