/* Verified against PAP Bigreen, color board p.09 and typography p.10. */
:root{--green:#19b24b;--dark:#006124;--ink:#393839;--muted:#595859;--line:#dedede;--paper:#fff;--gutter:clamp(22px,5vw,80px)}
html{scroll-behavior:auto}body{background:#fff;color:var(--ink);font-family:Urbanist,Arial,sans-serif}
h1,h2,h3{font-family:Urbanist,Arial,sans-serif;font-style:normal;letter-spacing:-.055em;font-weight:600}
.topline{background:var(--dark);color:#fff;font-size:11px}.topline .shell{padding-block:7px}
.header{background:white;position:relative;z-index:10;border-bottom:1px solid var(--line)}.header-inner{min-height:92px}.brand,.brand img{width:205px;flex-basis:205px}
.header nav a{font-size:15px}.language{background:white;border:1px solid var(--line)}
.eyebrow{font-family:Urbanist,Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.15em}
.button{background:var(--dark);border-color:var(--dark);color:white;min-height:58px;padding:18px 24px}.button:hover{background:var(--green);border-color:var(--green);color:white}.button>span[aria-hidden]{font-size:24px}
.text-link{font-size:15px}.green{color:var(--dark)}
/* A continuous photographic opening, rather than text / image columns. */
.home .hero{display:block;position:relative;max-width:none;min-height:calc(100svh - 123px);padding:clamp(70px,10vh,130px) var(--gutter) 70px;isolation:isolate;overflow:hidden;color:white;background:var(--dark)}
.home .hero-copy{position:relative;z-index:2;max-width:1340px;margin:auto;padding:0;pointer-events:none}.home .hero-copy a{pointer-events:auto}
.home .hero-copy .eyebrow{margin-bottom:45px;color:white}
.home .hero h1{font-size:clamp(70px,8.7vw,140px);line-height:.96;letter-spacing:-.065em;max-width:1100px}.home .hero h1 .green{color:white}
.home .hero-description{font-size:19px;max-width:380px;color:white;margin:36px 0 30px}
.home .hero .button{background:white;color:var(--dark);border-color:white}.home .hero .button:hover{background:var(--green);color:white;border-color:var(--green)}
.home .hero .text-link{color:white;border-color:white}.home .hero-foot{font-size:11px;letter-spacing:.03em;margin-top:65px}.hero-foot .dot{background:var(--green)}
.home .hero-visual{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;z-index:0;background:var(--dark)}
.home .hero-visual>img:first-child{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:none}
.home .hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,97,36,.96) 0%,rgba(0,97,36,.83) 33%,rgba(0,97,36,.28) 75%,rgba(0,97,36,.2) 100%)}
.home .hero-visual .hero-bike{display:none}.home .hero-caption{z-index:1;left:auto;right:var(--gutter);bottom:35px;max-width:220px;padding:0;background:none;display:block;font-size:12px;text-align:right}.home .hero-caption>span{display:block}.home .hero-caption>span:first-child{font-size:10px;margin-bottom:6px}
.scroll-cue{position:absolute;right:0;bottom:0;width:54px;height:54px;border:1px solid #fff;display:grid;place-items:center;color:white;font-size:28px;transition:background .2s}.scroll-cue:hover{background:var(--green)}
.service-strip{background:var(--green);color:white}.service-strip .shell{padding-block:22px;font-size:clamp(15px,2vw,28px);font-weight:600;letter-spacing:.02em}.service-strip span+span:before{color:white;content:'·';font-size:24px}
/* Services unfold vertically beside a sticky introduction. */
.home #percursos{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;padding-block:125px;align-items:start}
.home .section-heading{display:block;position:sticky;top:55px;margin:0}.home .section-heading .eyebrow{margin-bottom:35px}.home .section-heading h2{font-size:clamp(45px,4.7vw,72px);line-height:1.02}.home .section-heading>p:last-child{margin:30px 0 0;max-width:340px;font-size:18px}
.home .service-list{border:0;display:flex;flex-direction:column;gap:75px;min-width:0}
.home .service-row{display:grid;grid-template-columns:40px 1fr 35px;padding:0 0 30px;gap:18px;align-items:start;border-bottom:1px solid var(--line);background:none;min-width:0}.home .service-row:hover{padding-left:0;background:none}
.service-photo{grid-column:1/-1;width:100%;height:370px;object-fit:cover;margin-bottom:12px;transition:filter .3s}.service-row:hover .service-photo{filter:brightness(1.08)}
.home .service-number{font-size:13px;align-self:start;padding-top:8px;color:var(--dark);font-weight:600}
.home .service-row h3{font-size:34px;line-height:1.08;margin-bottom:16px}.home .service-row p{font-size:16px;max-width:430px;line-height:1.6}.home .big-arrow{font-size:31px;color:var(--dark)}
.store-feature{background:var(--dark);color:white;padding-block:100px;position:relative;overflow:hidden}.feature-grid{grid-template-columns:1.1fr 1fr;gap:8%}.feature-image img{height:560px;object-fit:cover}.photo-label{background:white;color:var(--dark);padding:12px 20px;font-size:10px;letter-spacing:.1em}.feature-copy h2{font-size:clamp(43px,4.6vw,70px)}.feature-copy .green,.feature-copy>p:not(.eyebrow){color:white}.feature-copy .eyebrow{color:white}.feature-copy .text-link{color:white;border-color:white}
.closing{background:white;color:var(--dark);border-bottom:1px solid var(--line)}.closing-inner{min-height:420px;padding-block:90px}.closing h2{font-size:clamp(60px,7.5vw,112px);font-weight:500;letter-spacing:-.065em}.closing .eyebrow{color:var(--ink)}.closing .button.light{background:var(--dark);border-color:var(--dark);color:white}.closing .button.light:hover{background:var(--green);border-color:var(--green)}.closing-bike{opacity:.08;bottom:-190px;right:15%;width:650px}
footer{background:white;color:var(--ink)}.footer-main{padding-block:65px}.footer-label{color:var(--dark)}.footer-bottom{color:var(--muted)}
.page-intro{padding-block:70px;border-bottom:1px solid var(--line);margin-bottom:50px}.page-intro h1{font-size:clamp(52px,6.8vw,100px);line-height:1.03}.page-intro .lead{font-size:19px}
.shop-options article,.steps li{border-top-color:var(--green)}.rental{background:var(--dark);color:white}.rental p:not(.eyebrow){color:white}.rental .button{background:white;color:var(--dark);border-color:white}
.contact-form-wrap{background:white;border:1px solid var(--line);border-top:4px solid var(--green)}.field input,.field select,.field textarea{border-color:#b9b9b9}.manifesto blockquote{color:var(--dark);font-family:Urbanist,Arial,sans-serif;font-style:normal}
@media(max-width:1100px){.brand,.brand img{width:185px;flex-basis:185px}.header-inner{gap:24px}.home #percursos{gap:5%}.home .section-heading h2{font-size:48px}.service-photo{height:310px}}
@media(max-width:800px){.header-inner{min-height:85px}.brand,.brand img{width:175px;flex-basis:175px}.home .hero{min-height:calc(100svh - 115px);padding-top:65px;padding-bottom:70px}.home .hero h1{font-size:clamp(61px,10.5vw,84px)}.home .hero-description{font-size:17px;max-width:340px}.home .hero-caption{display:none}.home .hero-foot{margin-top:50px;max-width:290px}.home .hero-visual:after{background:linear-gradient(90deg,rgba(0,97,36,.93),rgba(0,97,36,.6))}.scroll-cue{bottom:-10px}.home #percursos{grid-template-columns:1fr;padding-block:70px;gap:45px}.home .section-heading{position:static}.home .section-heading h2{font-size:52px}.home .section-heading>p:last-child{max-width:500px;margin-top:24px}.home .service-list{gap:45px}.service-photo{height:400px}.home .service-row h3{font-size:32px}.feature-grid{grid-template-columns:1fr;gap:45px}.feature-image img{height:430px}.feature-copy h2{font-size:50px}.store-feature{padding-block:65px}.service-strip .shell{gap:15px;font-size:17px}.service-strip span+span:before{margin-right:24px}.page-intro h1{font-size:60px}.closing h2{font-size:65px}}
@media(max-width:480px){.brand,.brand img{width:155px;flex-basis:155px}.header-inner{gap:8px}.home .hero h1{font-size:clamp(49px,12vw,62px)}.home .hero-copy .eyebrow{margin-bottom:38px}.home .hero-description{max-width:290px}.home .hero .actions{gap:20px}.home .hero-foot{font-size:9px;max-width:245px;margin-top:40px}.scroll-cue{width:42px;height:42px;right:0}.home .hero-visual>img:first-child{object-position:65% center}.home .section-heading h2{font-size:45px}.service-photo{height:300px}.home .service-row{grid-template-columns:24px 1fr 24px;gap:12px}.home .service-row h3{font-size:28px}.home .service-row p{font-size:15px}.home .big-arrow{font-size:25px}.service-strip .shell{font-size:12px;gap:8px}.service-strip span+span:before{margin-right:14px;font-size:18px}.feature-image img{height:360px}.feature-copy h2{font-size:43px}.closing h2{font-size:52px}.page-intro h1{font-size:46px}.page-intro{padding-block:45px;margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Motion and navigation: Urbanist and the verified brand palette throughout. */
html{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
html:before{content:'';position:fixed;top:0;left:0;width:100%;height:3px;background:var(--green);transform:scaleX(var(--page-progress,0));transform-origin:left;z-index:80;pointer-events:none}
html.menu-open{overflow:hidden}
.menu-toggle{display:inline-flex;align-items:center;gap:18px;min-height:48px;padding:10px 0 10px 20px;margin-left:auto;border:0;background:transparent;font-size:14px;font-weight:600}
.menu-lines{display:flex;flex-direction:column;gap:6px;width:28px}.menu-lines i{height:2px;background:var(--dark);width:100%;transition:width .3s}.menu-toggle:hover .menu-lines i:last-child{width:65%}
.header-inner{gap:30px}.brand{margin-right:auto}
.menu-panel{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:32px var(--gutter) 36px;border:0;background:var(--dark);color:#fff;overflow-y:auto;overscroll-behavior:contain;z-index:100}
.menu-panel[open]{display:flex;flex-direction:column;animation:menu-enter .5s cubic-bezier(.2,.7,.2,1) both}
.menu-panel::backdrop{background:var(--dark)}
.menu-top,.menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:2}.menu-top>span{font-size:11px;letter-spacing:.15em}.menu-close{width:54px;height:54px;display:grid;place-items:center;background:transparent;color:#fff;border:1px solid #ffffff80;font-size:38px;font-weight:400;line-height:1;transition:background .2s,rotate .3s}.menu-close:hover{background:var(--green);rotate:90deg}
.header .menu-panel nav{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;top:auto;left:auto;right:auto;border:0;background:none;padding:35px 0;margin:auto 0;width:min(900px,85%);z-index:2;counter-reset:menu}
.header .menu-panel nav a{display:flex;align-items:center;gap:30px;padding:14px 0;font-size:clamp(38px,6.4vw,90px);letter-spacing:-.055em;line-height:1.1;font-weight:500;border-bottom:1px solid #ffffff40;counter-increment:menu;transition:color .25s,padding-left .3s}
.header .menu-panel nav a:before{content:'0' counter(menu);font-size:11px;letter-spacing:.1em;align-self:center;color:#fff}.header .menu-panel nav a:after{content:'↗';position:static;height:auto;width:auto;background:none;transform:none;margin-left:auto;font-size:.65em;color:#fff;transition:rotate .3s}
.header .menu-panel nav a:hover{padding-left:20px;color:white}.header .menu-panel nav a:hover:after{rotate:45deg}.header .menu-panel nav a[aria-current]{color:white}.header .menu-panel nav a[aria-current]:before{background:var(--green);padding:8px}
.menu-panel[open] nav a{animation:menu-link .6s both}.menu-panel[open] nav a:nth-child(2){animation-delay:.06s}.menu-panel[open] nav a:nth-child(3){animation-delay:.12s}.menu-panel[open] nav a:nth-child(4){animation-delay:.18s}
.menu-bottom{padding-top:25px;border-top:1px solid #ffffff40;font-size:14px}.menu-bottom>span{font-size:22px;letter-spacing:-.035em}.menu-symbol{position:absolute;right:-10%;top:24%;width:65%;max-width:900px;opacity:.13;pointer-events:none;rotate:-15deg}
.menu-panel :focus-visible{outline-color:white}
.reveal{opacity:0;transform:translate3d(0,35px,0);transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal.is-revealed,.reveal:focus-within{opacity:1;transform:none}
.button,.scroll-cue{translate:var(--magnet-x,0) var(--magnet-y,0);transition:translate .25s ease,background .2s,transform .2s}
.home .hero-visual>img:first-child{will-change:transform}
.home .hero-copy h1{animation:hero-enter 1s cubic-bezier(.2,.7,.2,1) both}.home .hero-description{animation:hero-enter 1s .15s both}.home .hero .actions{animation:hero-enter 1s .25s both}
.service-photo{transition:filter .5s,clip-path .5s;clip-path:inset(0)}.service-row:hover .service-photo{clip-path:inset(7px)}
.big-arrow{display:inline-block;transition:transform .3s}.service-row:hover .big-arrow{transform:translate(4px,-4px)}
.feature-image,.wide-photo,.workshop-photo{overflow:hidden}.feature-image img,.wide-photo img,.workshop-photo>img{transition:filter .4s}
.scroll-cue span{display:block;animation:scroll-hint 2.2s ease-in-out infinite}
@keyframes menu-enter{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes menu-link{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes hero-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes scroll-hint{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
@media(max-width:800px){.header-inner{gap:22px}.menu-toggle{padding-left:0;gap:12px}.header .menu-panel nav{width:100%;padding:30px 0}.header .menu-panel nav a{font-size:clamp(40px,8vw,65px);gap:20px}.menu-symbol{width:100%;right:-30%;top:32%}.menu-bottom{align-items:flex-start;flex-direction:column;gap:12px}.menu-bottom>span{font-size:22px}}
@media(max-width:480px){.header-inner{gap:16px}.menu-toggle{font-size:12px;gap:8px}.menu-lines{width:23px}.menu-panel{padding-top:24px;padding-bottom:26px}.menu-close{width:46px;height:46px}.header .menu-panel nav a{font-size:43px;padding-block:18px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.button,.scroll-cue{translate:none!important}.home .hero-visual>img:first-child{transform:none!important}.service-photo{clip-path:none!important}.menu-panel[open],.menu-panel[open] nav a,.home .hero-copy h1,.home .hero-description,.home .hero .actions,.scroll-cue span{animation:none!important}}
