@font-face{font-family:Montserrat;src:url('assets/montserrat-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--green:#142e24;--gold:#cba265;--cream:#f5f5f1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--gold);font-family:Montserrat,Arial,sans-serif;container-type:inline-size}
.site{--scale:min(100cqw,calc(1920px - (100vw - 100cqw)));width:100%;overflow:clip}
img{display:block;max-width:100%}
section,header,footer{position:relative}
header,footer{background:var(--green)}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.15em}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip-link{position:absolute;top:-100px;left:16px;z-index:2;padding:12px;background:var(--green)}
.skip-link:focus{top:12px}
.site-header{display:grid;grid-template-columns:minmax(0,1fr)}
.brand-link{grid-area:1/1;width:22.98%;margin-left:5.8942687747%;margin-bottom:max(.5px,calc(.0036487 * var(--scale)));aspect-ratio:1/.2756355126}
.brand-link img{width:100%;height:100%;object-fit:cover}
.hero{--hero-height:calc(.3745059 * var(--scale));height:var(--hero-height);overflow:hidden}
.hero img{--image-width:max(100cqw,calc(var(--hero-height) * 1.5));--image-height:calc(var(--image-width) * 2 / 3);position:absolute;width:var(--image-width);height:var(--image-height);max-width:none;left:clamp(calc(100cqw - var(--image-width)),calc(50cqw - var(--image-width) * .46),0px);top:clamp(calc(var(--hero-height) - var(--image-height)),calc(var(--hero-height) * .5 - var(--image-height) * .62),0px)}
.introduction{display:grid;grid-template-columns:minmax(0,1fr)}
.introduction h1,.introduction p{grid-area:1/1;margin:0 0 0 4.3898221344%;width:94.03%;font-weight:700;line-height:1.1;text-align:center;text-shadow:0 2px 2px rgba(0,0,0,.25);letter-spacing:0}
.introduction h1{font-size:calc(.0284585 * var(--scale));min-height:2.2em;margin-top:calc(.0290267 * var(--scale));margin-bottom:calc(.0224575 * var(--scale))}
.introduction p{font-size:calc(.0221344 * var(--scale));margin-top:calc(.0672678 * var(--scale));margin-bottom:calc(.0224699 * var(--scale))}
.gallery{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:min-content 1fr}
.gallery-image{height:auto;object-fit:cover;align-self:start;mask-size:100% 100%;mask-repeat:no-repeat;mask-position:center}
.roots{width:44.69%;aspect-ratio:1/.6665427084;grid-area:2/1;margin-left:2.2912549407%;margin-bottom:calc(.0915143 * var(--scale));mask-image:url('assets/roots-mask.svg')}
.plantation{width:41.29%;aspect-ratio:1/.6158378340;grid-area:1/1;margin-left:43.2287549407%;margin-top:calc(.0139699 * var(--scale));margin-bottom:calc(-.0979002 * var(--scale));mask-image:url('assets/oval-mask.svg')}
.packing{width:39.94%;aspect-ratio:1/.6245118750;grid-area:2/1;margin-left:58.4782608696%;margin-top:calc(.0982708 * var(--scale));margin-bottom:calc(.0416996 * var(--scale));mask-image:url('assets/packing-mask.svg')}
.contact{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:min-content min-content min-content 1fr}
.footer-brand{width:35.3%;aspect-ratio:1/.2755396215;height:auto;object-fit:cover;margin-left:52.5666996047%;margin-bottom:calc(.0122283 * var(--scale));grid-area:1/1}
.contact-details,address{font-size:calc(.0142292 * var(--scale));font-weight:400;line-height:1.1;letter-spacing:0;font-style:normal;align-self:start}
.contact-details{width:20.4%;margin-left:60.0172924901%;margin-bottom:calc(.0167614 * var(--scale));grid-area:2/1;text-align:center}
address{margin-top:0;margin-right:0;margin-bottom:calc(.0451952 * var(--scale));grid-area:3/1}
.address-boavista{width:16.75%;margin-left:48.3992094862%}
.address-brejo{width:19.91%;margin-left:76.5538537549%}
.pin{width:2.89%;height:auto;aspect-ratio:1;fill:currentColor;align-self:start;grid-area:3/1;margin-top:calc(.0168355 * var(--scale));margin-bottom:calc(.0620677 * var(--scale))}
.pin-boavista{margin-left:44.4157608696%}
.pin-brejo{margin-left:72.5049407115%}
.map{grid-area:1/1/5/2;align-self:start;width:35.96%;height:calc(.2388751 * var(--scale));margin-left:1.618083004%;margin-top:calc(.0127347 * var(--scale));margin-bottom:calc(.0137352 * var(--scale));border:0;background:var(--green)}
@media(max-width:1023px){
 .site{--scale:min(100cqw,calc(700px - (100vw - 100cqw)))}
 .brand-link{width:68.02%;margin-left:1.7666666667%;aspect-ratio:1/.2754869899;margin-top:max(.5px,calc(.0013333 * var(--scale)));margin-bottom:max(.5px,calc(.011 * var(--scale)))}
 .hero{--hero-height:calc(.7141467 * var(--scale))}
 .introduction{grid-template-rows:min-content 1fr}
 .introduction h1,.introduction p{width:87.7%;margin-left:6.9666666667%}
 .introduction h1{font-size:calc(.048 * var(--scale));margin-top:calc(.0305 * var(--scale));margin-bottom:calc(-.02 * var(--scale))}
 .introduction p{grid-area:2/1;font-size:calc(.0426667 * var(--scale));margin-top:0;margin-bottom:calc(.0282917 * var(--scale))}
 .gallery{grid-template-rows:min-content min-content 1fr}
 .roots{grid-area:1/1;width:76.48%;margin-left:5.3333333333%;aspect-ratio:1/.6665241353;margin-top:calc(.0226667 * var(--scale));margin-bottom:calc(-.01925 * var(--scale))}
 .plantation{grid-area:2/1;width:82.29%;margin-left:15.2333333333%;aspect-ratio:1/.6158304827;margin-top:0;margin-bottom:calc(.0281667 * var(--scale))}
 .packing{grid-area:3/1;width:84.16%;margin-left:7.575%;aspect-ratio:1/.6244773850;margin-top:0;margin-bottom:calc(.061623 * var(--scale));mask-image:url('assets/packing-mobile-mask.svg')}
 .contact{grid-template-rows:min-content min-content min-content min-content 1fr}
 .footer-brand{width:74.31%;margin-left:14.6875%;aspect-ratio:1/.2755131129;margin-top:calc(.0225 * var(--scale));margin-bottom:calc(.015625 * var(--scale))}
 .contact-details,address{font-size:calc(.0373333 * var(--scale));text-align:center}
 .contact-details{width:87.7%;margin-left:7.9916666667%;margin-bottom:calc(.1151667 * var(--scale))}
 .address-boavista{width:58.9%;margin-left:25.4583333333%;margin-bottom:calc(.0575417 * var(--scale))}
 .address-brejo{grid-area:4/1;width:65.04%;margin-left:22.3875%;margin-bottom:calc(.0975 * var(--scale))}
 .pin-boavista{width:7.01%;aspect-ratio:1/1.3131941359;margin-left:18.3166666667%;margin-top:calc(.015625 * var(--scale));margin-bottom:calc(.0731667 * var(--scale))}
 .pin-brejo{grid-area:4/1;width:7.26%;aspect-ratio:1/1.3130601793;margin-left:18.3166666667%;margin-top:calc(.0345 * var(--scale));margin-bottom:calc(.1320417 * var(--scale))}
 .map{grid-area:5/1;width:90.36%;height:calc(.7322347 * var(--scale));margin-left:5.3333333333%;margin-top:0;margin-bottom:calc(.0512917 * var(--scale))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Independent interactive map with a separate popup for each location. */
.map{display:block;position:relative;overflow:hidden;isolation:isolate}
.map-frame{width:100%;height:100%;background:#aad3df;color:#222}
.map-fallback{position:absolute;z-index:1000;bottom:8px;left:8px;right:8px;display:grid;gap:5px;padding:8px;background:var(--cream);font:12px/1.4 Arial,sans-serif;color:var(--green)}
.map-fallback a{text-decoration:underline}
.map-ready .map-fallback{display:none}
.map .leaflet-popup-content-wrapper{border-radius:7px;color:#333;font:12px/1.4 Arial,sans-serif}
.map .leaflet-popup-content{margin:12px 22px 12px 12px}
.map .location-title{display:block;margin-bottom:8px;font-weight:700;color:#222}
.map .location-address{display:block;margin-bottom:2px}
.map .directions-link{color:#a5752c;text-decoration:underline;font-size:12px}
.map .leaflet-control-attribution{font-size:9px;line-height:1.35}
.map .leaflet-control-zoom a{color:#555}
.map .leaflet-marker-icon:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.map .map-zoom-hint{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;pointer-events:none;background:rgba(0,0,0,.43);color:#fff;text-align:center;padding:22px;font:400 19px/1.35 Arial,sans-serif}
.map .map-zoom-hint[hidden]{display:none}

/* One shared destination for each address and its location icon. */
.location-link{display:contents}
.location-link:focus-visible{outline:none}
.location-link:focus-visible .pin,.location-link:focus-visible address{outline:2px solid var(--gold);outline-offset:4px}
