:root{
  color-scheme:dark;
  --ink:#221f20;
  --wine:#981918;
  --white:#fff;
  --sans:'Manrope',Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{min-height:100%;margin:0;background:var(--ink);color:var(--white);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--white);outline-offset:5px}

.link-hub{--link-hub-background-image:url("assets/civico-27/home-linkhub-background.jpg");position:relative;isolation:isolate;min-height:max(100svh,660px);background:var(--ink);color:var(--white)}
.link-hub--garden{--link-hub-background-image:url("assets/giardino-27/giardino27-background.webp")}
.link-hub__media,.link-hub__veil{position:absolute;inset:0;pointer-events:none}
.link-hub__media{z-index:0;overflow:hidden;background:var(--ink)}
.link-hub__still{position:absolute;inset:0;width:100%;height:100%}
.link-hub__still{background-image:var(--link-hub-background-image);background-position:55% center;background-repeat:no-repeat;background-size:cover}
.link-hub--garden .link-hub__still{background-position:center}
.link-hub__veil{z-index:1;background:linear-gradient(90deg,rgba(34,31,32,.12),rgba(34,31,32,.04) 48%,rgba(34,31,32,.14)),linear-gradient(0deg,rgba(34,31,32,.54),transparent 39%,rgba(34,31,32,.12))}
.link-hub__layout{position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;min-height:max(100svh,660px);padding:clamp(32px,6vh,66px) clamp(28px,7vw,112px) 18px}
.link-hub__brand{align-self:start;line-height:0}
.link-hub__brand-link{display:inline-block;line-height:0}
.link-hub__brand img{display:block;width:clamp(160px,15.5vw,238px);height:auto}
.link-hub--garden .link-hub__brand img{aspect-ratio:262.05/301.56;object-fit:contain}
.link-hub__content{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:clamp(36px,5vw,76px);padding-bottom:clamp(38px,8vh,92px)}
.link-hub__title{max-width:10ch;margin:0;font:500 clamp(36px,4.1vw,58px)/.98 var(--sans);letter-spacing:-.055em}
.link-hub__title span{font-weight:400}
.link-hub__rails{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:clamp(24px,4.3vw,64px)}
.link-hub__group{display:grid;align-content:end;gap:7px;min-width:0}
.link-hub__action{position:relative;display:flex;align-items:center;min-height:43px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.34);font:700 clamp(12px,1.05vw,14px)/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase;transition:border-color .18s ease,color .18s ease}
.link-hub__action:hover{border-bottom-color:var(--wine);color:var(--white)}
.link-hub__action--booking{justify-content:center;min-height:52px;padding:12px 16px;border:1px solid var(--wine);background-color:var(--wine);color:var(--white);font-size:15px;letter-spacing:.09em;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.link-hub__action--booking:hover{border-color:var(--white);background-color:var(--white);color:var(--wine)}
.link-hub__legal{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 30px;color:rgba(255,255,255,.84);font:500 10px/1.45 var(--sans);letter-spacing:.025em}
.link-hub__legal p{margin:0}
.link-hub__policy-note{color:rgba(255,255,255,.76);text-align:right}
.link-hub__policy-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.link-hub__skip{position:fixed;z-index:10;top:-100px;left:16px;padding:12px 16px;background:var(--white);color:var(--ink);font:700 13px/1 var(--sans)}
.link-hub__skip:focus{top:16px}

@media(min-width:761px) and (max-width:1024px){
  .link-hub,.link-hub__layout{min-height:max(100svh,720px)}
  .link-hub__layout{padding:36px 5vw 18px}
  .link-hub__brand img{width:clamp(145px,17vw,184px)}
  .link-hub__content{grid-template-columns:minmax(0,1fr);align-content:end;gap:clamp(28px,5vh,50px);padding-bottom:clamp(28px,6vh,60px)}
  .link-hub__title{font-size:clamp(38px,5.7vw,54px);max-width:11ch}
  .link-hub__rails{width:min(100%,700px);justify-self:end;gap:clamp(24px,4vw,52px)}
  .link-hub__action{font-size:13px;letter-spacing:.075em}
}

@media(max-width:760px){
  .link-hub,.link-hub__layout{min-height:max(100svh,620px)}
  .link-hub__veil{background:linear-gradient(90deg,rgba(34,31,32,.22),rgba(34,31,32,.08) 55%,rgba(34,31,32,.22)),linear-gradient(0deg,rgba(34,31,32,.7),rgba(34,31,32,.12) 72%,rgba(34,31,32,.32))}
  .link-hub__layout{gap:12px;padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 14px)}
  .link-hub__brand{justify-self:center}
  .link-hub__brand img{width:clamp(116px,34vw,140px)}
  .link-hub__content{grid-template-columns:minmax(0,1fr);align-content:end;gap:clamp(18px,4vh,30px);padding:0 0 14px}
  .link-hub__title{font-size:clamp(29px,8vw,37px);line-height:1;max-width:11ch}
  .link-hub__rails{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}
  .link-hub__group{gap:5px}
  .link-hub__action{min-height:44px;padding:8px 0;font-size:clamp(11.5px,3.4vw,12.5px);letter-spacing:.045em}
  .link-hub__action--booking{min-height:48px;padding:10px 8px;font-size:13px;letter-spacing:.06em}
  .link-hub__legal{display:grid;gap:5px;font-size:9px;line-height:1.45}
  .link-hub__policy-note{text-align:left}
}

@media(max-height:640px) and (min-width:761px){
  .link-hub,.link-hub__layout{min-height:640px}
  .link-hub__layout{padding-top:26px}
  .link-hub__brand img{width:clamp(142px,14vw,190px)}
  .link-hub__content{padding-bottom:32px}
  .link-hub__title{font-size:clamp(32px,3.5vw,46px)}
  .link-hub__action{min-height:38px;padding:5px 0}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .link-hub__action{transition:none}
}
