:root{--color-primary:#133f6f;--color-primary-dark:#00001d;--color-secondary:#0071d1;--color-accent:#00d2ab;--color-accent-dark:#00ad90;--color-accent-light:#4bfadb;--color-purple:#8d4bf6;--color-background:#fdfefe;--color-surface:#fff;--color-surface-soft:#edf6fb;--color-text:#00001d;--color-text-muted:#5f6f82;--color-border:rgba(19,63,111,.14);--font-heading:"Roboto",sans-serif;--font-body:"Roboto",sans-serif;--container-width:1240px;--section-spacing:120px;--radius-small:12px;--radius-medium:24px;--radius-large:36px;--shadow:0 22px 60px rgba(19,63,111,.14)}
html,body{max-width:100%;overflow-x:hidden}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none;cursor:pointer}button{font:inherit}.container{width:min(calc(100% - 48px),var(--container-width));margin-inline:auto}.section{padding:var(--section-spacing) 0}.skip-link{position:fixed;left:16px;top:-100px;z-index:999;padding:12px 16px;background:var(--color-accent);color:var(--color-primary-dark);border-radius:8px}.skip-link:focus{top:16px}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:var(--color-secondary);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.eyebrow>span:first-child{width:28px;height:1px;background:currentColor}h1,h2,h3{font-family:var(--font-heading);margin:0;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.25rem,5.8vw,5.9rem)}h2{font-size:clamp(2.4rem,4.4vw,4.4rem)}h3{font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.035em}em{color:var(--color-secondary);font-style:normal}.lead{font-size:1.17rem;color:var(--color-text-muted);max-width:620px}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:12px;padding:14px 22px;border:1px solid var(--color-primary);border-radius:999px;background:var(--color-primary);color:#fff;font-weight:700;line-height:1.2;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(4,42,46,.16)}.button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #f1c84b;outline-offset:4px}.button-small{min-height:44px;padding:10px 18px;font-size:.9rem}.button-ghost,.button-outline{background:transparent;color:var(--color-primary)}.button-light{background:#fff;color:var(--color-primary);border-color:#fff}.button-accent{background:var(--color-accent);color:var(--color-primary-dark);border-color:var(--color-accent)}.button-dark-ghost{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}.centered{margin-inline:auto}.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--color-primary);font-weight:700;border-bottom:1px solid currentColor}.mini-label{display:inline-block;color:inherit;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:84px;transition:background .3s,box-shadow .3s}.site-header.scrolled{background:rgba(246,247,242,.94);box-shadow:0 6px 25px rgba(4,42,46,.08);backdrop-filter:blur(12px)}.nav-wrap{height:100%;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:9px;font-family:var(--font-heading);font-size:1.2rem;font-weight:800;line-height:.9}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--color-primary);color:var(--color-accent);font-size:1rem}.brand small{display:block;margin-top:5px;color:var(--color-text-muted);font:500 .62rem var(--font-body);letter-spacing:.15em;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:.9rem;font-weight:600}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--color-primary);transition:right .25s}.main-nav a:hover:after{right:0}.menu-toggle{display:none}.hero{position:relative;padding:145px 0 0;background:radial-gradient(circle at 76% 25%,rgba(215,241,104,.25),transparent 28%),linear-gradient(180deg,#f3f6ef 0,var(--color-background) 100%)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px}.hero-copy em{position:relative;display:inline-block}.hero-copy em:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:9px;z-index:-1;background:var(--color-accent);transform:rotate(-1deg)}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:54px;border-top:1px solid var(--color-border)}.hero-metrics div{padding:22px 18px 0 0}.hero-metrics strong,.hero-metrics span{display:block}.hero-metrics strong{font-family:var(--font-heading);font-size:1.05rem}.hero-metrics span{color:var(--color-text-muted);font-size:.78rem}.hero-visual{position:relative;min-height:640px}.hero-visual>img{width:100%;height:640px;border-radius:180px 24px 24px 24px;box-shadow:var(--shadow)}.visual-grid,.closing-grid{position:absolute;inset:10% -10% auto 70%;height:180px;background-image:linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:28px 28px}.meter-tag,.asset-tag,.garage-tag{position:absolute;background:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow)}.meter-tag{left:-48px;bottom:55px;width:270px;padding:20px;border-radius:20px}.meter-tag span,.asset-tag small{display:block;color:var(--color-text-muted);font-size:.65rem;letter-spacing:.12em}.meter-tag strong{display:block;margin:5px 0 15px;font-family:var(--font-heading)}.meter{height:6px;border-radius:6px;background:var(--color-surface-soft)}.meter i{display:block;width:58%;height:100%;border-radius:inherit;background:var(--color-accent)}.asset-tag{right:-20px;top:55px;display:flex;align-items:center;gap:10px;padding:15px 18px;border-radius:15px}.asset-tag strong{display:block;font-size:.85rem}.pulse{width:10px;height:10px;border-radius:50%;background:#3fa167;box-shadow:0 0 0 6px rgba(63,161,103,.14)}.garage-tag{right:-25px;bottom:90px;display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px}.garage-tag strong,.garage-tag small{display:block}.garage-tag small{color:var(--color-text-muted);font-size:.7rem}.parking{display:grid;place-items:center;width:38px;height:38px;background:var(--color-primary);color:var(--color-accent);border-radius:9px;font:bold 1.2rem var(--font-heading)}.monthly-strip{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:62px;padding:25px 30px;border-radius:22px 22px 0 0;background:var(--color-accent);color:var(--color-primary-dark)}.monthly-strip>div:first-child{display:flex;align-items:center;gap:24px}.monthly-strip .mini-label{padding:6px 10px;border:1px solid rgba(4,42,46,.3);border-radius:999px}.strip-detail{display:flex;align-items:center;gap:30px}.strip-detail>span{font-weight:700}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.rich-copy{max-width:540px;color:var(--color-text-muted);font-size:1.05rem}.rich-copy p:first-child{margin-top:0;color:var(--color-text);font-size:1.2rem}.rich-copy .text-link{margin-top:16px}.section-head{max-width:800px;margin:0 0 52px}.section-head h2{max-width:760px}.split-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.image-card{position:relative;min-height:600px;overflow:hidden;border-radius:var(--radius-large);background:var(--color-primary);color:#fff}.image-card>img{position:absolute;width:100%;height:100%;opacity:.65;transition:transform .7s}.image-card:hover>img{transform:scale(1.035)}.image-card:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(4,42,46,.96))}.image-card-garage:after{background:linear-gradient(transparent,rgba(23,49,44,.98))}.card-index{position:absolute;z-index:2;top:25px;right:25px;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);border-radius:50%}.image-card-copy{position:absolute;z-index:2;left:36px;right:36px;bottom:36px}.image-card-copy h3{max-width:500px;margin:12px 0}.image-card-copy p{max-width:540px;color:rgba(255,255,255,.78)}.garage-feature{background:var(--color-primary-dark);color:#fff;overflow:hidden}.garage-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.eyebrow-light{color:var(--color-accent)}.garage-copy h2 em,.closing h2 em{color:var(--color-accent)}.garage-copy>p:not(.eyebrow){max-width:560px;color:rgba(255,255,255,.7);font-size:1.05rem}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:32px 0;padding:0;list-style:none}.check-list li{padding:14px 10px 14px 36px;position:relative;border-bottom:1px solid rgba(255,255,255,.14)}.check-list li:before{content:"✓";position:absolute;left:3px;color:var(--color-accent);font-weight:700}.garage-visual{position:relative}.garage-visual>img{width:100%;height:650px;border-radius:24px 150px 24px 24px}.asset-pill{position:absolute;top:22px;left:22px;padding:8px 13px;border-radius:999px;background:#fff;color:var(--color-primary);font-size:.75rem;font-weight:700}.parking-card{position:absolute;left:-40px;right:40px;bottom:30px;display:flex;align-items:center;gap:15px;padding:18px;border-radius:18px;background:var(--color-accent);color:var(--color-primary-dark);box-shadow:var(--shadow)}.parking-card small,.parking-card strong{display:block}.parking-card small{font-size:.65rem;letter-spacing:.12em}.parking-card strong{font-family:var(--font-heading)}
.monthly-section{background:#eef1e9}.monthly-intro,.modalities-top,.trust-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;margin-bottom:48px}.monthly-intro>p,.modalities-top>p,.trust-intro>p{color:var(--color-text-muted);font-size:1.05rem}.monthly-card{display:grid;grid-template-columns:.82fr 1.18fr;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-large);background:#fff;box-shadow:0 20px 60px rgba(4,42,46,.07)}.monthly-image{position:relative;min-height:700px}.monthly-image img{width:100%;height:100%}.month-badge{position:absolute;top:25px;left:25px;padding:9px 14px;border-radius:999px;background:var(--color-accent);color:var(--color-primary-dark);font-size:.75rem;font-weight:700;text-transform:uppercase}.monthly-copy{padding:58px}.monthly-copy h3{margin:12px 0 24px;font-size:clamp(2rem,3vw,3.25rem)}.monthly-copy>p{color:var(--color-text-muted)}.planning-note{display:grid;grid-template-columns:auto 1fr;gap:20px;margin:25px 0;padding:18px;border-left:3px solid var(--color-accent);background:var(--color-surface-soft);font-size:.85rem}.planning-note span{color:var(--color-text-muted)}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:25px 0;padding:0;border-top:1px solid var(--color-border);list-style:none}.feature-list li{padding:15px 15px 15px 0;border-bottom:1px solid var(--color-border)}.feature-list strong,.feature-list span{display:block}.feature-list strong{font-size:.9rem}.feature-list span{color:var(--color-text-muted);font-size:.72rem}.monthly-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.monthly-footer small,.monthly-footer strong{display:block}.monthly-footer small{color:var(--color-text-muted);font-size:.65rem;letter-spacing:.1em}.fine-print{font-size:.71rem}.how{background:#fff}.timeline{display:grid;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;counter-reset:step}.timeline li{position:relative;padding:28px 28px 10px 0;border-top:1px solid var(--color-border)}.timeline li:after{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--color-secondary)}.timeline span{display:block;margin-bottom:50px;color:var(--color-secondary);font:700 .75rem var(--font-heading);letter-spacing:.12em}.timeline h3{font-size:1.25rem;letter-spacing:-.025em}.timeline p{color:var(--color-text-muted);font-size:.9rem}.how>.container>.button{display:flex;width:max-content;margin-top:50px}.card-grid{display:grid;gap:20px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.line-card{display:flex;min-height:350px;flex-direction:column;padding:34px;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:#fff;transition:transform .25s,box-shadow .25s}.line-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.line-card.featured{background:var(--color-accent)}.line-card .icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:55px;border-radius:50%;background:var(--color-surface-soft);font-size:1.4rem}.line-card.featured .icon{background:#fff}.line-card p{color:var(--color-text-muted)}.line-card .text-link{margin-top:auto;align-self:flex-start;font-size:.9rem}.modalities{background:#e8eeea}.modality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-medium);overflow:hidden}.mod-card{min-height:280px;padding:30px;background:#fff}.mod-card span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:70px;border-radius:50%;background:var(--color-surface-soft);font-weight:700;font-size:.75rem}.mod-card p{color:var(--color-text-muted);font-size:.9rem}.modalities>.container>.button-row{justify-content:center;margin-top:40px}.opportunity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.op-card{overflow:hidden;border-radius:var(--radius-medium);background:#fff;border:1px solid var(--color-border)}.op-card img{width:100%;height:300px}.op-card>div{position:relative;padding:24px}.op-card span{color:var(--color-secondary);font-size:.68rem;font-weight:700;letter-spacing:.12em}.op-card h3{margin:10px 0}.op-card p{color:var(--color-text-muted)}.op-card a{font-weight:700}.op-card.op-garage{background:var(--color-primary);color:#fff;transform:translateY(-15px)}.op-card.op-garage p{color:rgba(255,255,255,.7)}.op-card.op-garage span{color:var(--color-accent)}.projects{background:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{position:relative;overflow:hidden;min-height:540px;border-radius:var(--radius-medium);color:#fff}.project-card img{position:absolute;width:100%;height:100%;transition:transform .6s}.project-card:hover img{transform:scale(1.04)}.project-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,42,46,.9))}.project-card>div{position:absolute;z-index:2;inset:auto 25px 25px}.project-card span{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}.project-card p{margin:6px 55px 0 0;color:rgba(255,255,255,.72)}.project-card a{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:var(--color-primary)}.centered-link{width:max-content;margin:45px auto 0}.platform{background:var(--color-primary);color:#fff;overflow:hidden}.platform-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:80px}.platform-copy>p:not(.eyebrow){color:rgba(255,255,255,.7)}.dashboard{position:relative;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:#f8faf7;box-shadow:0 35px 80px rgba(0,0,0,.25);color:var(--color-text);transform:perspective(1000px) rotateY(-4deg)}.dash-top{height:48px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--color-border)}.dash-top .brand-mark{width:28px;height:28px;font-size:.7rem;margin-right:auto}.dash-top i{width:8px;height:8px;border-radius:50%;background:#d8dfdb}.dash-body{display:grid;grid-template-columns:60px 1fr;min-height:410px}.dash-side{padding-top:35px;border-right:1px solid var(--color-border)}.dash-side i{display:block;width:24px;height:6px;margin:0 auto 25px;border-radius:5px;background:#d8dfdb}.dash-main{padding:30px}.dash-main>span{font-size:.65rem;letter-spacing:.12em}.dash-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.dash-metrics i{height:70px;border-radius:12px;background:var(--color-surface-soft)}.dash-chart{display:flex;align-items:end;gap:12px;height:160px;padding:20px;border-radius:15px;background:#f0f4ef}.dash-chart b{flex:1;border-radius:5px 5px 0 0;background:var(--color-secondary)}.dash-chart b:nth-child(1){height:35%}.dash-chart b:nth-child(2){height:58%}.dash-chart b:nth-child(3){height:45%}.dash-chart b:nth-child(4){height:75%}.dash-chart b:nth-child(5){height:88%;background:var(--color-accent)}.dash-list{display:flex;gap:12px;margin-top:14px}.dash-list i{width:50%;height:40px;border-radius:8px;background:#e5ebe7}.phone{position:absolute;right:-35px;bottom:-45px;width:150px;height:290px;padding:20px;border:8px solid #15363a;border-radius:30px;background:#f8faf7;box-shadow:var(--shadow)}.phone span{font-weight:800}.phone i{display:block;height:45px;margin-top:16px;border-radius:8px;background:#e4ebe6}.phone i:nth-of-type(2){height:80px;background:var(--color-accent)}.trust-intro{align-items:start}.logo-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--color-border);border-radius:var(--radius-medium);overflow:hidden}.logo-card{min-height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-right:1px solid var(--color-border);background:#fff}.logo-card:last-child{border:0}.logo-card strong{font:800 1.2rem var(--font-heading);letter-spacing:.08em}.logo-card span{margin-top:14px;color:var(--color-text-muted);font-size:.75rem}.placeholder-note{text-align:right;color:var(--color-text-muted);font-size:.7rem}.advisor-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;border-radius:var(--radius-large);background:var(--color-surface-soft)}.advisor-card img{width:100%;height:100%;min-height:560px}.advisor-card>div{padding:60px}.advisor-card>div>p:not(.eyebrow){color:var(--color-text-muted)}.closing{padding-top:0}.closing-inner{position:relative;overflow:hidden;padding:90px max(40px,8vw);border-radius:var(--radius-large);background:var(--color-primary-dark);color:#fff;text-align:center}.closing-inner .eyebrow{justify-content:center}.closing-inner>p:not(.eyebrow){max-width:620px;margin:25px auto;color:rgba(255,255,255,.7)}.closing-inner .button-row{justify-content:center}.closing-grid{inset:auto -2% -15% auto;width:280px;opacity:.2}
.footer{padding:70px 0 25px;background:#052c30;color:#fff}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:45px;border-bottom:1px solid rgba(255,255,255,.14)}.brand-light .brand-mark{background:var(--color-accent);color:var(--color-primary)}.brand-light small{color:rgba(255,255,255,.5)}.footer-top p{color:rgba(255,255,255,.6)}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:40px;padding:50px 0}.footer-grid h3{margin-bottom:20px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.footer-grid a{display:block;margin:10px 0;color:rgba(255,255,255,.68);font-size:.9rem}.footer-grid a:hover{color:var(--color-accent)}.footer-cta{padding-left:30px;border-left:1px solid rgba(255,255,255,.14)}.footer-cta h3{font-size:1.4rem;text-transform:none;letter-spacing:-.03em}.footer-cta .button{display:inline-flex;color:var(--color-primary)}.footer-legal{display:grid;grid-template-columns:1.7fr .7fr;gap:70px;padding-top:25px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.45);font-size:.72rem}.footer-legal p:last-child{text-align:right}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.stagger .reveal:nth-child(2){transition-delay:.1s}.stagger .reveal:nth-child(3){transition-delay:.2s}.stagger .reveal:nth-child(4){transition-delay:.3s}
@media(max-width:1024px){:root{--section-spacing:95px}.main-nav{gap:13px;font-size:.78rem}.hero-grid{gap:35px}.hero-visual{min-height:560px}.hero-visual>img{height:560px}.asset-tag{right:10px}.garage-tag{right:5px}.meter-tag{left:-20px}.monthly-card{grid-template-columns:1fr}.monthly-image{min-height:480px;max-height:520px}.modality-grid{grid-template-columns:1fr 1fr}.garage-grid,.platform-grid{gap:45px}.project-card{min-height:480px}.advisor-card>div{padding:42px}}
@media(max-width:768px){:root{--section-spacing:78px}.container{width:min(calc(100% - 32px),var(--container-width))}.site-header{height:72px}.header-cta{display:none}.menu-toggle{display:flex;margin-left:auto;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;border-radius:50%;background:var(--color-primary)}.menu-toggle span{width:19px;height:2px;background:#fff;transition:transform .25s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{position:fixed;inset:72px 0 0;display:flex;align-items:stretch;flex-direction:column;gap:0;padding:35px 24px;background:var(--color-background);transform:translateX(100%);transition:transform .3s}.main-nav.open{transform:none}.main-nav a{padding:16px 4px;border-bottom:1px solid var(--color-border);font:700 1.1rem var(--font-heading)}.hero{padding-top:110px}.hero-grid,.intro-grid,.garage-grid,.platform-grid,.advisor-card{grid-template-columns:1fr}.hero-copy{order:1}.hero-visual{order:2;margin-top:20px}.hero-metrics{margin-top:38px}.monthly-strip{align-items:flex-start;flex-direction:column}.monthly-strip>div:first-child{align-items:flex-start;flex-direction:column;gap:10px}.strip-detail{width:100%;justify-content:space-between}.split-cards,.card-grid.three,.opportunity-grid,.project-grid{grid-template-columns:1fr}.image-card{min-height:570px}.garage-copy{order:1}.garage-visual{order:2}.garage-visual>img{height:530px}.parking-card{left:20px}.monthly-intro,.modalities-top,.trust-intro{grid-template-columns:1fr;gap:20px}.monthly-copy{padding:36px}.timeline{grid-template-columns:1fr 1fr;gap:30px}.card-grid.three{gap:14px}.line-card{min-height:280px}.line-card .icon{margin-bottom:30px}.op-card.op-garage{transform:none}.project-card{min-height:560px}.dashboard{margin-right:20px}.logo-grid{grid-template-columns:1fr 1fr}.logo-card{border-bottom:1px solid var(--color-border)}.advisor-card img{min-height:400px;max-height:470px}.footer-grid{grid-template-columns:1fr 1fr}.footer-cta{padding:25px 0 0;border-left:0}.footer-legal{grid-template-columns:1fr;gap:5px}.footer-legal p:last-child{text-align:left}}
@media(max-width:520px){:root{--section-spacing:64px}.container{width:min(calc(100% - 24px),var(--container-width))}h1{font-size:clamp(2.75rem,14vw,4rem)}h2{font-size:clamp(2.15rem,11vw,3.2rem)}.lead{font-size:1rem}.button-row{align-items:stretch;flex-direction:column}.button-row .button{width:100%}.hero-metrics{grid-template-columns:1fr;gap:0}.hero-metrics div{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:13px 0;border-bottom:1px solid var(--color-border)}.hero-metrics span{text-align:right}.hero-visual{min-height:470px}.hero-visual>img{height:470px;border-radius:100px 20px 20px 20px}.meter-tag{left:12px;bottom:18px;width:220px;padding:14px}.asset-tag{top:18px}.garage-tag{display:none}.monthly-strip{margin-top:35px;padding:22px 18px}.strip-detail{align-items:flex-start;flex-direction:column;gap:12px}.intro-grid{gap:35px}.image-card{min-height:520px}.image-card-copy{left:22px;right:22px;bottom:24px}.image-card-copy p{font-size:.9rem}.garage-visual>img{height:440px;border-radius:20px 90px 20px 20px}.check-list{grid-template-columns:1fr}.parking-card{left:12px;right:12px;bottom:15px}.monthly-image{min-height:330px}.monthly-copy{padding:26px 20px}.planning-note{grid-template-columns:1fr;gap:5px}.feature-list{grid-template-columns:1fr}.monthly-footer{align-items:stretch;flex-direction:column}.timeline{grid-template-columns:1fr;gap:12px}.timeline li{padding-bottom:18px}.timeline span{margin-bottom:20px}.modality-grid{grid-template-columns:1fr}.mod-card{min-height:220px}.mod-card span{margin-bottom:40px}.op-card img{height:250px}.project-card{min-height:480px}.dashboard{margin:0;transform:none}.dash-body{grid-template-columns:40px 1fr;min-height:330px}.dash-main{padding:18px}.dash-metrics{grid-template-columns:1fr}.dash-metrics i{height:42px}.dash-chart{height:120px}.phone{display:none}.logo-grid{grid-template-columns:1fr}.logo-card{min-height:125px;border-right:0}.advisor-card>div{padding:30px 22px}.advisor-card img{min-height:330px}.closing-inner{padding:65px 22px}.footer-top{align-items:flex-start;flex-direction:column;gap:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-cta{grid-column:1/-1}.footer-cta .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Identidad oficial Pilay Uruguay - Brandbook abril 2026 */
.brand{width:154px;flex:0 0 154px;line-height:1}
.brand img{width:100%;height:auto;object-fit:contain}
.brand-light{width:170px;flex-basis:170px;padding:8px 12px;border-radius:12px;background:#fdfefe}
.site-header.scrolled{background:rgba(253,254,254,.95);box-shadow:0 6px 25px rgba(19,63,111,.10)}
.hero{background:radial-gradient(circle at 76% 25%,rgba(0,210,171,.18),transparent 28%),linear-gradient(180deg,#edf6fb 0,#fdfefe 100%)}
.button{font-weight:900}
.button-accent{background:var(--color-accent-light);border-color:var(--color-accent-light)}
.pulse{background:var(--color-accent);box-shadow:0 0 0 6px rgba(0,210,171,.16)}
.monthly-section,.modalities{background:#edf6fb}
.garage-feature,.closing-inner{background:var(--color-primary-dark)}
.platform{background:var(--color-primary)}
.footer{background:var(--color-primary-dark)}
.phone{border-color:var(--color-primary)}
.dash-chart b{background:var(--color-secondary)}
.dash-chart b:nth-child(5){background:var(--color-accent)}
.button:focus-visible,a:focus-visible,button:focus-visible{outline-color:var(--color-purple)}
.bcu-panel{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:48px;padding:42px;border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-primary);color:#fff;box-shadow:var(--shadow)}
.bcu-mark{display:grid;place-items:center;min-height:160px;border:2px solid var(--color-accent);border-radius:var(--radius-medium);color:var(--color-accent-light);font:900 clamp(2.5rem,6vw,4.5rem)/1 var(--font-heading);letter-spacing:-.06em}
.bcu-panel span{color:var(--color-accent-light);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.bcu-panel h3{margin:10px 0 14px;font-size:clamp(1.8rem,3vw,3rem)}
.bcu-panel p{max-width:690px;color:rgba(255,255,255,.72)}
.bcu-panel .text-link{color:#fff}
@media(max-width:768px){.bcu-panel{grid-template-columns:1fr;padding:30px;gap:28px}.bcu-mark{min-height:120px}}

/* Estados interactivos: el aqua comunica interacción, no selección previa. */
.button-accent,
.button-light {
  background: #fff;
  border-color: #fff;
  color: var(--color-primary);
}

.line-card,
.line-card.featured {
  background: #fff;
}

.line-card .icon,
.line-card.featured .icon {
  background: var(--color-surface-soft);
}

@media (hover: hover) and (pointer: fine) {
  .button:hover,
  .button-accent:hover,
  .button-light:hover,
  .button-ghost:hover,
  .button-outline:hover,
  .button-dark-ghost:hover {
    background: var(--color-accent-light);
    border-color: var(--color-accent-light);
    color: var(--color-primary-dark);
  }

  .line-card:hover {
    background: rgba(75, 250, 219, .18);
    border-color: rgba(0, 210, 171, .45);
  }

  .line-card:hover .icon {
    background: var(--color-accent-light);
  }
}

/* El dashboard entra como conjunto y luego construye sus datos por etapas. */
.dashboard .dash-metrics i,
.dashboard .dash-list i {
  opacity: 0;
  transform: translateY(18px);
}

.dashboard .dash-chart b {
  opacity: 0;
  transform: scaleY(0);
  transform-origin: center bottom;
}

.dashboard.visible .dash-metrics i,
.dashboard.visible .dash-list i {
  animation: dashboard-item-in .55s ease-out forwards;
}

.dashboard.visible .dash-metrics i:nth-child(1) { animation-delay: .28s; }
.dashboard.visible .dash-metrics i:nth-child(2) { animation-delay: .38s; }
.dashboard.visible .dash-metrics i:nth-child(3) { animation-delay: .48s; }
.dashboard.visible .dash-list i:nth-child(1) { animation-delay: 1.05s; }
.dashboard.visible .dash-list i:nth-child(2) { animation-delay: 1.15s; }

.dashboard.visible .dash-chart b {
  animation: dashboard-bar-rise .8s cubic-bezier(.22, 1, .36, 1) forwards;
}

.dashboard.visible .dash-chart b:nth-child(1) { animation-delay: .48s; }
.dashboard.visible .dash-chart b:nth-child(2) { animation-delay: .58s; }
.dashboard.visible .dash-chart b:nth-child(3) { animation-delay: .68s; }
.dashboard.visible .dash-chart b:nth-child(4) { animation-delay: .78s; }
.dashboard.visible .dash-chart b:nth-child(5) { animation-delay: .88s; }

@keyframes dashboard-item-in {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes dashboard-bar-rise {
  to { opacity: 1; transform: scaleY(1); }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard .dash-metrics i,
  .dashboard .dash-list i,
  .dashboard .dash-chart b {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}

.dash-logo {
  width: 96px;
  height: 40px;
  margin-right: auto;
  object-fit: contain;
}

.bcu-mark {
  padding: 28px;
}

.bcu-mark img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Marca conjunta M² + Pilay Uruguay con archivos SVG transparentes. */
.brand.brand-lockup {
  width: 218px;
  flex: 0 0 218px;
  gap: 10px;
}

.brand-lockup .brand-m2 {
  width: 105px;
  height: auto;
}

.brand-lockup .brand-pilay {
  width: 88px;
  height: auto;
}

.brand-separator {
  width: 1px;
  height: 28px;
  flex: 0 0 1px;
  background: var(--color-border);
}

.brand-lockup-footer {
  padding: 0;
  background: transparent;
}

.brand-lockup-footer .brand-separator {
  background: rgba(255, 255, 255, .25);
}

/* Respaldo institucional con mayor presencia de la marca BCU. */
.trust-intro {
  display: block;
}

.bcu-panel {
  grid-template-columns: 260px 1fr;
  gap: 40px;
}

.bcu-mark {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.bcu-mark img {
  width: 100%;
  max-width: 260px;
  margin-inline: auto;
}

.bcu-panel h3 {
  white-space: nowrap;
  font-size: clamp(1.8rem, 2.7vw, 2.6rem);
}

@media (min-width: 1025px) {
  .trust-intro h2 {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(2.6rem, 4vw, 4rem);
  }
}

@media (max-width: 1024px) {
  .brand.brand-lockup {
    width: 194px;
    flex-basis: 194px;
    gap: 8px;
  }

  .brand-lockup .brand-m2 { width: 92px; }
  .brand-lockup .brand-pilay { width: 78px; }
}

@media (max-width: 768px) {
  .brand.brand-lockup {
    width: 205px;
    flex-basis: 205px;
  }

  .brand-lockup .brand-m2 { width: 98px; }
  .brand-lockup .brand-pilay { width: 82px; }

  .bcu-panel h3 {
    white-space: normal;
  }

  .bcu-mark img {
    max-width: 280px;
  }
}

@media (max-width: 390px) {
  .brand.brand-lockup {
    width: 190px;
    flex-basis: 190px;
  }

  .brand-lockup .brand-m2 { width: 90px; }
  .brand-lockup .brand-pilay { width: 76px; }
}

/* Bloque protagonista de propiedades: misma jerarquía, lenguaje visual propio. */
.property-feature {
  background: var(--color-surface-soft);
  overflow: hidden;
}

.property-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.property-visual {
  position: relative;
}

.property-visual > img {
  width: 100%;
  height: 650px;
  border-radius: 150px 24px 24px 24px;
  box-shadow: var(--shadow);
}

.property-pill {
  position: absolute;
  top: 22px;
  right: 22px;
  padding: 8px 13px;
  border-radius: 999px;
  background: #fff;
  color: var(--color-primary);
  font-size: .75rem;
  font-weight: 700;
}

.property-card {
  position: absolute;
  left: 40px;
  right: -40px;
  bottom: 30px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px;
  border: 1px solid var(--color-border);
  border-radius: 18px;
  background: #fff;
  color: var(--color-primary-dark);
  box-shadow: var(--shadow);
}

.property-icon {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: var(--color-primary);
  color: var(--color-accent-light);
  font: 700 1.2rem var(--font-heading);
}

.property-card small,
.property-card strong {
  display: block;
}

.property-card small {
  color: var(--color-secondary);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.property-card strong {
  font-family: var(--font-heading);
}

.property-copy > p:not(.eyebrow) {
  max-width: 560px;
  color: var(--color-text-muted);
  font-size: 1.05rem;
}

.property-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 32px 0;
  padding: 0;
  list-style: none;
}

.property-list li {
  position: relative;
  padding: 14px 10px 14px 36px;
  border-bottom: 1px solid var(--color-border);
}

.property-list li::before {
  content: "✓";
  position: absolute;
  left: 3px;
  color: var(--color-secondary);
  font-weight: 900;
}

@media (max-width: 1024px) {
  .property-grid { gap: 45px; }
}

@media (max-width: 768px) {
  .property-grid { grid-template-columns: 1fr; }
  .property-copy { order: 1; }
  .property-visual { order: 2; }
  .property-visual > img { height: 530px; }
  .property-card { left: 20px; right: 20px; }
}

@media (max-width: 520px) {
  .property-visual > img {
    height: 440px;
    border-radius: 90px 20px 20px 20px;
  }

  .property-list { grid-template-columns: 1fr; }
  .property-card { left: 12px; right: 12px; bottom: 15px; }
}

/* Web oficial: el contenido queda deliberadamente simple y enfocado en el CTA. */
.platform-grid-simple {
  display: block;
}

.platform-grid-simple .platform-copy {
  max-width: 860px;
  margin-inline: auto;
  text-align: center;
}

.platform-grid-simple .eyebrow {
  justify-content: center;
}

.platform-grid-simple .platform-copy > p:not(.eyebrow) {
  max-width: 700px;
  margin: 24px auto 32px;
  font-size: 1.08rem;
}

.platform-grid-simple .button {
  width: max-content;
  margin-inline: auto;
}

/* Respaldo: logos oficiales en blanco y detalle accesible por hover o foco. */
.trust-intro {
  max-width: 920px;
  margin-bottom: 38px;
}

.trust-control-panel {
  position: relative;
  padding: clamp(38px, 5vw, 64px);
  border-radius: var(--radius-large);
  background: #0b4f91;
  color: #fff;
  box-shadow: var(--shadow);
}

.trust-control-panel > h3 {
  margin: 0 0 40px;
  color: #fff;
  text-align: center;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
}

.trust-logo-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.trust-logo {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  min-height: 160px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 18px;
  padding: 22px 14px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 18px;
  background: rgba(255, 255, 255, .035);
  color: #fff;
  font: inherit;
  cursor: help;
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.trust-logo:hover,
.trust-logo:focus-visible {
  z-index: 3;
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, .48);
  background: rgba(255, 255, 255, .1);
}

.trust-logo:focus-visible {
  outline: 3px solid var(--color-accent-light);
  outline-offset: 3px;
}

.trust-logo img {
  width: auto;
  max-width: min(100%, 180px);
  height: 54px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.trust-logo strong {
  color: rgba(255, 255, 255, .9);
  font-size: .68rem;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .055em;
  text-align: center;
  text-transform: uppercase;
}

.trust-tooltip {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  z-index: 5;
  width: min(250px, calc(100vw - 48px));
  padding: 14px 16px;
  border-radius: 12px;
  background: #fff;
  color: var(--color-primary-dark);
  box-shadow: 0 16px 38px rgba(0, 23, 52, .25);
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity .2s ease, transform .2s ease;
}

.trust-logo:hover .trust-tooltip,
.trust-logo:focus .trust-tooltip,
.trust-logo:focus-visible .trust-tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
}

.trust-help {
  margin: 38px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: .78rem;
  text-align: center;
}

@media (max-width: 900px) {
  .trust-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .platform-grid-simple .button { width: 100%; }
  .trust-control-panel { padding: 32px 18px 44px; }
  .trust-logo-grid { grid-template-columns: 1fr; }
  .trust-logo { min-height: 135px; }
  .trust-help { margin-top: 30px; }
}

/* Menú móvil: superficie opaca a pantalla completa para separar navegación y contenido. */
@media (max-width: 768px) {
  body.menu-open .site-header {
    background: #fff;
    box-shadow: none;
    backdrop-filter: none;
  }

  .main-nav {
    z-index: 110;
    width: 100%;
    height: calc(100vh - 72px);
    height: calc(100dvh - 72px);
    min-height: calc(100vh - 72px);
    padding: 28px 24px 40px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
    box-shadow: 0 20px 40px rgba(19, 63, 111, .12);
  }

  .menu-toggle {
    position: relative;
    z-index: 120;
  }
}

/* Pulso sutil del indicador de activo real del hero. */
.pulse {
  position: relative;
  animation: asset-pulse-core 2.2s ease-in-out infinite;
}

.pulse::after {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid rgba(0, 210, 171, 0.58);
  border-radius: 50%;
  animation: asset-pulse-ring 2.2s cubic-bezier(.22, .61, .36, 1) infinite;
}

@keyframes asset-pulse-core {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 6px rgba(0, 210, 171, 0.16); }
  50% { transform: scale(1.14); box-shadow: 0 0 0 8px rgba(0, 210, 171, 0.09); }
}

@keyframes asset-pulse-ring {
  0% { opacity: .72; transform: scale(.66); }
  70%, 100% { opacity: 0; transform: scale(1.55); }
}

@media (prefers-reduced-motion: reduce) {
  .pulse,
  .pulse::after { animation: none !important; }
}

/* Aire visual entre el hero y el bloque protagonista de cocheras. */
.hero { padding-bottom: clamp(72px, 7vw, 112px); }

@media (max-width: 768px) {
  .hero { padding-bottom: 56px; }
}

@media (max-width: 520px) {
  .hero { padding-bottom: 48px; }
}

/* Estado activo de la navegación según la sección visible. */
.main-nav a[aria-current="location"] {
  color: var(--color-secondary);
}

.main-nav a[aria-current="location"]::after {
  right: 0;
  height: 2px;
}

@media (max-width: 768px) {
  .main-nav a[aria-current="location"]::after { bottom: 0; }
}

/* Promoción mensual integrada al bloque de cocheras. */
.garage-promo {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) auto minmax(220px, .7fr);
  align-items: center;
  gap: 30px;
  margin-top: 52px;
  padding: 30px 32px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 24px;
  background: linear-gradient(110deg, #163f73 0%, #123963 58%, #0b2d4e 100%);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}

.garage-promo-copy > span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--color-accent);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.garage-promo-copy h3 {
  max-width: 650px;
  color: var(--color-accent);
  font-size: clamp(1.45rem, 2.2vw, 2.15rem);
  letter-spacing: -.035em;
}

.garage-promo-copy p,
.garage-promo-action p {
  margin: 12px 0 0;
  color: rgba(255, 255, 255, .78);
}

.garage-promo-metric {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 300px;
  padding: 16px 22px;
  border: 2px solid #fff;
  background: var(--color-accent);
  color: var(--color-primary-dark);
}

.garage-promo-metric strong {
  font-family: var(--font-heading);
  font-size: clamp(2.8rem, 4.3vw, 4.2rem);
  line-height: .95;
  white-space: nowrap;
}

.garage-promo-metric span {
  padding-left: 18px;
  border-left: 1px solid rgba(0, 0, 29, .28);
  font-size: .95rem;
  line-height: 1.15;
}

.garage-promo-action strong {
  display: block;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(255, 255, 255, .35);
  font-family: var(--font-heading);
  font-size: 1rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.garage-promo-action .text-link {
  margin-top: 14px;
  color: #fff;
}

@media (max-width: 1024px) {
  .garage-promo { grid-template-columns: 1fr 1fr; }
  .garage-promo-copy { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .garage-promo {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-top: 38px;
    padding: 24px 20px;
  }

  .garage-promo-copy { grid-column: auto; }
  .garage-promo-metric { min-width: 0; }
}

/* Footer regulatory disclosure */
.footer-disclaimers {
  display: grid;
  gap: 12px;
}

.footer-legal .footer-disclaimers p {
  margin: 0;
  text-align: left;
}

@media (max-width: 768px) {
  .footer-legal { gap: 18px; }
}
