.jardim-contact-v2{--contact-forest:#253d30;--contact-deep:#1b3027;--contact-olive:#4f5e42;--contact-cream:#f4efdd;--contact-copper:#dfb183;background:var(--contact-cream);color:var(--contact-forest);overflow:clip}
.contact-page header.menu .brand-wordmark text{fill:#f4efdd}
.contact-page header.menu .menu-items a,.contact-page header.menu .menu-items .menu-item{color:#f4efdd}
.contact-page header.menu .menu-items a:hover{color:#dfb183}

/* A photo-led route card remains useful when embedded maps do not render on phones. */
.contact-map__mobile-preview{display:none}
@media(max-width:720px){
  .contact-map__frame{height:auto!important;min-height:0!important}
  .contact-map__frame iframe{display:none!important;height:0!important;min-height:0!important}
  .contact-map__mobile-preview{position:relative;display:block;height:380px;min-height:380px;overflow:hidden;color:#f4efdd;text-decoration:none;background:#354735}
  .contact-map__mobile-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 24%,rgb(16 34 23 / 77%) 100%);pointer-events:none}
  .contact-map__mobile-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}
  .contact-map__mobile-preview:hover img{transform:scale(1.045)}
  .contact-map__mobile-label{position:absolute;z-index:1;right:22px;bottom:22px;left:22px;display:grid;gap:8px}
  .contact-map__mobile-label small{font-family:teko,Impact,sans-serif;font-size:1.05rem;letter-spacing:.09em}
  .contact-map__mobile-label strong{max-width:260px;font-family:teko,Impact,sans-serif;font-size:2.8rem;font-weight:500;line-height:.85;text-transform:uppercase}
  .contact-map__mobile-label>span{display:flex;align-items:center;justify-content:space-between;width:max-content;min-width:150px;margin-top:6px;padding:10px 13px 7px;border:1px solid #f4efdd;border-radius:5px;font-family:teko,Impact,sans-serif;font-size:1.2rem;line-height:1}
  .contact-map__mobile-preview:focus-visible{outline:3px solid #dfb183;outline-offset:-5px}
}
.jardim-contact-v2 *{box-sizing:border-box}
.jardim-contact-v2 h1,.jardim-contact-v2 h2,.jardim-contact-v2 h3{font-family:teko,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:-.015em}
.jardim-contact-v2 a:focus-visible,.jardim-contact-v2 button:focus-visible{outline:3px solid var(--contact-copper);outline-offset:5px}
.contact-progress{position:fixed;inset:0 0 auto;height:4px;z-index:100;pointer-events:none}
.contact-progress span{display:block;width:0;height:100%;background:var(--contact-copper);box-shadow:0 0 15px rgb(223 177 131 / 65%)}
.contact-kicker{display:flex;align-items:center;gap:11px;margin:0;font-family:teko,sans-serif;font-size:clamp(1.15rem,1.5vw,1.45rem);line-height:1;letter-spacing:.12em;text-transform:uppercase}
.contact-kicker span{font-size:1.2em;color:var(--contact-copper)}
.contact-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:clamp(30px,5vw,90px);min-height:clamp(720px,64vw,900px);padding:clamp(138px,11vw,175px) clamp(25px,6vw,110px) clamp(85px,8vw,120px);background:radial-gradient(circle at 19% 35%,#496148 0,transparent 43%),linear-gradient(135deg,#34523e,#1c332a 75%);color:var(--contact-cream)}
.contact-hero::before,.contact-hero::after{content:"";position:absolute;border:1px solid rgb(244 239 221 / 13%);border-radius:50%;pointer-events:none;z-index:-1}
.contact-hero::before{width:40vw;height:40vw;top:-25vw;left:18vw}.contact-hero::after{width:28vw;height:28vw;bottom:-19vw;right:31vw}
.contact-hero__copy{position:relative;z-index:3;max-width:790px}
.contact-hero h1{margin:27px 0 25px;font-size:clamp(5.4rem,8.4vw,10rem);line-height:.78}
.contact-hero h1 em,.contact-paths h2 em,.contact-visit h2 em,.contact-finale h2 em{font-style:normal;color:var(--contact-copper)}
.contact-hero__lead{max-width:540px;margin:0;color:#e5eadb;font-size:clamp(1.05rem,1.42vw,1.35rem);line-height:1.45}
.contact-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:36px}
.contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:58px;padding:13px 20px 9px;border:1px solid var(--contact-cream);border-radius:9px;font-family:teko,sans-serif;font-size:1.6rem;line-height:1;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.contact-button:hover{transform:translateY(-5px);box-shadow:0 14px 27px rgb(0 0 0 / 18%)}
.contact-button--light{background:var(--contact-cream);color:var(--contact-forest)}
.contact-button--light:hover{background:#fff8e7;color:var(--contact-forest)}
.contact-button--outline{background:transparent;color:var(--contact-cream)}
.contact-button--outline:hover{background:rgb(244 239 221 / 10%);color:var(--contact-cream)}
.contact-scroll-link{display:inline-flex;align-items:center;gap:13px;color:var(--contact-cream);font-family:teko,sans-serif;font-size:1.35rem;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}
.contact-scroll-link span{display:inline-block;animation:contact-bounce 1.8s ease-in-out infinite}
.contact-hero__visual{position:relative;width:min(100%,620px);justify-self:center;padding:18px 26px 32px}
.contact-hero__image{position:relative;width:100%;height:clamp(470px,39vw,660px);overflow:hidden;border:8px solid #d1d7bb;border-radius:48% 48% 18px 18px;box-shadow:20px 20px 0 #758a67,0 32px 70px rgb(0 0 0 / 23%);transform:rotate(2deg)}
.contact-hero__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;animation:contact-photo-drift 13s ease-in-out infinite alternate}
.contact-hero__photo-tag{position:absolute;left:-10px;bottom:8%;z-index:2;display:flex;align-items:center;gap:16px;padding:12px 19px 8px;background:var(--contact-cream);border:1px solid var(--contact-forest);border-radius:9px;color:var(--contact-forest);box-shadow:9px 9px 0 var(--contact-copper);font-family:teko,sans-serif;font-size:1.75rem;line-height:1;text-transform:uppercase;transform:rotate(-5deg)}
.contact-hero__photo-tag span{font-size:1.45rem}
.contact-hero__orbit{position:absolute;right:-20px;top:4%;z-index:2;width:130px;height:130px;display:grid;place-items:center;padding:20px;border:1px solid var(--contact-cream);border-radius:50%;background:var(--contact-forest);font-family:teko,sans-serif;font-size:1.1rem;line-height:1.1;letter-spacing:.11em;text-align:center;transform:rotate(12deg);animation:contact-orbit 10s ease-in-out infinite}
.contact-hero__hand{position:absolute;right:46%;bottom:-55px;width:clamp(110px,14vw,210px);height:auto;opacity:.75;transform:rotate(-15deg);pointer-events:none;z-index:2;animation:contact-hand-float 6s ease-in-out infinite}
.contact-marquee{overflow:hidden;padding:13px 0 7px;background:var(--contact-copper);color:var(--contact-forest);font-family:teko,sans-serif;font-size:clamp(1.8rem,3.3vw,3.4rem);line-height:1;white-space:nowrap;text-transform:uppercase}
.contact-marquee div{width:max-content;animation:contact-ticker 27s linear infinite}.contact-marquee span{padding:0 35px}
.contact-paths{padding:clamp(90px,10vw,145px) clamp(25px,5vw,90px) clamp(105px,11vw,160px);background:var(--contact-cream)}
.contact-paths__heading{max-width:1040px;margin:0 auto 55px;text-align:center}
.contact-paths__heading .contact-kicker{justify-content:center;color:#86674d}
.contact-paths h2{margin:22px 0 15px;font-size:clamp(4.5rem,7.6vw,8.8rem);line-height:.8}
.contact-paths h2 em{color:#9b704d}
.contact-paths__heading>p:last-child{margin:0;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.5}
.contact-paths__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1500px;margin:auto}
.contact-path{--spot-x:50%;--spot-y:50%;position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:420px;overflow:hidden;padding:30px;border:1px solid #425844;border-radius:16px;background:linear-gradient(155deg,#3f634a,#263f31);color:var(--contact-cream);text-decoration:none;box-shadow:0 15px 30px rgb(36 54 39 / 12%);transition:transform .35s ease,box-shadow .35s ease}
.contact-path::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(360px circle at var(--spot-x) var(--spot-y),rgb(244 239 221 / 20%),transparent 65%);opacity:0;transition:opacity .3s ease}
.contact-path:hover::before,.contact-path:focus-visible::before{opacity:1}
.contact-path:hover{transform:translateY(-9px);box-shadow:0 25px 40px rgb(36 54 39 / 24%);color:var(--contact-cream)}
.contact-path--route{background:linear-gradient(155deg,#496045,#283e30)}
.contact-path--social{background:linear-gradient(155deg,#7b6d51,#3d4935)}
.contact-path__emoji{display:block;font-size:clamp(3.7rem,6vw,6rem);line-height:1;filter:drop-shadow(0 10px 14px rgb(0 0 0 / 18%));animation:contact-hand-float 6s ease-in-out infinite}
.contact-path--route .contact-path__emoji{animation-delay:-2s}.contact-path--social .contact-path__emoji{animation-delay:-4s}
.contact-path__arrow{position:absolute;right:28px;top:24px;font-family:teko,sans-serif;font-size:2.4rem;line-height:1;transition:transform .3s ease}
.contact-path:hover .contact-path__arrow{transform:translate(5px,-5px)}
.contact-path__bottom{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto}
.contact-path__bottom::before{content:"";display:block;width:60px;height:1px;margin-bottom:9px;background:var(--contact-copper)}
.contact-path__bottom small{font-family:teko,sans-serif;font-size:1.25rem;line-height:1;letter-spacing:.1em;color:#ecc199}
.contact-path__bottom strong{font-family:teko,sans-serif;font-size:clamp(3.1rem,4.4vw,5.4rem);font-weight:500;line-height:.8;text-transform:uppercase}
.contact-path__bottom>span{max-width:310px;margin-top:8px;font-size:1rem;line-height:1.45;color:#e6eadf}
.contact-visit{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:stretch;background:var(--contact-olive);color:var(--contact-cream)}
.contact-visit__photo{position:relative;min-height:650px;overflow:hidden}
.contact-visit__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.75,.22,1)}
.contact-visit__photo:hover img{transform:scale(1.06)}
.contact-visit__sticker{position:absolute;top:8%;right:6%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:125px;height:125px;border:1px solid var(--contact-cream);border-radius:50%;background:var(--contact-olive);color:var(--contact-copper);font-size:3.5rem;line-height:.8;transform:rotate(12deg);animation:contact-orbit 8s ease-in-out infinite}
.contact-visit__sticker small{margin-top:7px;color:var(--contact-cream);font-family:teko,sans-serif;font-size:.9rem;letter-spacing:.08em}
.contact-visit__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(70px,8vw,130px) clamp(30px,6vw,110px)}
.contact-visit .contact-kicker{color:var(--contact-copper)}
.contact-visit h2{margin:24px 0 25px;font-size:clamp(4.7rem,7vw,8.3rem);line-height:.8}
.contact-visit address{font-size:clamp(1.25rem,1.75vw,1.7rem);line-height:1.45;font-style:normal;color:#e2e9d8}
.contact-visit__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.contact-visit__feedback{min-height:1.5em;margin:15px 0 0;color:#e8c39f;font-size:.95rem}
.contact-map{padding:clamp(85px,10vw,145px) clamp(24px,5vw,85px) clamp(95px,10vw,145px);background:#dce2cb;color:var(--contact-forest)}
.contact-map__heading{max-width:860px;margin:0 auto 42px;text-align:center}
.contact-map__heading .contact-kicker{justify-content:center;color:#835f43}
.contact-map h2{margin:18px 0 15px;font-size:clamp(4.6rem,7.2vw,8.5rem);line-height:.8}
.contact-map h2 em{font-style:normal;color:#9b704d}
.contact-map__heading>p:last-child{margin:0;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.5}
.contact-map__layout{position:relative;max-width:1460px;min-height:550px;margin:auto;border:8px solid var(--contact-cream);border-radius:22px;overflow:hidden;box-shadow:20px 20px 0 #a4b58c,0 27px 55px rgb(25 49 33 / 18%)}
.contact-map__frame,.contact-map__frame iframe{display:block;width:100%;height:100%;min-height:550px;border:0}
.contact-map__frame{background:#b7c7a9}
.contact-map__panel{position:absolute;left:22px;bottom:22px;max-width:min(385px,calc(100% - 44px));padding:23px 26px 25px;border-radius:14px;background:var(--contact-forest);color:var(--contact-cream);box-shadow:0 18px 38px rgb(12 34 20 / 25%)}
.contact-map__emoji{display:block;font-size:2.6rem;line-height:1;margin-bottom:10px}
.contact-map__panel .contact-kicker{color:var(--contact-copper);font-size:1.05rem}
.contact-map__panel h3{margin:10px 0 13px;font-size:2.9rem;line-height:.85}
.contact-map__panel address{font-size:1rem;line-height:1.4;font-style:normal;color:#e4eadb}
.contact-map__phone{display:inline-block;margin-top:13px;color:var(--contact-cream);font-size:1.1rem;text-decoration:underline;text-underline-offset:4px}
.contact-map__links{display:flex;flex-direction:column;gap:8px;margin-top:20px}
.contact-map__links a{display:flex;justify-content:space-between;gap:12px;padding:10px 13px 7px;border:1px solid var(--contact-cream);border-radius:7px;color:var(--contact-cream);font-family:teko,sans-serif;font-size:1.3rem;line-height:1;text-decoration:none;text-transform:uppercase;transition:background .25s ease,color .25s ease}
.contact-map__links a:first-child,.contact-map__links a:hover{background:var(--contact-cream);color:var(--contact-forest)}
.contact-finale{position:relative;isolation:isolate;overflow:hidden;padding:clamp(105px,12vw,175px) 24px clamp(115px,12vw,180px);background:var(--contact-cream);text-align:center}
.contact-finale::before,.contact-finale::after{content:"";position:absolute;z-index:-1;border:1px solid rgb(79 94 66 / 22%);border-radius:50%;pointer-events:none}
.contact-finale::before{width:55vw;height:55vw;top:-38vw;left:-15vw}.contact-finale::after{width:55vw;height:55vw;bottom:-42vw;right:-14vw}
.contact-finale__ornament{position:absolute;right:9%;top:13%;font-size:clamp(3rem,7vw,7rem);color:#ad815c;animation:contact-orbit 8s ease-in-out infinite}
.contact-finale .contact-kicker{justify-content:center;color:#9b704d}
.contact-finale h2{margin:23px auto 38px;font-size:clamp(4.5rem,8.4vw,9.2rem);line-height:.78}
.contact-finale h2 em{color:#9b704d}
.contact-finale__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.contact-finale__actions a{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;padding:13px 21px 9px;border:1px solid var(--contact-forest);border-radius:9px;background:var(--contact-forest);color:var(--contact-cream);font-family:teko,sans-serif;font-size:1.55rem;text-decoration:none;text-transform:uppercase;transition:transform .25s ease,background .25s ease}
.contact-finale__actions a:last-child{background:transparent;color:var(--contact-forest)}
.contact-finale__actions a:hover{transform:translateY(-5px);background:#3f5d45;color:var(--contact-cream)}
.contact-motion-ready .contact-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.22,1)}
.contact-motion-ready .contact-reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes contact-ticker{to{transform:translateX(-50%)}}
@keyframes contact-photo-drift{to{transform:scale(1.09) translateY(-8px)}}
@keyframes contact-orbit{50%{transform:rotate(-4deg) translateY(-8px)}}
@keyframes contact-hand-float{50%{transform:translateY(-9px) rotate(-5deg)}}
@keyframes contact-bounce{50%{transform:translateY(7px)}}
@media(max-width:1000px){.contact-hero{grid-template-columns:1fr 1fr;gap:28px;padding-inline:34px}.contact-hero h1{font-size:clamp(5rem,9vw,7.5rem)}.contact-hero__image{height:490px}.contact-hero__orbit{right:-8px}.contact-path{padding:24px;min-height:380px}.contact-path__bottom strong{font-size:clamp(3rem,4.6vw,4rem)}.contact-visit__copy{padding:70px 35px}}
@media(max-width:720px){.contact-hero{grid-template-columns:1fr;gap:25px;min-height:0;padding:115px 24px 90px}.contact-hero__copy{max-width:620px}.contact-hero h1{font-size:clamp(5rem,15vw,7.5rem)}.contact-hero__visual{width:min(100%,500px);margin-top:12px}.contact-hero__image{height:clamp(390px,90vw,570px)}.contact-hero__hand{right:-15px;bottom:-40px;width:145px}.contact-hero__orbit{width:105px;height:105px;font-size:.9rem;right:0}.contact-paths{padding:85px 24px 100px}.contact-paths__heading{margin-bottom:35px}.contact-paths h2{font-size:clamp(4.4rem,12vw,6.5rem)}.contact-paths__grid{grid-template-columns:1fr;gap:14px}.contact-path{min-height:295px}.contact-path__emoji{font-size:4rem}.contact-path__bottom strong{font-size:3.8rem}.contact-visit{grid-template-columns:1fr}.contact-visit__photo{min-height:400px}.contact-visit__copy{padding:75px 28px}.contact-visit h2{font-size:clamp(5rem,12vw,6.6rem)}.contact-finale h2{font-size:clamp(4.5rem,12vw,6.5rem)}}
@media(max-width:420px){.contact-hero h1{font-size:clamp(4.4rem,15vw,5.8rem)}.contact-hero__actions{gap:17px}.contact-hero__photo-tag{font-size:1.35rem;left:0}.contact-hero__visual{padding-inline:10px}.contact-hero__image{height:390px}.contact-hero__orbit{right:-12px}.contact-paths h2{font-size:4.4rem}.contact-path{min-height:280px}.contact-visit__actions{flex-direction:column;width:100%;max-width:330px}.contact-button{width:100%}.contact-finale__actions{max-width:340px;margin:auto}.contact-finale__actions a{width:100%}}
@media(max-width:720px){.contact-map{padding:85px 20px 105px}.contact-map h2{font-size:clamp(4.4rem,12vw,6.5rem)}.contact-map__layout{border-width:6px;box-shadow:11px 11px 0 #a4b58c}.contact-map__frame,.contact-map__frame iframe{height:380px;min-height:380px}.contact-map__panel{position:static;max-width:none;border-radius:0;box-shadow:none}.contact-map__panel h3{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){.contact-hero__image img,.contact-hero__orbit,.contact-hero__hand,.contact-marquee div,.contact-scroll-link span,.contact-path__emoji,.contact-visit__sticker,.contact-finale__ornament{animation:none}.contact-motion-ready .contact-reveal{opacity:1;transform:none;transition:none}.contact-path,.contact-button,.contact-finale__actions a,.contact-visit__photo img{transition:none}}

/* Contact page: a lighter, photographic composition distinct from O Jardim. */
.contact-page header.menu .brand-wordmark text{fill:#4f5e42}
.contact-page header.menu .menu-items a,.contact-page header.menu .menu-items .menu-item{color:#4f5e42}
.contact-page header.menu .menu-items a:hover{color:#9b704d}
.contact-hero{min-height:clamp(660px,57vw,830px);gap:clamp(28px,5vw,85px);padding:clamp(125px,10vw,165px) clamp(25px,6vw,110px) clamp(85px,7vw,110px);background:#f4efdd;color:#4f5e42}
.contact-hero::before,.contact-hero::after{display:none}
.contact-hero__copy{max-width:700px}
.contact-hero .contact-kicker{color:#886e56}
.contact-hero h1{margin:20px 0 25px;font-size:clamp(4.4rem,6.7vw,7.3rem);line-height:.88;letter-spacing:.005em}
.contact-hero h1 em{color:#4f5e42}
.contact-hero__lead{max-width:500px;color:#4c5b46;font-size:clamp(1.04rem,1.28vw,1.25rem);line-height:1.5}
.contact-hero__actions{margin-top:31px}
.contact-hero .contact-button--light{background:#4f5e42;border-color:#4f5e42;color:#f4efdd}
.contact-hero .contact-button--light:hover{background:#657653;color:#fff}
.contact-hero .contact-scroll-link{color:#4f5e42}
.contact-hero__visual{width:min(100%,570px);padding:0 25px 42px 0}
.contact-hero__image{width:90%;height:clamp(420px,35vw,590px);border:0;border-radius:18px 105px 18px 18px;box-shadow:18px 18px 0 #bac4a8,0 26px 60px rgb(51 65 42 / 16%);transform:none}
.contact-hero__image img{object-position:center 35%}
.contact-hero__accent{position:absolute;right:0;bottom:8px;width:45%;height:36%;border:7px solid #f4efdd;border-radius:105px 12px 12px 12px;object-fit:cover;box-shadow:0 18px 40px rgb(51 65 42 / 16%);transform:rotate(4deg)}
.contact-hero__photo-tag{left:auto;right:1%;bottom:4%;padding:10px 14px 7px;border-color:#4f5e42;background:#f4efdd;color:#4f5e42;box-shadow:6px 6px 0 #c9a27a;font-size:1.25rem;transform:rotate(-3deg)}
.contact-hero__photo-tag span{font-size:1rem}
.contact-marquee{background:#4f5e42;color:#f4efdd}
.contact-paths{padding:clamp(75px,8vw,120px) clamp(25px,5vw,90px) clamp(90px,9vw,135px);background:#f8f5eb}
.contact-paths__heading{margin-bottom:38px}
.contact-paths__heading .contact-kicker{color:#886e56}
.contact-paths h2{margin:15px 0 12px;font-size:clamp(3.7rem,5.6vw,6.3rem);line-height:.9}
.contact-paths h2 em{color:#4f5e42}
.contact-paths__grid{gap:20px}
.contact-path,.contact-path--route,.contact-path--social{min-height:0;padding:0;border:1px solid #b7bda7;border-radius:14px;background:#f4efdd;color:#4f5e42;box-shadow:0 12px 24px rgb(51 65 42 / 8%)}
.contact-path::before{z-index:1;background:radial-gradient(300px circle at var(--spot-x) var(--spot-y),rgb(255 255 255 / 30%),transparent 75%);pointer-events:none}
.contact-path:hover{color:#4f5e42;box-shadow:0 24px 40px rgb(51 65 42 / 17%)}
.contact-path__image{display:block;height:clamp(185px,19vw,275px);overflow:hidden;background:#d8d9c7}
.contact-path__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.22,1)}
.contact-path:hover .contact-path__image img{transform:scale(1.065)}
.contact-path--social .contact-path__image img{object-position:center 42%}
.contact-path__arrow{z-index:2;top:15px;right:15px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f4efdd;color:#4f5e42;font-size:1.9rem}
.contact-path__bottom{min-height:190px;gap:5px;padding:22px 25px 25px}
.contact-path__bottom::before{display:none}
.contact-path__bottom small{font-size:1.08rem;color:#987757}
.contact-path__bottom strong{font-size:clamp(2.7rem,3.4vw,4rem);line-height:.91}
.contact-path__bottom>span{max-width:360px;margin-top:5px;color:#4f5e42}
.contact-map{padding:clamp(80px,8vw,120px) clamp(24px,5vw,85px) clamp(95px,8vw,130px);background:#e5e9d9;color:#4f5e42}
.contact-map h2{font-size:clamp(3.9rem,5.8vw,6.4rem);line-height:.9}
.contact-map h2 em{color:#4f5e42}
.contact-map__layout{border-color:#f4efdd;box-shadow:16px 16px 0 #b7c2a7,0 25px 45px rgb(25 49 33 / 14%)}
.contact-map__panel{background:#4f5e42}
.contact-map__panel h3{font-size:2.5rem}
.contact-finale{padding:clamp(75px,8vw,110px) 24px clamp(85px,9vw,125px);background:#4f5e42;color:#f4efdd}
.contact-finale::before,.contact-finale::after{border-color:rgb(244 239 221 / 17%)}
.contact-finale .contact-kicker{color:#e5bd94}
.contact-finale h2{margin:16px auto 16px;font-size:clamp(4.2rem,6.5vw,7.2rem);line-height:.87}
.contact-finale h2 em{color:#f4efdd}
.contact-finale__lead{max-width:500px;margin:0 auto 28px;font-size:1.16rem;line-height:1.45}
.contact-finale__actions a{border-color:#f4efdd;background:#f4efdd;color:#4f5e42}
.contact-finale__actions a:last-child{background:transparent;color:#f4efdd}
.contact-finale__actions a:hover{background:#e4d8c5;color:#4f5e42}
@media(max-width:1000px){.contact-hero h1{font-size:clamp(4.4rem,7vw,6.2rem)}.contact-path__bottom{min-height:210px}.contact-path__bottom strong{font-size:clamp(2.5rem,3.5vw,3.3rem)}}
@media(max-width:720px){.contact-hero{grid-template-columns:1fr;gap:30px;min-height:0;padding:105px 24px 75px}.contact-hero h1{font-size:clamp(4.1rem,12vw,6.5rem)}.contact-hero__visual{width:min(100%,510px);justify-self:center;margin-top:0;padding:0 20px 38px 0}.contact-hero__image{height:clamp(380px,85vw,550px)}.contact-paths{padding:75px 24px 95px}.contact-paths h2{font-size:clamp(3.8rem,10vw,5.4rem)}.contact-path{min-height:0}.contact-path__image{height:225px}.contact-path__bottom{min-height:0;padding:19px 24px 23px}.contact-path__bottom strong{font-size:3.25rem}.contact-map h2{font-size:clamp(3.8rem,10vw,5.4rem)}.contact-finale h2{font-size:clamp(4.2rem,11vw,6rem)}}
@media(max-width:420px){.contact-hero h1{font-size:clamp(4rem,13vw,5.2rem)}.contact-hero__image{height:390px}.contact-hero__photo-tag{font-size:1.08rem;right:0}.contact-paths h2{font-size:3.8rem}.contact-path__image{height:205px}}
@media(prefers-reduced-motion:reduce){.contact-path__image img{transition:none}}

/* Give the contact navigation the same olive tone as the site's footer. */
.contact-page #app header.menu.dark.stuck{background-color:#4f5e42!important;background-image:none!important;color:#f4efdd}
.contact-page #app header.menu.dark:not(.stuck){background-color:#4f5e42!important;background-image:none!important;color:#f4efdd}
.contact-page header.menu .brand-wordmark text{fill:#f4efdd}
.contact-page header.menu .menu-items a,.contact-page header.menu .menu-items .menu-item{color:#f4efdd}
.contact-page header.menu .menu-items a:hover{color:#dfb183}

.contact-page .home-pasta-divider{background:linear-gradient(to bottom,#4f5e42 var(--portal-edge),#e5e9d9 var(--portal-edge))}
.contact-page .contact-map{padding-top:32px}
@media(max-width:720px){.contact-page .contact-visit__copy{padding-bottom:24px}.contact-page .contact-map{padding-top:24px}}
