/* BLOC XXX — independent, accessible landing page. No external assets or dependencies. */
:root{--ink:#16211f;--ink2:#26332e;--paper:#f7f7f2;--chalk:#fffef9;--sage:#e8eddf;--line:#d9dfd5;--accent:#d4ee9d;--muted:#617069;--white:#fff;--max:1600px;--gutter:clamp(22px,5.1vw,96px);--ease:cubic-bezier(.2,.75,.25,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.is-menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}svg{width:1em;height:1em}h1,h2,h3,p{margin:0}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:3px solid #b4de6d;outline-offset:4px}.container-wide{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}.section-pad{padding-block:clamp(85px,10vw,165px)}.skip-link{position:fixed;left:15px;top:-100px;z-index:1000;padding:12px 20px;background:var(--accent);color:var(--ink);font-weight:700}.skip-link:focus{top:15px}
/* Global header */
.site-header{position:absolute;z-index:30;top:0;left:0;right:0;color:white}.site-header::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(12,22,23,.45),transparent);height:155px;pointer-events:none}.header-inner{height:108px;display:flex;align-items:center;gap:30px;position:relative;border-bottom:1px solid rgba(255,255,255,.24)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0;white-space:nowrap}.brand-symbol{height:38px;width:38px;border:1.5px solid var(--accent);display:flex;align-items:flex-end;justify-content:center;gap:4px;padding:8px 6px}.brand-symbol i{display:block;width:5px;background:var(--accent);transform:skewY(-20deg)}.brand-symbol i:nth-child(1){height:11px}.brand-symbol i:nth-child(2){height:22px}.brand-symbol i:nth-child(3){height:16px}.brand-wordmark{font-size:16px;font-weight:780;letter-spacing:.16em;line-height:1.2}.brand-wordmark small{display:block;margin-top:5px;font-size:8px;letter-spacing:.23em;font-weight:500;color:rgba(255,255,255,.8)}.nav{display:flex;align-items:center;gap:clamp(19px,2.4vw,43px);margin-left:auto}.nav a{font-size:12px;font-weight:650;letter-spacing:.025em;transition:color .2s}.nav a:hover{color:var(--accent)}.nav-cta{display:flex;align-items:center;gap:20px;margin-left:clamp(15px,2vw,38px);padding:15px 17px;border:1px solid rgba(255,255,255,.55);font-size:12px;font-weight:750;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}.nav-cta svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;font-size:20px}.nav-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}.menu-toggle{display:none;color:inherit;border:1px solid rgba(255,255,255,.5);background:transparent;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px;margin-left:auto}.menu-toggle span{width:21px;height:1.5px;background:currentColor;transition:transform .2s}
/* Hero */
.hero{position:relative;isolation:isolate;min-height:min(960px,100svh);min-height:max(750px,100svh);color:var(--white);background:var(--ink);overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-3;background:url('../images/perspectiva-frontala.webp') center 52%/cover no-repeat;animation:hero-scale 1.8s var(--ease) both}.hero::after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(9,23,25,.78) 0%,rgba(9,23,25,.49) 36%,rgba(9,23,25,.06) 82%),linear-gradient(0deg,rgba(6,22,20,.7),transparent 40%)}.hero-grain{position:absolute;z-index:-1;inset:0;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.19' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.hero-content{min-height:inherit;display:flex;flex-direction:column;padding-top:145px;padding-bottom:39px}.hero-topline,.hero-bottom{display:flex;align-items:center;justify-content:space-between}.micro-label,.hero-count,.hero-bottom,.hero-side,.eyebrow,.section-index,.feature-top,.gallery-meta>span,.gallery-footnote,.image-ticket,.contact-panel-label,.commerce-foot,.footer-bottom,.back-top{font-size:10px;line-height:1.5;font-weight:720;letter-spacing:.17em}.micro-label{display:inline-flex;align-items:center;gap:12px}.label-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px rgba(212,238,157,.1)}.hero-count{font-size:12px}.hero-count span{opacity:.48;padding:0 6px}.hero-main{margin:auto 0;display:flex;gap:70px;align-items:flex-end;justify-content:space-between;padding:80px 0 85px}.hero-copy{max-width:880px}.hero-kicker{font-size:13px;font-weight:520;letter-spacing:.1em;margin-bottom:27px;color:#f0f7ef}.hero h1{font-size:clamp(60px,7.8vw,132px);font-weight:510;line-height:.99;letter-spacing:-.082em;text-wrap:balance}.hero h1 em,.display-title em,.aerial h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.07em}.hero h1 em{color:var(--accent)}.hero-lead{max-width:530px;margin-top:36px;color:rgba(255,255,255,.89);font-size:clamp(15px,1.35vw,18px);line-height:1.8;font-weight:400}.hero-actions{display:flex;align-items:center;gap:14px;margin-top:42px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:56px;padding:16px 22px;font-size:12px;font-weight:780;letter-spacing:.02em;transition:transform .25s var(--ease),background .25s,color .25s;border:1px solid transparent}.button:hover{transform:translateY(-3px)}.button span{font-size:19px;font-weight:400}.button-accent{color:var(--ink);background:var(--accent);min-width:213px}.button-accent:hover{background:#e6fbbd}.button-ghost{color:white;border-color:rgba(255,255,255,.56);min-width:220px}.button-ghost:hover{background:white;color:var(--ink)}.hero-side{display:grid;gap:21px;text-align:right;flex-shrink:0;color:rgba(255,255,255,.75)}.side-rule{justify-self:end;width:1px;height:70px;background:rgba(255,255,255,.65)}.hero-bottom{gap:20px;color:rgba(255,255,255,.75);font-size:9px}.scroll-cue{display:flex;align-items:center;gap:18px;white-space:nowrap}.scroll-line{display:inline-block;width:65px;height:1px;background:rgba(255,255,255,.75)}
/* Concept */
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:24% 1fr;gap:4%}.section-index{display:flex;align-items:center;gap:16px;align-self:start;white-space:nowrap;color:var(--muted)}.section-index-num{font-weight:800;color:var(--ink);font-size:12px}.section-index-line{width:46px;height:1px;background:#b6c1b6}.eyebrow{color:#69796b;margin-bottom:30px}.display-title{font-size:clamp(47px,6.3vw,106px);line-height:1.06;font-weight:520;letter-spacing:-.072em;text-wrap:balance}.display-title em{color:#688664}.intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-top:56px}.intro-bottom p{max-width:530px;color:#53625a;font-size:clamp(15px,1.25vw,18px);line-height:1.85}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid var(--ink);padding:0 0 15px;white-space:nowrap;font-weight:750;font-size:12px;transition:gap .25s}.text-link:hover{gap:34px}.text-link span{font-size:20px;font-weight:400}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);margin-top:clamp(80px,9vw,135px);border:1px solid var(--line)}.feature{background:var(--paper);padding:clamp(22px,3.2vw,55px);min-height:350px;display:flex;flex-direction:column}.feature-top{display:flex;align-items:center;justify-content:space-between;color:#68786d}.feature-symbol{font-size:28px;color:#77946b;font-weight:300;line-height:1}.feature h3{margin-top:auto;font-size:clamp(26px,2.65vw,44px);font-weight:550;line-height:1.12;letter-spacing:-.055em}.feature p{max-width:330px;margin-top:21px;color:#68756c;font-size:14px;line-height:1.7}
/* Architectural view */
.architecture{background:#e7eadd}.architecture-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:clamp(42px,7vw,115px);align-items:center}.architecture-image-wrap{height:clamp(470px,55vw,720px);position:relative;overflow:hidden}.architecture-image-wrap>img{width:100%;height:100%;object-fit:cover;object-position:48% center;transition:transform .9s var(--ease)}.architecture-image-wrap:hover>img{transform:scale(1.035)}.image-ticket{position:absolute;left:0;bottom:0;width:min(100%,340px);background:var(--accent);color:var(--ink);padding:23px 27px;display:flex;align-items:center;justify-content:space-between;gap:12px}.image-ticket span:last-child{font-size:22px;font-weight:400}.architecture-copy{padding-block:35px}.section-index-dark{margin-bottom:clamp(65px,7.5vw,110px)}.architecture-copy .display-title{font-size:clamp(55px,5.55vw,90px)}.architecture-copy>p:not(.eyebrow){max-width:450px;margin-top:38px;color:#56685a;font-size:16px;line-height:1.9}.architecture-copy>.text-link{margin-top:40px}
/* Aerial large interlude */
.aerial{height:clamp(540px,65vw,850px);position:relative;isolation:isolate;background:var(--ink);color:white;overflow:hidden}.aerial-image{position:absolute;inset:0;z-index:-2;background:url('../images/vedere-aeriana.webp') center/cover no-repeat;transition:transform 1.2s var(--ease)}.aerial:hover .aerial-image{transform:scale(1.025)}.aerial::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,22,20,.79),rgba(9,22,20,.03) 65%)}.aerial-content{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding-block:45px 60px}.aerial-content>.micro-label{align-self:flex-start}.aerial-content>div{margin-top:auto}.aerial h2{font-size:clamp(49px,6.3vw,104px);line-height:1.03;font-weight:510;letter-spacing:-.072em}.aerial h2 em{color:var(--accent)}.aerial p{max-width:540px;color:rgba(255,255,255,.86);font-size:16px;line-height:1.8;margin-top:25px}.aerial-link{position:absolute;right:var(--gutter);bottom:60px;border:1px solid rgba(255,255,255,.7);width:76px;height:76px;display:grid;place-items:center;font-size:26px;transition:color .2s,background .2s}.aerial-link:hover{background:var(--accent);color:var(--ink)}
/* Gallery */
.gallery-section{background:var(--paper)}.gallery-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:clamp(45px,6vw,83px)}.gallery-heading>p{max-width:270px;color:#69766d;line-height:1.8;font-size:14px;padding-bottom:7px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery-item{position:relative;display:block;overflow:hidden;aspect-ratio:1.28;background:#d4ded4;color:white;isolation:isolate}.gallery-item-wide{aspect-ratio:1.6}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.055)}.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,22,20,.74),transparent 57%);pointer-events:none}.gallery-overlay{position:absolute;z-index:1;left:clamp(20px,2.8vw,42px);right:clamp(20px,2.8vw,42px);bottom:clamp(20px,2.8vw,42px);display:flex;align-items:end;justify-content:space-between;gap:20px}.gallery-meta{display:grid;gap:8px}.gallery-meta>span{color:rgba(255,255,255,.8)}.gallery-meta strong{font-size:clamp(19px,2vw,30px);font-weight:560;letter-spacing:-.035em}.gallery-zoom{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);flex-shrink:0;font-size:19px;transition:background .2s,color .2s}.gallery-item:hover .gallery-zoom{background:var(--accent);color:var(--ink);border-color:var(--accent)}.gallery-footnote{margin-top:24px;color:#758176;letter-spacing:.03em;font-size:12px;font-weight:450}.gallery-footnote span{color:#7c9b73;margin-right:8px}
/* Commerce */
.commerce{background:var(--chalk)}.commerce-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,7vw,135px);align-items:center}.commerce-text .section-index{margin-bottom:clamp(52px,6vw,95px)}.commerce-text .display-title{font-size:clamp(46px,5.25vw,81px)}.commerce-text>p:not(.eyebrow){max-width:480px;margin-top:35px;font-size:16px;line-height:1.9;color:#647168}.commerce-image{height:clamp(410px,46vw,670px);overflow:hidden}.commerce-image img{width:100%;height:100%;object-fit:cover;object-position:73% center;transition:transform .9s var(--ease)}.commerce-image:hover img{transform:scale(1.035)}.commerce-foot{border-top:1px solid var(--line);display:flex;align-items:center;gap:17px;padding-top:24px;margin-top:45px;color:#707e70;font-size:10px}.little-star{font-size:27px;color:#77946b}
/* Contact/footer */
.contact{background:var(--ink);color:white}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(45px,9vw,150px);align-items:end}.eyebrow-lime{color:var(--accent)}.contact .display-title{font-size:clamp(54px,6.4vw,108px)}.contact .display-title em{color:var(--accent)}.contact-grid>div:first-child>p:last-child{max-width:530px;margin-top:32px;font-size:16px;line-height:1.85;color:#bdc8c1}.contact-panel{border:1px solid #4a5d51;padding:clamp(27px,4.2vw,60px);min-height:265px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.contact-panel-label{color:var(--accent);margin-bottom:30px}.contact-main-link{display:flex;width:100%;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:18px;font-size:clamp(22px,2.6vw,37px);font-weight:570;letter-spacing:-.045em;transition:color .2s}.contact-main-link:hover{color:var(--accent)}.contact-main-link span{font-weight:400}.contact-address{font-size:14px;color:#cbd8cc;margin-top:20px;overflow-wrap:anywhere}.contact-address:hover{color:var(--accent)}.contact-panel-message{max-width:340px;font-size:16px;line-height:1.8;color:#dbe3de;margin-bottom:22px}.footer{background:#101b19;color:white}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:45px;border-bottom:1px solid #3f4c45}.footer-brand{font-size:22px;letter-spacing:.15em;font-weight:800}.footer-brand span{display:block;margin-top:6px;font-size:9px;letter-spacing:.22em;font-weight:500;color:#b5c5bb}.back-top{display:flex;gap:22px;align-items:center;transition:color .2s}.back-top:hover{color:var(--accent)}.back-top span{font-size:24px;font-weight:400}.footer-bottom{display:flex;justify-content:space-between;gap:40px;padding-block:27px 35px;color:#a9bbb0;font-size:10px;letter-spacing:.025em;font-weight:450}.footer-bottom span:last-child{max-width:570px;text-align:right}
/* Lightbox */
.lightbox{position:fixed;inset:0;margin:0;padding:18px clamp(15px,2.5vw,35px);width:100%;max-width:none;height:100%;max-height:none;border:0;color:white;background:#101a18;overflow:hidden}.lightbox::backdrop{background:#101a18}.lightbox[open]{display:flex;flex-direction:column}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:55px}.lightbox-count{font-size:12px;letter-spacing:.18em}.lightbox-close{width:45px;height:45px;display:grid;place-items:center;background:transparent;border:1px solid #728177;color:white;font-size:32px;line-height:1;cursor:pointer}.lightbox-stage{min-height:0;flex:1;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:14px}.lightbox-stage img{max-width:100%;max-height:calc(100dvh - 172px);width:100%;height:100%;min-height:0;object-fit:contain}.lightbox-arrow{height:53px;width:53px;border:1px solid #718176;background:transparent;color:white;cursor:pointer;font-size:25px;transition:background .2s,color .2s}.lightbox-arrow:hover,.lightbox-close:hover{background:var(--accent);color:var(--ink)}.lightbox-caption{text-align:center;min-height:58px;display:grid;align-items:center;font-size:14px;color:#d5e1d6}
@keyframes hero-scale{from{transform:scale(1.045);opacity:.7}to{transform:scale(1);opacity:1}}
@media (min-width:1800px){.hero{min-height:900px}}
@media (max-width:1100px){.header-inner{height:88px}.nav{gap:18px}.nav-cta{margin-left:0}.hero-main{padding-block:80px}.hero-side{display:none}.architecture-grid{gap:45px}.architecture-copy .display-title{font-size:clamp(50px,6vw,76px)}.commerce-grid{gap:45px}}
@media (max-width:800px){:root{--gutter:clamp(20px,5vw,40px)}.site-header{position:absolute}.header-inner{height:80px}.nav-cta{margin-left:auto}.menu-toggle{display:flex;margin-left:0}.nav{position:fixed;z-index:50;top:80px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#14231f;color:white;padding:17px var(--gutter) 28px;box-shadow:0 30px 40px rgba(0,0,0,.3);visibility:hidden;opacity:0;transform:translateY(-12px);transition:transform .25s,opacity .25s,visibility .25s}.nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.nav a{padding:16px 0;border-bottom:1px solid #43584a;font-size:16px}.hero{min-height:770px;min-height:100svh}.hero-content{padding-top:123px;padding-bottom:24px}.hero-main{padding-block:65px}.hero-bottom>span:last-child{display:none}.hero-count{display:none}.intro-grid{grid-template-columns:1fr;gap:38px}.intro-bottom{margin-top:38px;align-items:start}.features{margin-top:75px;grid-template-columns:1fr}.feature{min-height:260px}.feature h3{margin-top:40px}.architecture-grid,.commerce-grid{grid-template-columns:1fr}.architecture-copy{order:-1;padding:0}.architecture-image-wrap{height:clamp(480px,85vw,680px)}.section-index-dark,.commerce-text .section-index{margin-bottom:48px}.architecture-copy .display-title{font-size:clamp(57px,9vw,82px)}.aerial{height:660px}.aerial-link{width:57px;height:57px;bottom:45px}.aerial-content{padding-bottom:55px}.gallery-heading{align-items:start;flex-direction:column;gap:26px}.gallery-heading>p{max-width:460px}.commerce-image{height:clamp(400px,73vw,560px)}.contact-grid{grid-template-columns:1fr}.contact-panel{min-height:225px}.footer-bottom{flex-direction:column;gap:13px}.footer-bottom span:last-child{text-align:left}}
@media (max-width:560px){.brand-wordmark{font-size:14px}.brand-wordmark small{font-size:7px}.brand-symbol{height:34px;width:34px}.nav-cta{display:none}.menu-toggle{margin-left:auto}.hero{min-height:710px;min-height:100svh}.hero-content{padding-top:110px}.hero-topline .micro-label{font-size:8px}.hero-main{padding-block:60px}.hero h1{font-size:clamp(55px,14.1vw,82px);letter-spacing:-.08em}.hero-kicker{font-size:11px;margin-bottom:20px}.hero-lead{font-size:14px;line-height:1.7;margin-top:25px}.hero-actions{gap:10px;margin-top:28px}.button{width:100%;min-height:50px;padding:13px 16px}.hero-bottom{font-size:8px}.hero-bottom>span:first-child{display:none}.scroll-cue{margin:auto}.intro-bottom{flex-direction:column;align-items:flex-start;gap:25px}.display-title{font-size:clamp(44px,11vw,69px)}.eyebrow{font-size:9px;margin-bottom:22px}.section-pad{padding-block:79px}.feature{min-height:240px}.feature p{margin-top:15px}.architecture-image-wrap{height:460px}.architecture-copy .display-title{font-size:clamp(50px,11vw,75px)}.architecture-copy>p:not(.eyebrow){margin-top:26px;font-size:15px}.aerial{height:560px}.aerial h2{font-size:clamp(45px,10.6vw,68px)}.aerial p{font-size:14px;max-width:275px}.aerial-link{width:46px;height:46px;right:var(--gutter);bottom:36px}.gallery-grid{grid-template-columns:1fr;gap:12px}.gallery-item,.gallery-item-wide{aspect-ratio:1.25}.gallery-meta strong{font-size:20px}.gallery-overlay{left:20px;bottom:20px;right:20px}.gallery-zoom{width:38px;height:38px}.commerce-text .display-title{font-size:clamp(45px,10.8vw,67px)}.commerce-image{height:350px}.contact .display-title{font-size:clamp(52px,11.5vw,75px)}.contact-grid>div:first-child>p:last-child{font-size:15px}.contact-panel{padding:26px}.footer-top{align-items:flex-start}.footer-brand{font-size:16px}.back-top{font-size:9px;gap:10px}.lightbox{padding:10px}.lightbox-stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:3px}.lightbox-arrow{width:38px;height:43px;font-size:19px}.lightbox-stage img{max-height:calc(100dvh - 148px)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
