:root{--green:#005b3b;--green-dark:#003d29;--terracotta:#bf5d3d;--sand:#d3a871;--ice:#a9dbe7;--ink:#211d1a;--cream:#f6f0e6;--white:#fff;--radius:22px;--shadow:0 24px 70px rgba(20,20,20,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.section{padding:105px 0}.eyebrow{display:inline-block;font-size:.75rem;letter-spacing:.17em;font-weight:700;color:#fff;margin-bottom:18px}.eyebrow.dark{color:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.03}h1{font-size:clamp(3.6rem,7vw,7.5rem);letter-spacing:-.045em;margin-bottom:24px}h2{font-size:clamp(2.65rem,5.4vw,5.2rem);letter-spacing:-.035em;margin-bottom:24px}h2 em,h1 em{font-weight:500;color:var(--terracotta)}p{font-size:1.05rem;color:#544e49}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;background:var(--terracotta);color:white;font-weight:700;border:0;cursor:pointer;transition:.25s ease;box-shadow:0 8px 24px rgba(191,93,61,.22)}.btn:hover{transform:translateY(-2px);filter:brightness(1.04)}.btn-small{padding:10px 17px;font-size:.9rem}.btn-full{width:100%;border-radius:12px}.topbar{position:absolute;z-index:20;top:0;left:0;right:0;height:84px;display:flex;align-items:center;gap:30px;padding:0 max(28px,calc((100vw - 1180px)/2));color:#fff}.brand{display:inline-flex;flex-direction:column;line-height:.8;min-width:105px}.brand-etna{font-family:'Playfair Display',serif;font-size:2.2rem}.brand-by{font-size:.62rem;letter-spacing:.28em;font-weight:700;margin-left:29px;margin-top:6px}.nav{display:flex;gap:24px;margin-left:auto;font-size:.9rem}.nav a{opacity:.82}.nav a:hover{opacity:1}.hero{position:relative;min-height:820px;height:100vh;max-height:980px;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('../images/site/hero-fachada.jpg') center/cover no-repeat;transform:scale(1.015)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,48,33,.94) 0%,rgba(0,48,33,.70) 39%,rgba(0,0,0,.17) 67%,rgba(0,0,0,.36) 100%)}.hero-content{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:1.45fr .75fr;gap:70px;align-items:center;padding-top:80px}.hero-copy{max-width:730px}.hero-copy p{max-width:600px;color:rgba(255,255,255,.82);font-size:1.17rem}.hero-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.hero-pills span{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.09);backdrop-filter:blur(10px);padding:8px 13px;border-radius:999px;font-size:.86rem}.lead-card{background:rgba(247,241,232,.96);color:var(--ink);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow)}.lead-card h2{font-size:2.05rem;letter-spacing:-.02em;margin-bottom:12px}.lead-card p{font-size:.92rem}.form-kicker{color:var(--terracotta);font-weight:700;font-size:.73rem;letter-spacing:.12em}.lead-card label{display:block;font-size:.78rem;font-weight:700;margin:11px 0 5px}.lead-card input,.cta-form input{width:100%;border:1px solid #ded5c8;background:#fff;border-radius:10px;padding:13px 14px;font:inherit;outline:0}.lead-card input:focus,.cta-form input:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(191,93,61,.12)}.lead-card small{display:block;margin-top:10px;color:#766e66;font-size:.69rem}.form-status{font-size:.78rem;margin-top:9px;color:var(--green);font-weight:700}.scroll-hint{position:absolute;z-index:3;left:50%;bottom:25px;width:42px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;color:#fff;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(7px)}}.split-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:90px}.section-title h2{max-width:680px}.intro-copy{padding-top:48px}.intro-copy>p{font-size:1.12rem;max-width:560px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px}.stats div{border-top:1px solid #ddd1c0;padding-top:15px}.stats strong{display:block;color:var(--green);font-size:1.45rem}.stats span{font-size:.82rem;color:#766e66}.image-band{position:relative;height:690px;overflow:hidden;background:var(--sand)}.image-band img{width:100%;height:100%;object-fit:cover}.image-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,rgba(0,61,41,.9) 100%)}.band-copy{position:absolute;z-index:2;right:7%;top:50%;transform:translateY(-50%);color:#fff;width:min(400px,34vw)}.band-copy span{font-size:.8rem;letter-spacing:.17em;font-weight:700}.band-copy strong{display:block;font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(2.5rem,5vw,5rem);line-height:1;margin-top:14px}.section-head{max-width:800px;margin-bottom:56px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{background:var(--cream);padding:28px;border-radius:18px;min-height:220px}.feature b{color:var(--terracotta);font-size:.75rem;letter-spacing:.15em}.feature h3{font-family:'Playfair Display',serif;font-size:1.55rem;margin:26px 0 10px}.feature p{font-size:.9rem;margin-bottom:0}.warm{background:var(--terracotta);color:#fff}.warm .section-head h2 em{color:var(--sand)}.masonry{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gallery figure{position:relative;margin:0;height:430px;overflow:hidden;border-radius:18px;background:#222}.gallery figure.wide{grid-column:span 2;height:520px}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;left:18px;bottom:18px;background:rgba(0,61,41,.88);color:#fff;padding:8px 13px;border-radius:999px;font-size:.8rem;backdrop-filter:blur(10px)}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.story-copy p{max-width:520px}.check-list{padding:0;margin:30px 0 34px;list-style:none}.check-list li{padding:11px 0 11px 28px;border-bottom:1px solid #eee;position:relative;font-size:.92rem}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--terracotta);font-weight:800}.story-images{position:relative;padding:0 0 55px 60px}.story-images img{border-radius:18px;box-shadow:var(--shadow)}.story-images .main{width:100%;height:590px;object-fit:cover}.story-images .floating{position:absolute;width:44%;height:245px;object-fit:cover;left:0;bottom:0;border:8px solid #fff}.unit-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.tab{border:1px solid #d9d1c6;background:white;padding:11px 18px;border-radius:999px;cursor:pointer;font:inherit;font-size:.86rem}.tab.active{background:var(--green);border-color:var(--green);color:white}.tab-panel{display:none;grid-template-columns:1.45fr .55fr;gap:40px;align-items:center;background:var(--cream);padding:26px;border-radius:20px}.tab-panel.active{display:grid}.tab-panel img{width:100%;height:520px;object-fit:contain;background:white;border-radius:14px}.tab-panel span{font-size:.75rem;letter-spacing:.12em;color:var(--terracotta);font-weight:700}.tab-panel h3{font-family:'Playfair Display',serif;font-size:2.6rem;margin:10px 0}.note{font-size:.72rem;color:#817a72;margin-top:14px}.dark-section{background:var(--green-dark);color:#fff}.dark-section .section-head h2 em{color:var(--sand)}.interior-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.interior-grid figure{margin:0;position:relative;height:520px;overflow:hidden;border-radius:18px}.interior-grid img{width:100%;height:100%;object-fit:cover}.interior-grid figcaption{position:absolute;left:22px;bottom:22px;background:rgba(0,61,41,.9);padding:12px 15px;border-radius:12px}.interior-grid figcaption strong,.interior-grid figcaption span{display:block}.interior-grid figcaption span{font-size:.76rem;opacity:.78}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:42px;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.spec-grid span{padding:18px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);font-size:.86rem}.security{background:#eef8f7}.security-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.mini-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini-cards div{background:#fff;border-radius:16px;padding:24px}.mini-cards h3{font-family:'Playfair Display',serif;font-size:1.35rem}.mini-cards p{font-size:.86rem;margin-bottom:0}.location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.location-media img{height:640px;width:100%;object-fit:cover;border-radius:20px}.location-copy h3{font-size:1rem;margin-top:30px}.places{display:flex;flex-wrap:wrap;gap:8px}.places span{font-size:.78rem;border:1px solid #ddd4ca;border-radius:999px;padding:7px 10px}.location-copy small{display:block;margin-top:13px;color:#877f78}.cta{position:relative;min-height:620px;color:#fff;display:flex;align-items:center}.cta-bg{position:absolute;inset:0;background:url('../images/site/portaria.jpg') center/cover no-repeat}.cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,61,41,.96),rgba(0,61,41,.72) 60%,rgba(0,0,0,.18))}.cta-content{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center;padding:80px 0}.cta-content h2{font-size:clamp(2.7rem,5vw,5rem)}.cta-content h2 em{color:var(--sand)}.cta-content p{color:rgba(255,255,255,.75)}.cta-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:rgba(255,255,255,.1);padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;backdrop-filter:blur(10px)}.cta-form input{background:rgba(255,255,255,.94)}.cta-form input:first-child{grid-column:span 2}.cta-form .btn{grid-column:span 2}.cta-form .form-status{grid-column:span 2;color:#fff}footer{background:#171a18;color:#c9ccc8;padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:.4fr 1.2fr .4fr;gap:40px;align-items:center}.footer-brand{color:#fff}.footer-grid p{color:#989e99;font-size:.82rem;margin:0}.footer-grid>a{text-align:right;font-size:.8rem}.legal{border-top:1px solid #303530;margin-top:35px;padding-top:22px;font-size:.6rem;line-height:1.5;color:#737a74}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:960px){.nav{display:none}.hero{min-height:940px;height:auto}.hero-content{grid-template-columns:1fr;gap:35px;padding:150px 0 70px}.hero-copy{max-width:680px}.lead-card{max-width:520px}.split-intro,.story-grid,.security-grid,.location-grid,.cta-content{grid-template-columns:1fr;gap:45px}.intro-copy{padding-top:0}.feature-grid{grid-template-columns:1fr 1fr}.image-band{height:560px}.band-copy{right:5%;width:42vw}.tab-panel{grid-template-columns:1fr}.tab-panel img{height:420px}.cta-content{padding:90px 0}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-grid>a{text-align:left}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1180px)}.section{padding:72px 0}.topbar{padding:0 16px}.topbar .btn-small{display:none}.hero{min-height:930px}.hero-content{padding-top:120px}.hero-overlay{background:linear-gradient(180deg,rgba(0,48,33,.90) 0%,rgba(0,48,33,.72) 60%,rgba(0,0,0,.35))}.lead-card{padding:24px}.feature-grid,.masonry,.interior-grid,.mini-cards,.spec-grid{grid-template-columns:1fr}.gallery figure.wide{grid-column:auto}.gallery figure,.gallery figure.wide{height:320px}.image-band{height:530px}.image-band:after{background:linear-gradient(0deg,rgba(0,61,41,.9),transparent 65%)}.band-copy{left:22px;right:auto;bottom:35px;top:auto;transform:none;width:80%}.story-images{padding-left:25px}.story-images .main{height:440px}.story-images .floating{height:180px}.tab-panel img{height:290px}.interior-grid figure{height:400px}.spec-grid{border-left:0}.spec-grid span{border-left:1px solid rgba(255,255,255,.18)}.location-media img{height:400px}.cta-form{grid-template-columns:1fr}.cta-form input:first-child,.cta-form .btn,.cta-form .form-status{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.footer-grid{padding-bottom:8px}h1{font-size:3.45rem}h2{font-size:2.7rem}}

.mobile-sticky-cta{display:none}

@media(max-width:1024px){
  .wrap{width:100%;max-width:100%;padding-left:24px;padding-right:24px}
  .section{padding:88px 0}
  h1{font-size:clamp(3.25rem,10vw,6.25rem);line-height:.96}
  h2{font-size:clamp(2.35rem,7vw,4.65rem);line-height:1.02}
  p{font-size:1rem}
  .hero-content{gap:44px}
  .lead-card{justify-self:start;width:min(520px,100%)}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .location-grid,.story-grid,.security-grid,.cta-content{gap:52px}
  .reveal-left,.reveal-right{
    --reveal-x:0px;
    --reveal-y:22px;
  }
}

@media(max-width:768px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:16px;padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .wrap{padding-left:20px;padding-right:20px}
  .section{padding:76px 0}
  .topbar{position:absolute;height:74px;padding:0 20px;color:#fff}
  .brand{min-width:auto}
  .brand-etna{font-size:2rem}
  .brand-by{font-size:.58rem;margin-left:25px}
  .nav{display:none}
  .topbar .btn-small{display:inline-flex;margin-left:auto;min-height:44px;padding:10px 15px;font-size:.82rem}
  .hero{height:auto;min-height:100svh;max-height:none;overflow:hidden}
  .hero-media{background-position:57% center;transform:none}
  .hero-overlay{background:linear-gradient(180deg,rgba(0,61,41,.96) 0%,rgba(0,61,41,.78) 45%,rgba(0,0,0,.28) 100%)}
  .hero-content{min-height:100svh;height:auto;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:28px;padding-top:104px;padding-bottom:46px}
  .hero-copy{max-width:100%}
  .eyebrow{font-size:.76rem;letter-spacing:.15em;margin-bottom:14px}
  h1{font-size:clamp(2.8rem,12vw,4.2rem);line-height:.94;letter-spacing:-.035em;margin-bottom:18px;max-width:9ch;overflow-wrap:normal}
  .hero-copy p{font-size:1.06rem;line-height:1.48;max-width:31ch;color:rgba(255,255,255,.9)}
  .hero-pills{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:10px;margin:22px -20px 0;padding:0 20px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .hero-pills span{flex:0 0 auto;scroll-snap-align:start;font-size:.9rem;padding:10px 14px}
  .lead-card{width:100%;max-width:none;border-radius:24px;padding:26px 22px;background:rgba(247,241,232,.98)}
  .lead-card h2{font-size:clamp(2rem,9vw,2.7rem);line-height:1.02}
  .lead-card p{font-size:1rem;line-height:1.45}
  .lead-card label{font-size:.86rem;margin-top:14px}
  .lead-card input,.cta-form input{min-height:52px;font-size:16px;border-radius:12px}
  .btn{min-height:52px;font-size:1rem}
  .scroll-hint{display:none}
  .split-intro,.story-grid,.security-grid,.location-grid,.cta-content{display:flex;flex-direction:column}
  .section-title h2,.section-head h2,.story-copy h2,.location-copy h2,.cta-content h2{font-size:clamp(2.1rem,9vw,3.2rem);line-height:1.02;letter-spacing:-.025em}
  .intro-copy>p,.story-copy p,.location-copy p,.cta-content p{font-size:1rem;line-height:1.6}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:32px}
  .stats strong{font-size:1.25rem}
  .stats span{font-size:.9rem}
  .image-band{height:72svh;min-height:480px}
  .image-band img{object-position:center}
  .band-copy{left:20px;right:20px;bottom:32px;width:auto}
  .band-copy strong{font-size:clamp(2.25rem,11vw,3.6rem)}
  .feature-grid{display:flex;grid-template-columns:none;gap:16px;overflow-x:auto;margin:0 -20px;padding:2px 20px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .feature{flex:0 0 82vw;min-height:260px;scroll-snap-align:start;padding:28px 24px}
  .feature h3{font-size:1.75rem;margin-top:28px}
  .feature p{font-size:1rem;line-height:1.55}
  .gallery.masonry{display:flex;grid-template-columns:none;gap:16px;overflow-x:auto;margin:0 -20px;padding:0 20px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .gallery figure,.gallery figure.wide{flex:0 0 86vw;grid-column:auto;height:430px;scroll-snap-align:center;border-radius:22px}
  .gallery figcaption{font-size:.9rem;padding:10px 14px}
  .story-images{order:2;padding:0;margin-top:6px}
  .story-images .main{height:420px;border-radius:22px}
  .story-images .floating{position:relative;left:auto;bottom:auto;width:72%;height:190px;margin:-70px 0 0 auto;border-width:6px}
  .check-list li{font-size:1rem;line-height:1.45;padding-top:13px;padding-bottom:13px}
  .story-copy .btn{width:100%;margin-top:4px}
  .unit-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;margin:0 -20px 22px;padding:0 20px 8px;white-space:nowrap;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .tab{flex:0 0 auto;min-height:44px;font-size:.95rem;scroll-snap-align:start}
  .tab-panel{padding:18px;border-radius:22px;gap:18px}
  .tab-panel.active{display:flex;flex-direction:column}
  .tab-panel img{height:auto;max-height:none;width:100%;object-fit:contain}
  .tab-panel h3{font-size:2.35rem}
  .tab-panel p{font-size:1rem;line-height:1.55}
  .note{font-size:.86rem;line-height:1.45}
  .interior-grid{display:flex;gap:16px;overflow-x:auto;margin:0 -20px;padding:0 20px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .interior-grid figure{flex:0 0 86vw;height:430px;scroll-snap-align:center;border-radius:22px}
  .spec-grid{grid-template-columns:1fr 1fr}
  .spec-grid span{font-size:.94rem;line-height:1.35}
  .mini-cards{grid-template-columns:1fr;gap:14px}
  .mini-cards div{padding:24px;border-radius:18px}
  .mini-cards h3{font-size:1.55rem}
  .mini-cards p{font-size:1rem;line-height:1.55}
  .location-copy{order:1}
  .location-media{order:2}
  .location-media img{height:420px;border-radius:22px}
  .places{gap:9px}
  .places span{font-size:.9rem;padding:9px 12px}
  .cta{min-height:auto}
  .cta-bg{background-position:center}
  .cta-content{padding:78px 0}
  .cta-form{grid-template-columns:1fr;padding:18px;border-radius:22px}
  .cta-form input:first-child,.cta-form .btn,.cta-form .form-status{grid-column:auto}
  footer{padding-bottom:calc(108px + env(safe-area-inset-bottom))}
  .footer-grid{grid-template-columns:1fr;gap:18px}
  .footer-grid>a{text-align:left;min-height:44px;display:inline-flex;align-items:center}
  .footer-grid p{font-size:.94rem;line-height:1.55}
  .legal{font-size:.78rem;line-height:1.55}
  .mobile-sticky-cta{position:fixed;z-index:50;left:18px;right:18px;bottom:calc(14px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;background:var(--terracotta);color:#fff;font-weight:800;box-shadow:0 14px 38px rgba(0,0,0,.22)}
}

@media(max-width:480px){
  .wrap{padding-left:18px;padding-right:18px}
  .topbar{height:70px;padding:0 18px}
  .topbar .btn-small{display:none}
  .hero-content{padding-top:96px;padding-bottom:38px;gap:24px}
  .hero-media{background-position:61% top}
  h1{font-size:clamp(2.65rem,13vw,3.55rem);max-width:8.7ch}
  h2{font-size:clamp(2rem,10vw,2.85rem)}
  .hero-copy p{font-size:1rem;max-width:29ch}
  .hero-pills{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}
  .lead-card{padding:24px 20px}
  .lead-card h2{font-size:clamp(1.9rem,9.6vw,2.35rem)}
  .feature-grid,.gallery.masonry,.interior-grid,.unit-tabs{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}
  .feature{flex-basis:84vw}
  .gallery figure,.gallery figure.wide,.interior-grid figure{flex-basis:86vw;height:360px}
  .story-images .main{height:360px}
  .story-images .floating{height:160px}
  .location-media img{height:360px}
  .stats{gap:14px}
  .stats div{padding-top:13px}
  .spec-grid{grid-template-columns:1fr}
}

@media(max-width:360px){
  h1{font-size:2.45rem}
  .hero-pills span{font-size:.84rem;padding:9px 12px}
  .lead-card{padding:22px 18px}
  .feature{flex-basis:86vw}
  .gallery figure,.gallery figure.wide,.interior-grid figure{height:330px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* Phase 2.2 - Motion and visual polish. Keeps the original landing layout as the visual source of truth. */
:root{
  --motion-fast:240ms;
  --motion-base:520ms;
  --motion-slow:820ms;
  --motion-hero:1200ms;
  --ease-premium:cubic-bezier(.22,1,.36,1);
  --ease-soft:cubic-bezier(.2,.72,.2,1);
}

html,body{overflow-x:hidden}

@keyframes premium-entry{
  from{opacity:0;transform:translate3d(0,24px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

@keyframes hero-breath{
  from{background-size:102%}
  to{background-size:106%}
}

@keyframes tab-panel-in{
  from{opacity:0;transform:translate3d(0,14px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

.topbar{
  transition:height var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease,backdrop-filter var(--motion-fast) ease,padding var(--motion-fast) ease;
}

.topbar.is-scrolled{
  position:fixed;
  height:68px;
  background:rgba(0,61,41,.82);
  backdrop-filter:blur(18px);
  box-shadow:0 16px 44px rgba(0,30,20,.16);
}

.nav a{
  position:relative;
  transition:opacity var(--motion-fast) ease,color var(--motion-fast) ease;
}

.nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--motion-fast) var(--ease-premium);
}

.nav a:hover::after{transform:scaleX(1)}

.btn,.mobile-sticky-cta{
  overflow:hidden;
  transition:transform var(--motion-fast) var(--ease-premium),filter var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease;
}

.btn::after,.mobile-sticky-cta::after{
  content:"\2192";
  display:inline-block;
  margin-left:.55rem;
  transition:transform var(--motion-fast) var(--ease-premium);
}

.btn:hover::after,.mobile-sticky-cta:hover::after{transform:translateX(4px)}

.hero-media,.image-band img,.story-images .main,.location-media img,.cta-bg{
  will-change:transform;
}

.hero-media{
  transform:none;
  background-size:102%;
  background-position:center calc(50% + var(--parallax-y,0px));
}

  .hero-pills span,.places span,.tab{
  transition:background var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-premium),box-shadow var(--motion-fast) ease;
}

.reveal{
  --reveal-x:0px;
  --reveal-y:24px;
  --reveal-scale:1;
  opacity:0;
  transform:translate3d(var(--reveal-x),var(--reveal-y),0) scale(var(--reveal-scale));
  transition:opacity var(--motion-slow) var(--ease-premium),transform var(--motion-slow) var(--ease-premium);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform;
}

.reveal.in{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.reveal-up{--reveal-y:24px}
.reveal-left{--reveal-x:-28px;--reveal-y:0px}
.reveal-right{--reveal-x:28px;--reveal-y:0px}
.reveal-scale{--reveal-y:12px;--reveal-scale:.975}
.reveal-image{--reveal-y:18px;--reveal-scale:.985}

.warm,.dark-section,.security{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.warm::before,.dark-section::before,.security::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
}

.warm::before{
  background:linear-gradient(115deg,rgba(255,255,255,.12),rgba(255,255,255,0) 42%);
}

.dark-section::before{
  background:linear-gradient(145deg,rgba(211,168,113,.12),rgba(211,168,113,0) 38%);
}

.security::before{
  background:linear-gradient(145deg,rgba(169,219,231,.22),rgba(169,219,231,0) 40%);
}

.gallery figcaption,.interior-grid figcaption{
  transition:transform var(--motion-base) var(--ease-premium),background var(--motion-fast) ease;
}

.tab-panel.is-leaving{
  opacity:0;
  transform:translate3d(0,-10px,0);
  transition:opacity 180ms ease,transform 180ms ease;
}

.tab-panel.active{
  animation:tab-panel-in 380ms var(--ease-premium) both;
}

.tab-panel.is-entering{
  animation:tab-panel-in 420ms var(--ease-premium) both;
}

@media(prefers-reduced-motion:no-preference){
  .topbar,.hero .eyebrow,.hero h1,.hero-copy p,.hero-pills,.lead-card{
    opacity:0;
    animation:premium-entry var(--motion-hero) var(--ease-premium) forwards;
  }

  .topbar{animation-delay:40ms}
  .hero .eyebrow{animation-delay:150ms}
  .hero h1{animation-delay:260ms}
  .hero-copy p{animation-delay:380ms}
  .hero-pills{animation-delay:500ms}
  .lead-card{animation-delay:650ms}
}

@media(min-width:769px) and (prefers-reduced-motion:no-preference){
  .hero-media{
    animation:hero-breath 22s var(--ease-soft) both alternate infinite;
  }

  .image-band img,.story-images .main,.location-media img,.cta-bg{
    transform:translate3d(0,var(--parallax-y,0),0);
    transition:transform .18s linear;
  }

  .cta-bg{
    transform:none;
    background-position:center calc(50% + var(--parallax-y,0px));
    transition:background-position .18s linear;
  }
}

@media(hover:hover) and (pointer:fine){
  .feature,.mini-cards div,.lead-card,.cta-form,.places span,.stats div{
    transition:transform var(--motion-base) var(--ease-premium),box-shadow var(--motion-base) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease;
  }

  .feature:hover,.mini-cards div:hover,.lead-card:hover,.cta-form:hover{
    transform:translateY(-5px);
    box-shadow:0 28px 70px rgba(20,20,20,.16);
  }

  .gallery figure:hover img,.interior-grid figure:hover img{
    transform:scale(1.045);
  }

  .gallery figure:hover figcaption,.interior-grid figure:hover figcaption{
    transform:translateY(-4px);
  }

  .hero-pills span:hover,.places span:hover,.tab:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(20,20,20,.08);
  }
}

@media(max-width:1024px){
  .reveal-left,.reveal-right{
    --reveal-x:0px;
    --reveal-y:22px;
  }
}

@media(max-width:768px){
  .topbar.is-scrolled{
    height:66px;
    padding-left:20px;
    padding-right:20px;
  }

  .hero-media,.image-band img,.story-images .main,.location-media img,.cta-bg{
    transform:none!important;
    will-change:auto;
  }

  .hero-media{
    background-position:57% center!important;
    background-size:cover!important;
  }

  .btn:hover,.mobile-sticky-cta:hover,.feature:hover,.mini-cards div:hover,.lead-card:hover,.cta-form:hover{
    transform:none;
  }

  .reveal-left,.reveal-right{
    --reveal-x:0px;
    --reveal-y:20px;
  }
}

@media(max-width:480px){
  .topbar.is-scrolled{
    height:64px;
    padding-left:18px;
    padding-right:18px;
  }

  .hero-media{
    background-position:61% top!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation:none!important;
    transition-duration:.01ms!important;
    transition-delay:0ms!important;
  }
  .topbar,.hero .eyebrow,.hero h1,.hero-copy p,.hero-pills,.lead-card,.reveal{
    opacity:1!important;
    transform:none!important;
  }
  .hero-media,.image-band img,.story-images .main,.location-media img,.cta-bg{
    transform:none!important;
  }
}

/* Phase 2.3 - Mobile app experience. Desktop remains structurally preserved. */
.mobile-app-nav,.app-sheet-backdrop,.app-sheet,.lightbox,.mobile-inline-cta,.carousel-dots,.mobile-more-button,.plant-detail-btn{display:none}
.app-sheet-backdrop[hidden],.app-sheet[hidden],.lightbox[hidden]{display:none!important}

@media(max-width:768px){
  body{
    padding-bottom:calc(104px + env(safe-area-inset-bottom));
  }

  body.sheet-open{
    overflow:hidden;
    touch-action:none;
  }

  .mobile-sticky-cta{display:none!important}

  .hero{
    min-height:auto;
  }

  .hero-content{
    min-height:80svh;
    justify-content:flex-end;
    padding-bottom:calc(104px + env(safe-area-inset-bottom));
  }

  .hero-copy{
    display:grid;
    gap:14px;
    min-width:0;
  }

  .mobile-inline-cta{
    display:inline-flex;
    width:max-content;
  }

  .hero-copy .btn-mobile-primary{
    justify-self:start;
  }

  .hero .lead-card{
    display:none;
  }

  .hero-pills{
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
    max-width:100%;
  }

  .section{
    padding:40px 0;
  }

  .section-head{
    margin-bottom:30px;
  }

  .split-intro{
    gap:28px;
  }

  .image-band{
    height:42svh;
    min-height:280px;
  }

  .feature-grid,.gallery.masonry,.interior-grid,.story-copy .check-list,.places{
    width:100%;
    max-width:100%;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:18px!important;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }

  .feature-grid::-webkit-scrollbar,.gallery.masonry::-webkit-scrollbar,.interior-grid::-webkit-scrollbar,.unit-tabs::-webkit-scrollbar,.places::-webkit-scrollbar{
    display:none;
  }

  .feature-grid{
    padding-bottom:8px;
  }

  .feature{
    flex-basis:84%;
    border-radius:24px;
    min-height:226px;
    box-shadow:0 18px 42px rgba(20,20,20,.08);
  }

  .gallery-section.section{
    padding-bottom:52px;
  }

  .gallery.masonry{
    scroll-behavior:smooth;
  }

  .gallery figure,.gallery figure.wide{
    flex-basis:82vw;
    height:292px;
    cursor:zoom-in;
  }

  .gallery figure::after,.interior-grid figure::after,.tab-panel::after{
    content:"Toque para ampliar";
    position:absolute;
    right:14px;
    top:14px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(0,61,41,.74);
    color:#fff;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.05em;
    opacity:.9;
    backdrop-filter:blur(12px);
  }

  .carousel-dots{
    display:flex;
    justify-content:center;
    gap:7px;
    margin-top:15px;
  }

  .carousel-dot{
    width:7px;
    height:7px;
    border:0;
    border-radius:999px;
    padding:0;
    background:rgba(255,255,255,.42);
    transition:width var(--motion-fast) var(--ease-premium),background var(--motion-fast) ease;
  }

  .features .carousel-dot,.units .carousel-dot,.security .carousel-dot,.location .carousel-dot{
    background:rgba(0,91,59,.22);
  }

  .carousel-dot.active{
    width:22px;
    background:var(--terracotta);
  }

  .story-grid{
    gap:26px;
  }

  .story-grid>*{
    min-width:0;
    max-width:100%;
  }

  .story-copy .check-list{
    display:flex;
    gap:9px;
    overflow-x:auto;
    margin-top:22px!important;
    margin-bottom:22px!important;
    padding-bottom:8px!important;
    scroll-snap-type:x mandatory;
  }

  .story-copy .check-list li{
    flex:0 0 auto;
    min-height:42px;
    max-width:78vw;
    padding:10px 14px;
    border:1px solid rgba(0,91,59,.16);
    border-radius:999px;
    background:#fff;
    box-shadow:0 10px 24px rgba(20,20,20,.06);
    font-size:.9rem;
    white-space:nowrap;
    scroll-snap-align:start;
  }

  .story-copy .btn{
    width:100%;
    max-width:100%;
  }

  .story-copy .check-list li::before{display:none}

  .story-images .main{
    height:260px;
  }

  .story-images .floating{
    display:none;
  }

  .units .section-head{
    margin-bottom:24px;
  }

  .unit-tabs{
    position:sticky;
    top:74px;
    z-index:6;
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.78));
    backdrop-filter:blur(14px);
    border-radius:999px;
    padding-top:8px;
    padding-bottom:8px;
  }

  .tab-panel{
    position:relative;
    padding:16px;
    border-radius:26px;
  }

  .tab-panel img{
    border-radius:20px;
    cursor:zoom-in;
  }

  .plant-detail-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:12px;
    width:100%;
  }

  .interior-grid figure{
    flex-basis:82vw;
    height:290px;
    cursor:zoom-in;
  }

  .spec-grid{
    margin-top:24px;
  }

  .security-grid{
    gap:26px;
  }

  .mini-cards{
    display:grid;
  }

  .mini-cards div:nth-child(n+4){
    display:none;
  }

  .mobile-more-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    margin-top:14px;
    padding:0 18px;
    border:1px solid rgba(0,91,59,.18);
    border-radius:999px;
    background:#fff;
    color:var(--green);
    font:inherit;
    font-weight:800;
    box-shadow:0 12px 26px rgba(20,20,20,.06);
  }

  .places{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:8px!important;
    scroll-snap-type:x mandatory;
  }

  .places span{
    flex:0 0 auto;
    scroll-snap-align:start;
  }

  .places span:nth-child(n+4){
    display:none;
  }

  .location-media img{
    height:290px;
  }

  .cta{
    min-height:340px;
  }

  .cta-content{
    padding:54px 0 calc(108px + env(safe-area-inset-bottom));
  }

  .cta-form{
    display:none;
  }

  .cta-content .mobile-inline-cta{
    margin-top:18px;
  }

  .mobile-app-nav{
    position:fixed;
    z-index:80;
    left:16px;
    right:16px;
    bottom:calc(12px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:repeat(4,1fr) 1.18fr .78fr;
    gap:4px;
    align-items:center;
    min-height:68px;
    padding:7px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:30px;
    background:rgba(10,48,41,.70);
    box-shadow:0 16px 42px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter:blur(24px) saturate(160%);
    -webkit-backdrop-filter:blur(24px) saturate(160%);
    transition:transform var(--motion-fast) var(--ease-premium),min-height var(--motion-fast) ease,background var(--motion-fast) ease;
  }

  .mobile-app-nav::before{
    content:"";
    position:absolute;
    inset:1px 1px auto;
    height:45%;
    border-radius:29px 29px 18px 18px;
    background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.02));
    pointer-events:none;
  }

  .mobile-app-nav.is-compact{
    min-height:60px;
    transform:translateY(4px);
    background:rgba(10,48,41,.76);
  }

  .mobile-nav-item{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-width:0;
    min-height:48px;
    border:0;
    border-radius:22px;
    background:transparent;
    color:rgba(255,255,255,.78);
    font:inherit;
    font-size:.66rem;
    font-weight:800;
    line-height:1;
    transition:background var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-premium);
  }

  .mobile-nav-item svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-nav-item.active{
    background:rgba(255,255,255,.14);
    color:#fff;
  }

  .mobile-nav-cta{
    flex-direction:row;
    gap:5px;
    background:var(--terracotta);
    color:#fff;
    box-shadow:0 12px 28px rgba(191,93,61,.28);
  }

  .app-sheet-backdrop{
    position:fixed;
    z-index:88;
    inset:0;
    display:block;
    background:rgba(5,18,15,.34);
    backdrop-filter:blur(10px);
    opacity:0;
    pointer-events:none;
    transition:opacity var(--motion-fast) ease;
  }

  .app-sheet-backdrop.is-open{
    opacity:1;
    pointer-events:auto;
  }

  .app-sheet{
    position:fixed;
    z-index:90;
    left:12px;
    right:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    display:block;
    max-height:min(75vh,680px);
    overflow:auto;
    padding:18px 18px 22px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:30px;
    background:rgba(246,240,230,.88);
    box-shadow:0 22px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.38);
    backdrop-filter:blur(26px) saturate(155%);
    -webkit-backdrop-filter:blur(26px) saturate(155%);
    transform:translateY(calc(100% + 28px));
    opacity:0;
    pointer-events:none;
    transition:transform var(--motion-base) var(--ease-premium),opacity var(--motion-fast) ease;
  }

  .app-sheet::before{
    content:"";
    position:absolute;
    inset:1px 1px auto;
    height:92px;
    border-radius:29px 29px 18px 18px;
    background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.04));
    pointer-events:none;
  }

  .app-sheet.is-open{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }

  .sheet-handle{
    position:relative;
    z-index:1;
    width:48px;
    height:5px;
    margin:0 auto 18px;
    border-radius:999px;
    background:rgba(0,61,41,.24);
  }

  .sheet-close,.lightbox-close{
    position:absolute;
    z-index:2;
    right:14px;
    top:12px;
    width:40px;
    height:40px;
    border:0;
    border-radius:50%;
    background:rgba(0,61,41,.12);
    color:var(--green-dark);
    font-size:1.45rem;
    line-height:1;
  }

  .app-sheet h2{
    position:relative;
    z-index:1;
    font-size:2rem;
    margin-bottom:10px;
  }

  .app-sheet p,.app-sheet small{
    position:relative;
    z-index:1;
  }

  .sheet-form{
    position:relative;
    z-index:1;
  }

  .sheet-form label{
    display:block;
    font-size:.8rem;
    font-weight:800;
    margin:12px 0 6px;
  }

  .sheet-form input{
    width:100%;
    min-height:52px;
    border:1px solid #ded5c8;
    border-radius:14px;
    padding:13px 14px;
    background:#fff;
    font:inherit;
  }

  .sheet-form small{
    display:block;
    margin-top:10px;
    color:#766e66;
    font-size:.72rem;
  }

  .menu-sheet a{
    position:relative;
    z-index:1;
    display:flex;
    min-height:50px;
    align-items:center;
    border-bottom:1px solid rgba(0,61,41,.1);
    color:var(--green-dark);
    font-weight:800;
  }

  .menu-sheet .btn{
    position:relative;
    z-index:1;
    margin-top:18px;
  }

  .info-sheet-content{
    position:relative;
    z-index:1;
    display:grid;
    gap:10px;
  }

  .info-sheet-content span,.info-sheet-content div{
    display:block;
    padding:14px;
    border-radius:18px;
    background:rgba(255,255,255,.68);
    color:var(--green-dark);
    font-weight:800;
  }

  .lightbox{
    position:fixed;
    z-index:110;
    inset:0;
    display:grid;
    place-items:center;
    padding:22px;
    background:rgba(4,16,13,.82);
    backdrop-filter:blur(20px);
    opacity:0;
    pointer-events:none;
    transition:opacity var(--motion-fast) ease;
  }

  .lightbox.is-open{
    opacity:1;
    pointer-events:auto;
  }

  .lightbox figure{
    margin:0;
    width:100%;
    max-width:920px;
  }

  .lightbox img{
    width:100%;
    max-height:76vh;
    object-fit:contain;
    border-radius:14px;
  }

  .lightbox figcaption{
    margin-top:12px;
    color:#fff;
    text-align:center;
    font-weight:800;
  }

  .lightbox-close{
    position:fixed;
    background:rgba(255,255,255,.14);
    color:#fff;
  }

  .lightbox-arrow{
    position:fixed;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:58px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:2rem;
    backdrop-filter:blur(12px);
  }

  .lightbox-prev{left:12px}
  .lightbox-next{right:12px}
}

@media(max-width:430px){
  .mobile-app-nav{
    grid-template-columns:repeat(4,1fr) 1.14fr .72fr;
    left:12px;
    right:12px;
    min-height:64px;
    border-radius:28px;
  }

  .mobile-nav-item{
    min-height:46px;
    font-size:.62rem;
  }

  .mobile-nav-item svg{
    width:17px;
    height:17px;
  }

  .mobile-nav-cta span{
    max-width:52px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-nav-menu span{
    display:none;
  }
}

@media(max-width:370px){
  .mobile-nav-item:not(.mobile-nav-cta) span{
    display:none;
  }

  .mobile-nav-cta span{
    display:inline;
    max-width:48px;
  }
}
