:root{--paper:#f7f7f2;--ink:#252a25;--green:#2c4932;--line:#d8dcd3;--muted:#5c655b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none;cursor:pointer}button{font:inherit}img{max-width:100%;display:block;object-fit:cover}figure{margin:0}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:23px;letter-spacing:-1px}.brand span{font-size:15px;font-weight:500;letter-spacing:2px;margin-left:5px}nav{display:flex;gap:30px;font-size:14px}.header-contact{font-size:14px;border-bottom:1px solid var(--green);padding:8px 0}.header-contact span{margin-left:20px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:58px;align-items:center;padding-block:52px 76px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:2px;color:var(--green);margin:0 0 24px}h1{font-size:clamp(44px,4.6vw,68px);line-height:1.08;letter-spacing:-3px;margin:0 0 26px;font-weight:500}h1 em{font-style:normal;color:var(--green)}.lead{font-size:18px;line-height:1.7;max-width:435px;color:var(--muted)}.service{font-size:14px;margin:25px 0;color:var(--muted)}.service span{margin:0 8px}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;background:var(--green);color:#fff;padding:18px 24px;border:1px solid var(--green);font-size:15px;font-weight:600;border-radius:3px;min-height:54px;transition:background .2s}.button:hover{background:#1b3321}.hero-image{height:600px;position:relative;overflow:hidden;border-radius:3px}.hero-image img{width:100%;height:100%;object-position:center 43%}.hero-image:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#152118a6)}.hero-image figcaption{position:absolute;bottom:25px;left:30px;right:25px;color:white;z-index:1;font-size:19px;line-height:1.5}.hero-image figcaption span{font-size:13px}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid #799346;outline-offset:5px}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}header{height:82px}nav{display:none}.brand{font-size:21px}.brand span{font-size:12px}.header-contact{font-size:12px}.header-contact span{margin-left:5px}.hero{grid-template-columns:1fr;gap:32px;padding-block:38px 48px}h1{font-size:clamp(42px,9vw,66px);letter-spacing:-2px}.eyebrow{font-size:11px;margin-bottom:20px}.lead{font-size:17px}.hero-image{height:460px}.hero-image img{object-position:center 42%}.hero-copy .button{width:100%}.service{font-size:13px}.hero-image figcaption{left:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.section{padding-block:100px}h2{font-size:clamp(32px,3.3vw,46px);font-weight:500;line-height:1.14;letter-spacing:-1.7px;margin:0 0 28px}h3{font-size:20px;line-height:1.35;font-weight:500;margin:0 0 10px}.section p:not(.eyebrow){color:var(--muted)}.intro,.process,.about{display:grid;grid-template-columns:1fr 1fr;gap:85px}.intro{border-top:1px solid var(--line)}.intro>div>p{margin-top:0}.focus-list{list-style:none;padding:0;margin:25px 0 0}.focus-list li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px}.focus-list li:before{content:'—';color:var(--green)}.practice{background:#ecefe7}.practice-grid{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center}.video-frame{width:min(100%,350px);margin:auto;background:#182219;border-radius:5px;overflow:hidden;line-height:0}.video-frame video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain}.practice-copy p{max-width:490px}.support-image{width:100%;height:230px;object-position:center 40%;margin-top:30px;border-radius:3px}.caption{font-size:12px;letter-spacing:.4px;color:var(--muted);margin-top:12px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:26px;border-bottom:1px solid var(--line);padding:24px 0}.steps li:first-child{padding-top:0}.steps li>span{color:var(--green);font-size:13px;padding-top:3px}.steps p{margin:0;font-size:15px}.process>div>p:not(.eyebrow){max-width:370px}.text-link{display:inline-block;margin-top:18px;padding-bottom:8px;border-bottom:1px solid var(--green);font-weight:600;color:var(--green)}.stories{background:#e9ede4}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:35px}.section-head h2{margin-bottom:0}.carousel-controls{display:flex;gap:10px}.carousel-controls button{border:1px solid #7a8975;background:transparent;color:var(--green);border-radius:50%;width:46px;height:46px;cursor:pointer;font-size:21px}.carousel-controls button:disabled{opacity:.35;cursor:default}.quotes{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#85917c transparent;padding:4px 2px 20px}.quotes article{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;background:var(--paper);padding:28px;display:flex;flex-direction:column;border:1px solid #dce1d5;border-radius:3px}.quote-mark{font-size:64px;height:54px;line-height:1;color:#688057;font-family:Georgia,serif}.quotes blockquote{font-size:21px;line-height:1.45;letter-spacing:-.5px;margin:5px 0 18px}.quotes article p{font-size:14px;margin-top:0}.quotes footer{margin-top:auto;padding-top:20px;font-size:14px;display:flex;flex-direction:column}.quotes footer span{font-size:12px;color:var(--muted)}.featured{text-align:center}.featured .video-frame{margin-top:40px;width:330px}.about{align-items:center;border-top:1px solid var(--line)}.about figure>img{width:100%;height:540px;border-radius:3px;object-position:center 30%}.about details{margin-top:30px;border-block:1px solid var(--line);padding:18px 0}.about summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;font-size:16px;font-weight:600;list-style:none}.about summary::-webkit-details-marker{display:none}.about details[open] summary span{transform:rotate(45deg)}.about details ul{padding-left:18px;font-size:14px;color:var(--muted)}.about details li{margin:12px 0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery img{width:100%;height:300px;object-fit:contain;background:#eceee8;border-radius:3px}.completion{padding-bottom:70px}.matilha{border-top:1px solid var(--line);display:grid;grid-template-columns:.65fr 1.4fr;gap:60px;padding-block:50px 75px}.matilha p:not(.eyebrow){font-size:15px;max-width:700px;color:var(--muted)}.matilha h3{font-size:24px;letter-spacing:-.6px}.matilha-links{display:flex;gap:25px;flex-wrap:wrap;font-size:14px;text-decoration:underline;text-underline-offset:5px}.final-cta{background:var(--green);color:#fff;text-align:center;padding-block:90px}.final-cta .eyebrow{color:#c5d2b4}.final-cta h2{font-size:clamp(40px,4.5vw,60px)}.final-cta p:not(.eyebrow){max-width:480px;margin:20px auto 30px;color:#dfe7da}.button.light{color:var(--green);background:var(--paper);border-color:var(--paper);min-width:235px}.final-cta .contact-number{font-size:13px;margin-bottom:0}.contact-number span{margin:0 12px}.site-footer{display:flex;justify-content:space-between;gap:25px;padding-block:45px;font-size:13px}.site-footer p{margin:12px 0 0;color:var(--muted);font-size:12px}.site-footer>div:last-child{text-align:right}.site-footer>div>span{margin:0 10px}.mobile-contact{display:none}a:hover:not(.button){color:#658050}.reveal{animation:appear .6s both}@keyframes appear{from{opacity:.3;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:950px){.practice-grid{gap:50px}.intro,.process,.about{gap:45px}.quotes article{padding:22px}.quotes blockquote{font-size:19px}}
@media(max-width:800px){.section{padding-block:60px}h2{font-size:34px;letter-spacing:-1.2px}.intro,.process,.about,.practice-grid,.matilha{grid-template-columns:1fr;gap:32px}.practice-copy{order:-1}.practice-grid .video-frame{width:320px}.support-image{height:230px}.process h2 br:nth-child(2){display:none}.quotes article{flex-basis:100%;padding:28px}.quotes blockquote{font-size:23px}.section-head{align-items:flex-start;gap:10px}.section-head h2{font-size:30px}.carousel-controls{padding-top:35px;gap:5px}.carousel-controls button{width:40px;height:40px}.about figure>img{height:440px}.gallery{gap:12px;grid-template-columns:1fr}.gallery img{height:auto;max-height:390px}.completion{padding-bottom:45px}.matilha{padding-block:35px 55px;gap:0}.matilha-links{gap:14px;font-size:13px}.final-cta{padding-block:65px}.final-cta h2{font-size:40px}.site-footer{flex-direction:column;padding-bottom:105px}.site-footer>div:last-child{text-align:left}.mobile-contact{display:flex;justify-content:center;gap:35px;position:fixed;bottom:16px;left:20px;right:20px;background:var(--green);color:#fff;padding:13px 20px;z-index:5;border:1px solid #ffffff55;box-shadow:0 4px 20px #0002;border-radius:4px;font-size:15px;transform:translateY(100px);transition:transform .2s}.mobile-contact.shown{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.reveal{animation:none}}

.intro>*,.process>*,.about>*,.practice-grid>*,.matilha>*{min-width:0}.video-frame{max-width:100%}.steps li>div{min-width:0}@media(max-width:800px){.process h2{overflow-wrap:anywhere}.process h2 br:nth-child(2){display:initial}.section-head{flex-wrap:wrap}.carousel-controls{padding-top:0}}
@media(max-width:800px){.intro,.process,.about,.practice-grid,.matilha{grid-template-columns:minmax(0,1fr)}.practice-grid .video-frame,.featured .video-frame{width:100%;max-width:330px}}
/* Reference composition; scoped exclusively to the hero. */
.hero{display:flex;flex-direction:column;align-items:stretch;gap:0;max-width:852px;padding-block:46px 64px}
.hero h1{position:relative;z-index:1;width:100%;font-size:clamp(42px,6.5vw,84px);font-weight:500;line-height:1.08;letter-spacing:-3px;margin:0 0 22px}
.hero .hero-image{position:relative;width:100%;height:auto;aspect-ratio:0.95;margin:0;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.hero .hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%}
.hero .hero-image:before{content:'';position:absolute;z-index:1;inset:0 0 auto;height:50px;background:linear-gradient(var(--paper),transparent);pointer-events:none}
.hero .hero-image:after{display:block;content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,rgba(15,21,16,.82));pointer-events:none}
.hero .hero-image figcaption{position:absolute;z-index:2;left:6%;right:4%;bottom:24px;border-left:2px solid #f7f7f2;padding:2px 0 2px 16px;color:#f7f7f2;font-size:24px;line-height:1.4}
.hero .hero-image figcaption strong{display:block;font-weight:600}.hero .hero-image figcaption span{display:block;font-size:22px}
.hero .lead{max-width:none;font-size:28px;line-height:1.35;margin:32px 0;padding:0}
.hero .button{width:100%;min-height:92px;gap:24px;padding:20px 25px;font-size:25px;border-radius:6px;pointer-events:auto}
.hero .button svg{width:42px;height:42px;flex-shrink:0}.hero .cta-arrow{font-size:36px;line-height:1}
.hero .service{display:flex;justify-content:center;align-items:center;gap:0;margin:30px 0 0;font-size:20px;color:#485348}
.hero .service>span{display:flex;align-items:center;gap:16px;margin:0;padding:0 28px;white-space:nowrap}.hero .service>span+span{border-left:1px solid #c4c9c0}.hero .service svg{width:34px;height:34px;flex-shrink:0}
@media(max-width:800px){.hero{width:100%;max-width:none;padding-block:25px 38px}.hero h1{width:calc(100% - 40px);margin:0 20px 14px;font-size:clamp(32px,10.55vw,78px);line-height:1.06;letter-spacing:-1.6px}.hero .hero-image{aspect-ratio:.95}.hero .hero-image:before{height:30px}.hero .hero-image figcaption{left:7%;bottom:14px;padding-left:14px;font-size:clamp(13px,3.7vw,26px);line-height:1.4}.hero .hero-image figcaption span{font-size:clamp(12px,3.3vw,24px)}.hero .lead{margin:20px 20px 21px;font-size:clamp(16px,4.35vw,30px);line-height:1.32}.hero .button{width:calc(100% - 40px);margin:0 20px;min-height:58px;padding:14px 15px;font-size:clamp(12px,3.8vw,27px);gap:14px;border-radius:4px}.hero .button svg{width:28px;height:28px}.hero .cta-arrow{font-size:26px}.hero .service{width:calc(100% - 40px);margin:22px 20px 0;font-size:clamp(10px,2.95vw,20px)}.hero .service>span{gap:10px;padding:0 15px}.hero .service svg{width:22px;height:22px}}
@media(max-width:359px){.hero .button{gap:8px;padding-inline:10px}.hero .service>span{gap:6px;padding-inline:10px}}
.video-frame{position:relative}.video-poster{position:absolute;inset:-12px;background-position:center;background-size:cover;filter:blur(12px);opacity:.82;transform:scale(1.05);transition:opacity .28s ease;pointer-events:none;z-index:2}.video-frame:not(.playing):after{content:'▶';position:absolute;top:50%;left:50%;display:grid;place-items:center;width:62px;height:62px;transform:translate(-50%,-50%);border:1px solid #ffffffa6;border-radius:50%;background:#15211880;color:#fff;font-size:20px;padding-left:3px;pointer-events:none;z-index:3}.video-frame video{position:relative;z-index:1;background:transparent;opacity:0;transition:opacity .18s ease}.video-frame.playing .video-poster{opacity:0}.video-frame.playing video{opacity:1}.gallery .gallery-featured{grid-column:span 2}.gallery .gallery-featured img{height:420px}@media(max-width:800px){.gallery .gallery-featured{grid-column:auto}.gallery .gallery-featured img{height:auto;max-height:390px}}
