/* Epiforest / editorial direction / mobile first */
:root{--paper:#f7f9f3;--ink:#1e3c2f;--radius:18px}body{background:var(--paper);-webkit-font-smoothing:antialiased}::selection{background:#f4b68e;color:#0b2515}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{background:rgba(247,249,243,.97);position:sticky;top:0;border-bottom:1px solid #1e3c2f12}.header-inner{min-height:84px}.nav a{font-size:14px}.brand{letter-spacing:-1.3px}.btn{border-radius:100px;padding:14px 24px;transition:background .2s,transform .2s}.btn span{font-size:19px;line-height:1}.btn:hover{transform:translateY(-2px)}.textlink{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px}.hero{margin:18px auto 0;width:min(1500px,calc(100% - 36px));background:var(--green);color:var(--mint);border-radius:24px;overflow:hidden;min-height:680px;grid-template-columns:1.15fr 1fr;position:relative}.hero-copy{padding:62px 45px 45px 54px;z-index:1}.hero h1{font-size:clamp(2.8rem,4.25vw,4.8rem);line-height:1.06;letter-spacing:-.033em;margin-bottom:30px}.hero h1 span{color:#e9ae82}.hero .eyebrow{color:#d6e4d7;font-size:12px}.hero .intro{font-size:21px;margin-bottom:30px}.hero .btn{background:var(--mint);color:var(--green);border-color:var(--mint)}.hero .btn:hover{background:#e9ae82;border-color:#e9ae82}.hero .textlink{color:var(--mint);font-size:14px}.hero-image{margin:20px 20px 20px 0;border-radius:16px;min-height:550px}.hero-image>img:first-child{object-position:49%}.hero-image:after{background:linear-gradient(180deg,#0b251515 35%,#0b2515c4 100%)}.hero-image .thread{height:40%;top:10%;right:9%;filter:saturate(.85)}.photo-caption{left:30px;bottom:24px}.photo-caption>span{font-size:11px;letter-spacing:.13em;color:#dde8de}.photo-caption p{font:500 38px/1.05 Clash;margin:15px 0 0;letter-spacing:-.025em}.hero-foot{display:block;margin-top:42px;font-size:13px;color:#cadbcd;line-height:1.6;position:relative;padding-left:40px}.hero-foot>span{position:absolute;left:0;top:0;font-size:26px;color:#e9ae82}.band{background:transparent;color:var(--green);padding:28px 0 0}.band .wrap{border-bottom:1px solid var(--line);padding-bottom:28px}.band p{font-size:19px}.band a{text-decoration:none;font-size:14px}.section{padding:100px 0}.eyebrow{font-size:12px;letter-spacing:.13em}.section h2{letter-spacing:-.03em}.voice{padding:26px 0}.voice h3{font-size:1.9rem}.voice span{color:#976044}.feature{background:#e8f0e5}.feature img{border-radius:var(--radius);aspect-ratio:1.08;object-fit:cover}.feature h2{font-size:clamp(2.5rem,4vw,4.2rem)}.service-list a{transition:padding .2s}.service-list a:hover{padding-left:8px}.quote-block img{border-radius:var(--radius);aspect-ratio:.96;object-fit:cover}.quote{font-size:clamp(1.8rem,2.8vw,2.9rem)}.cta{background:var(--green);position:relative;overflow:hidden}.cta:after{content:'';position:absolute;width:380px;height:380px;border:1px solid #e4f2e620;border-radius:50%;right:-160px;top:-180px;pointer-events:none}.cta .btn{min-width:220px}.footer{padding-top:64px}.footer-main .brand{font-size:40px}.footer-main>div>p{font:500 27px Clash;color:#cee0ce}.footer-links{font-size:15px;gap:15px 65px}.page-head{padding-top:55px;padding-bottom:65px}.page-head h1{max-width:920px}.price-card{border-radius:18px;background:#fff;padding:35px}.price-card:nth-child(2){box-shadow:0 18px 35px #1e3c2f15}.price-card h2{font-size:1.9rem;line-height:1.15}.price-card ul{line-height:1.6}.mail-box{border-radius:18px}.person{padding-bottom:40px}input,textarea,select{border-radius:8px;border-color:#b4c5b6;background:#fff}.about-photo{border-radius:20px}.step{padding:30px 0}.step .number{background:var(--light);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;color:var(--green)}
/* News is content, not a carousel: visible links, real dates and uncropped text. */
.journal{background:#eff3eb}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:18px}.section-heading .textlink{flex-shrink:0;margin-bottom:8px}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.story{min-width:0}.story-image{display:block;position:relative;border-radius:14px;overflow:hidden;background:var(--light)}.story-image img{width:100%;height:auto;aspect-ratio:1.38;object-fit:cover;transition:transform .45s}.story-image:hover img{transform:scale(1.035)}.image-arrow{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:43px;height:43px;background:var(--paper);border-radius:50%;font-size:24px;color:var(--green)}.story-body{padding:22px 0 0}.story-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:12px;color:var(--muted);margin:0 0 15px}.story-meta>span:first-child{font-weight:600;color:var(--green)}.story-meta>time{white-space:nowrap}.story h2{font-size:1.85rem;line-height:1.12;margin-bottom:14px;letter-spacing:-.025em;text-wrap:pretty}.story h2 a{text-decoration:none}.story h2 a:hover{text-decoration:underline;text-decoration-thickness:1px}.story-body>p:not(.story-meta){font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:20px}.story-link{display:inline-flex;gap:24px;align-items:center;font-size:14px;text-decoration:none;border-bottom:1px solid #b4c5b6;padding:5px 0}.story-link:hover{border-color:var(--green)}.news-magazine{padding-bottom:100px}.story-featured{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:65px;margin-bottom:85px;background:#e8f0e5;border-radius:20px;padding:24px}.story-featured .story-image img{aspect-ratio:1.22}.story-featured .story-body{padding:20px 30px 20px 0}.story-featured h2{font-size:clamp(2.1rem,3.5vw,3.5rem)}.story-featured .story-body>p:not(.story-meta){font-size:18px}.news-magazine>.section-heading h2{font-size:2.4rem}.news-magazine .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:55px}.news-magazine .story-image img{aspect-ratio:1.7}.article-heading{max-width:950px;padding-top:55px;text-align:center}.article-heading .crumb{display:inline-block;margin-bottom:40px}.article-heading .eyebrow{justify-content:center;margin-bottom:20px}.article-heading h1{font-size:clamp(2.7rem,4.8vw,5rem);margin-bottom:25px}.article-heading .lead{margin:0 auto 25px;max-width:700px}.article-heading .story-meta{justify-content:center;margin-bottom:45px}.article-cover{max-width:1100px}.article-cover img{width:100%;height:auto;max-height:670px;object-fit:cover;border-radius:20px}.article-layout{display:grid;grid-template-columns:220px minmax(0,740px);gap:65px;justify-content:center;padding-top:65px}.article-layout aside{font-size:14px;align-self:start;position:sticky;top:125px}.article-layout aside>p{font:500 26px/1.2 Clash}.article-layout aside>a{display:inline-block;margin-top:10px}.article{font-size:18px;min-width:0;padding-bottom:65px}.article>p:first-child{font-size:22px;line-height:1.65}.article>h2{font-size:1.7rem;line-height:1.25;margin-top:35px;margin-bottom:16px;letter-spacing:-.015em}.article-quote{border-left:3px solid var(--orange);padding:5px 0 5px 26px;margin:28px 0;color:var(--green)}.article-quote p{margin:0;font-size:20px;line-height:1.65}.article-next{background:var(--light);padding:30px;border-radius:14px;margin-top:40px}.article-next p{font:500 26px Clash}.article-next>a:last-child{display:block;margin-top:20px;font-size:15px}.article-back{font-size:14px;margin-top:35px}
@media(min-width:1500px){.hero-copy{padding-left:60px}.hero{min-height:730px}}
@media(max-width:1050px) and (min-width:761px){.hero-copy{padding:45px 30px}.hero{grid-template-columns:1.2fr 1fr;min-height:0}.hero h1{font-size:3rem}.hero-image{min-height:560px}.hero .actions{gap:18px}.hero .textlink{font-size:13px}.header-inner{gap:18px}.nav{gap:14px}.nav a{font-size:13px}.brand{font-size:27px}.brand img{width:32px;height:32px}.nav .btn{padding:10px 14px;gap:10px}.journal-grid{gap:22px}.story h2{font-size:1.55rem}.story-featured{gap:30px}.article-layout{grid-template-columns:160px minmax(0,1fr);gap:35px}}
@media(max-width:760px){.header-inner{min-height:72px}.menu{border-radius:50px;font-size:14px}.header .nav{padding-top:12px;padding-bottom:22px}.header .nav a{font-size:16px}.header .nav .btn{padding:14px 22px}.hero{width:calc(100% - 24px);margin-top:12px;border-radius:18px;display:flex}.hero-copy{padding:31px 23px 28px}.hero h1{font-size:clamp(2.15rem,9.4vw,3.7rem);line-height:1.07;margin-bottom:22px;letter-spacing:-.03em}.hero .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:22px}.hero .intro{font-size:18px;margin-bottom:22px}.hero .actions{gap:18px;align-items:start}.hero .textlink{font-size:14px}.hero-foot{display:none}.hero-image{margin:0 12px 12px;min-height:250px;height:250px;border-radius:12px}.hero-image>img:first-child{object-position:50% 52%}.hero-image .thread{height:60%;top:8%;right:12%}.photo-caption{left:20px;bottom:17px}.photo-caption>span{font-size:9px}.photo-caption p{font-size:27px;margin-top:8px}.band{padding-top:25px}.band .wrap{padding-bottom:25px}.band p{font-size:18px}.band a{font-size:14px}.section{padding:65px 0}.feature .split{gap:35px}.feature img{border-radius:12px}.feature h2{font-size:2.5rem}.voice h3{font-size:1.7rem}.voice{padding:23px 0}.quote-block img{aspect-ratio:1.15;max-height:350px}.section-heading{align-items:start;flex-direction:column;gap:18px;margin-bottom:30px}.section-heading h2{font-size:2.25rem}.section-heading .textlink{margin-bottom:0}.journal-grid{grid-template-columns:1fr;gap:40px}.story-image img{aspect-ratio:1.5}.story h2{font-size:1.9rem}.story-body{padding-top:18px}.story-body>p:not(.story-meta){font-size:16px}.story-meta{font-size:12px;gap:8px 14px}.story-link{font-size:15px;min-height:44px}.story-featured{display:block;padding:12px;margin-bottom:55px;border-radius:16px}.story-featured .story-body{padding:25px 12px 22px}.story-featured h2{font-size:2rem}.story-featured .story-body>p:not(.story-meta){font-size:16px}.story-featured .story-image img{aspect-ratio:1.08}.news-magazine .journal-grid{grid-template-columns:1fr;gap:40px}.news-magazine .story-image img{aspect-ratio:1.4}.news-magazine{padding-bottom:60px}.page-head{padding-top:35px;padding-bottom:40px}.page-head h1{font-size:2.55rem}.article-heading{padding-top:35px;text-align:left}.article-heading .eyebrow,.article-heading .story-meta{justify-content:start}.article-heading .crumb{margin-bottom:28px}.article-heading h1{font-size:2.5rem}.article-heading .lead{font-size:19px;margin-bottom:25px}.article-heading .story-meta{margin-bottom:30px}.article-cover img{border-radius:12px;max-height:420px;aspect-ratio:1.1}.article-layout{display:block;padding-top:35px}.article-layout aside{display:none}.article{font-size:17px;padding-bottom:30px}.article>p:first-child{font-size:20px}.article-quote{padding-left:20px}.article-quote p{font-size:19px}.article-next{padding:25px}.footer-links{gap:15px 35px}.footer-main .brand{font-size:33px}.price-card{padding:27px}}
@media(prefers-reduced-motion:reduce){.btn,.story-image img,.service-list a{transition:none}.btn:hover,.story-image:hover img{transform:none}}
.video-poster{aspect-ratio:1.38;background:radial-gradient(ellipse at top right,#456747 0,transparent 65%),#193e30;color:#f3f8f2;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:28px;position:relative;overflow:hidden}.video-poster:after{content:'';position:absolute;width:210px;height:210px;border:1px solid #f3f8f22b;border-radius:50%;right:-60px;top:-60px;pointer-events:none}.video-kicker{font-size:10px;letter-spacing:.13em;color:#d3e3d3}.video-person{font:500 50px/1.05 Clash;letter-spacing:-.025em;margin:20px 0}.video-person small{font-size:23px;line-height:1.2;display:inline-block}.video-play{display:grid;place-items:center;border:1px solid #f3f8f26b;border-radius:50%;width:46px;height:46px;padding-left:3px;color:#edb087}.video-caption{font-size:11px;margin-top:15px;color:#d3e3d3}.story-featured .video-poster{aspect-ratio:1.22;min-height:380px}.story-featured .video-person{font-size:70px}.story-featured .video-person small{font-size:30px}.video-link{display:block;text-decoration:none;border-radius:18px;overflow:hidden;max-width:800px;margin:auto}.video-link .video-poster{aspect-ratio:1.8;min-height:330px;padding:40px}.video-link .video-person{font-size:75px}.video-link-label{display:flex;justify-content:space-between;background:#e4f2e6;padding:20px 30px;font-size:16px}.video-link:hover .video-play{background:#f3f8f2;color:#193e30}.story-image:has(.video-poster) .image-arrow{display:none}
@media(max-width:760px){.video-poster{aspect-ratio:1.45;padding:24px}.video-person{font-size:48px;margin:14px 0}.video-person small{font-size:24px}.story-featured .video-poster{aspect-ratio:1.1;min-height:0}.story-featured .video-person{font-size:60px}.story-featured .video-person small{font-size:25px}.video-link .video-poster{aspect-ratio:1;min-height:300px;padding:25px}.video-link .video-person{font-size:55px}.video-link-label{padding:18px 24px}}
.video-person small,.story-featured .video-person small{font-family:Arial,Helvetica,sans-serif;font-size:20px;letter-spacing:0;word-spacing:.04em;line-height:1.4}.video-link .video-person small{font-family:Arial,Helvetica,sans-serif;letter-spacing:0;word-spacing:.04em;font-size:24px}
@media(max-width:760px){.video-person small,.story-featured .video-person small,.video-link .video-person small{font-size:18px}}

/* Official supplied transparent logo. */
.brand{flex-shrink:0;background:transparent;padding:0;border-radius:0;line-height:0;letter-spacing:normal}.brand img{width:174px;height:auto;max-width:100%;object-fit:contain}.footer .brand{width:max-content}.footer .brand img{width:200px}@media(max-width:760px){.brand{padding:0}.brand img{width:145px}}

/* Profile-led web typography: calm display headings, readable supporting text. */
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
h1,h2,h3{letter-spacing:-.015em}
h1,h2{font-weight:500;line-height:1.18}
.hero h1{font-weight:500;font-size:clamp(2.65rem,3.9vw,4.4rem);line-height:1.17;letter-spacing:-.012em}
.page-head h1,.article-heading h1{line-height:1.16;letter-spacing:-.015em}
.section-heading h2,.feature h2,.cta h2{line-height:1.18;letter-spacing:-.015em}
h3,.story h2,.story-featured h2,.article>h2,.person h2,.step h2,.price-card h2,.mail-box h2{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.story h2{font-size:clamp(1.45rem,2.1vw,1.8rem)}
.story-featured h2{font-size:clamp(1.8rem,2.9vw,2.6rem)}
@media(max-width:760px){
.hero h1{font-size:clamp(2rem,8.3vw,3.35rem);line-height:1.2;letter-spacing:-.01em}
.page-head h1,.article-heading h1{font-size:2.3rem;line-height:1.18}
.section-heading h2,.feature h2{font-size:2.15rem}
.story h2{font-size:1.55rem}.story-featured h2{font-size:1.85rem}
}

/* References: readable quotations paired with the original customer photos. */
.references-page h1,.references-page h2,.references-page h3,.references-page .quote{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.01em;line-height:1.3}
.references-page .quote{font-size:clamp(1.2rem,2vw,1.65rem);font-weight:400;line-height:1.55}
.reference-card{min-width:0;overflow:hidden}
.reference-card>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin-bottom:24px}
.reference-card blockquote{margin:0}
@media(max-width:760px){.references-page .quotes-grid{grid-template-columns:1fr}.reference-card>img{margin-bottom:20px}}

.reference-photo{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:14px;margin-bottom:24px}
.reference-photo>img{width:100%;height:100%;object-fit:cover}
.reference-photo.rotate-clockwise>img{position:absolute;left:50%;top:50%;width:75%;height:133.333333%;max-width:none;transform:translate(-50%,-50%) rotate(90deg);object-fit:cover}

.reference-reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.reference-reports-grid .story-image{aspect-ratio:4/3}.reference-reports-grid .story-image>img,.reference-reports-grid .video-poster{height:100%;width:100%;object-fit:cover}.references-page .video-person{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.2}@media(max-width:760px){.reference-reports-grid{grid-template-columns:1fr}}

.customer-stripe{padding:0 0 65px}.customer-stripe-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.customer-stripe-heading p{margin:0;font-size:14px;color:var(--muted)}.logo-pause{border:1px solid var(--line);background:transparent;border-radius:24px;padding:10px 16px;font-size:12px;min-height:44px;color:var(--green)}.customer-logo-window{overflow:hidden;border-block:1px solid var(--line);padding:24px 0}.customer-logo-track{display:flex;width:max-content;animation:customer-logos-scroll 55s linear infinite}.customer-logo-group{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:40px;padding-right:40px}.customer-logo-group li{width:180px;flex:none}.customer-logo-group img{width:180px;height:80px;object-fit:contain;filter:grayscale(1);opacity:.72}.customer-stripe:hover .customer-logo-track,.customer-stripe:focus-within .customer-logo-track,.customer-stripe.is-paused .customer-logo-track{animation-play-state:paused}@keyframes customer-logos-scroll{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.customer-logo-track{animation:none;width:100%}.customer-logo-group{flex-wrap:wrap;justify-content:center;padding:0;gap:24px;width:100%}.customer-logo-group[aria-hidden="true"],.logo-pause{display:none}.customer-logo-group li,.customer-logo-group img{width:140px}}

.customer-logo-grid{--logo-columns:4;display:grid;grid-template-columns:repeat(var(--logo-columns),minmax(0,1fr));gap:20px 30px;list-style:none;margin:0;padding:24px 0;border-block:1px solid var(--line);min-height:260px;align-content:start}.customer-logo-grid li{height:96px;min-width:0;display:flex;align-items:center;justify-content:center}.customer-logo-grid li[hidden]{display:none}.customer-logo-grid img{width:100%;max-width:180px;height:90px;object-fit:contain;filter:grayscale(1);opacity:.85}.logo-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.logo-controls[hidden]{display:none}.logo-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--green);font-size:22px}.logo-controls button:hover{background:var(--light)}.logo-status{font-size:13px;min-width:40px;text-align:center}@media(max-width:760px){.customer-logo-grid{--logo-columns:2;gap:20px}.customer-stripe-heading{align-items:flex-start;flex-direction:column}}

.customer-logo-grid{background:#fff;}
