/*
 * Aqui Lo Compro 3.8.12 — Brand Harmony + Presentation System
 * ALC blue derived from the existing logomark. The intense blue is used as
 * an interaction and conversion signal; deep indigo anchors the premium
 * surfaces; ivory and white preserve editorial breathing room.
 */
:root{
  --alc391-logo:#001870;
  --alc391-indigo:#171066;
  --alc391-brand:#064fba;
  --alc391-bright:#0864cf;
  --alc391-deep:#07184d;
  --alc391-night:#06172f;
  --alc391-ink:#0b1d45;
  --alc391-muted:#64748a;
  --alc391-ivory:#f6f5f1;
  --alc391-white:#ffffff;
  --alc391-pale:#eef3fb;
  --alc391-gold:#c5a164;
  --alc391-line:#d6deea;
  --alc391-gradient:linear-gradient(155deg,#171066 0%,#0b3b9b 46%,#0864cf 100%);
  --alc391-gradient-horizontal:linear-gradient(100deg,#171066 0%,#064fba 58%,#0864cf 100%);
  --alc391-gradient-soft:linear-gradient(135deg,rgba(0,24,112,.08),rgba(8,100,207,.03));

  --alc3-outer:var(--alc391-deep);
  --alc3-primary:var(--alc391-logo);
  --alc3-accent:var(--alc391-gold);
  --alc3-text:var(--alc391-ink);
  --alc3-muted:var(--alc391-muted);
  --alc3-border:var(--alc391-line);
  --alc3-footer:var(--alc391-deep);

  --alc383-navy:var(--alc391-logo);
  --alc383-navy-2:var(--alc391-brand);
  --alc383-gold:var(--alc391-gold);
  --alc383-paper:var(--alc391-ivory);
  --alc383-ink:var(--alc391-ink);
  --alc383-muted:var(--alc391-muted);
  --alc383-line:var(--alc391-line);

  --alc389-blue:var(--alc391-brand);
  --alc389-blue-deep:var(--alc391-deep);
  --alc389-blue-soft:#164ca1;
  --alc389-blue-faint:var(--alc391-pale);
  --alc389-ivory:var(--alc391-ivory);
  --alc389-gold:var(--alc391-gold);
  --alc389-ink:var(--alc391-ink);
  --alc389-line:var(--alc391-line);
}

/* Global brand rhythm */
body.alc3-site{background:var(--alc391-deep);color:var(--alc391-ink)}
.alc3-main{background:var(--alc391-white)}
.alc3-section--alt{background:var(--alc391-ivory)}
.alc383-topbar{background:var(--alc391-deep)}
.alc383-header__cta,.alc383-mobile-cta,.alc-luxury-button--navy,.alc3-button--primary{background:var(--alc391-logo);border-color:var(--alc391-logo);color:#fff}
.alc383-header__cta:hover,.alc383-mobile-cta:hover,.alc-luxury-button--navy:hover,.alc3-button--primary:hover{background:var(--alc391-brand);border-color:var(--alc391-brand);color:#fff}
.alc383-nav>ul>li>a:after,.alc383-nav .alc3-auto-menu>li>a:after{background:var(--alc391-brand)}
.alc383-nav .sub-menu a:hover{background:var(--alc391-pale);color:var(--alc391-logo)}
.alc383-icon-button{color:var(--alc391-logo);border-color:#c9d4e4}
.alc383-icon-button:hover{border-color:var(--alc391-brand);color:var(--alc391-brand)}
.alc3-text-link{color:var(--alc391-logo)}
.alc3-text-link:hover{color:var(--alc391-brand)}
.alc3-kicker,.alc383-eyebrow{color:var(--alc391-brand)}
.alc383-eyebrow--light{color:#e7c994}
.alc-luxury-button--gold{background:var(--alc391-gold);border-color:var(--alc391-gold);color:var(--alc391-deep)}

/* Forms: one unmistakable interaction color across the site. */
.alc3-site input:focus,.alc3-site select:focus,.alc3-site textarea:focus{border-color:var(--alc391-brand);box-shadow:0 0 0 3px rgba(6,79,186,.10);outline:0}

/* Hero and photographic brand moments. Keep the image dominant. */
.alc-luxury-hero__media{background:linear-gradient(135deg,var(--alc391-deep),var(--alc391-brand))}
.alc-luxury-hero:after{background:linear-gradient(90deg,rgba(5,18,47,.91) 0%,rgba(5,27,76,.66) 39%,rgba(6,79,186,.22) 73%,rgba(6,79,186,.05) 100%)}
.alc-luxury-hero.alc374-overlay-light:after{background:linear-gradient(90deg,rgba(5,18,47,.83) 0%,rgba(5,27,76,.54) 42%,rgba(6,79,186,.14) 75%,rgba(6,79,186,.03) 100%)}
.alc-luxury-hero.alc374-overlay-balanced:after{background:linear-gradient(90deg,rgba(5,18,47,.88) 0%,rgba(5,27,76,.62) 42%,rgba(6,79,186,.20) 75%,rgba(6,79,186,.05) 100%)}
.alc-luxury-hero.alc374-overlay-cinematic:after{background:linear-gradient(90deg,rgba(4,14,41,.94) 0%,rgba(5,24,69,.70) 42%,rgba(6,79,186,.25) 76%,rgba(6,79,186,.07) 100%)}
.alc-luxury-demand,.alc389-property-intro,.alc389-immersive{background:var(--alc391-gradient-horizontal)}
.alc389-decision-card{background:var(--alc391-deep)}
.alc389-tour-quick>span,.alc389-primary-cta b{background:var(--alc391-brand)}

/* Modern blue touches across supporting surfaces, never as decoration for its own sake. */
.alc3-network-section{background:linear-gradient(135deg,var(--alc391-pale),var(--alc391-ivory))}
.alc3-network-band{border-color:#cbd8eb}
.alc374-tools-rail{background:var(--alc391-deep);color:#fff}
.alc374-tool-link,.alc374-tools-all{color:rgba(255,255,255,.88)}
.alc374-tool-link:hover,.alc374-tools-all:hover{color:#fff}
.alc3-home-signature-card:after,.alc-luxury-vertical-card:after{background:linear-gradient(180deg,rgba(7,24,77,.04),rgba(7,24,77,.76))}
.alc3-property-card:hover,.alc3-service-card:hover,.alc3-post-card:hover{border-color:#b9c8e2;box-shadow:0 18px 40px rgba(7,24,77,.08)}

/* Conversion bridge: no floating card, no boxed composition. This is a calm,
   editorial hand-off from content to the institutional footer. */
.alc3811-conversion{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--alc391-ivory);
  padding:clamp(72px,7vw,108px) 0;
  border-top:1px solid rgba(11,29,69,.08);
}
.alc3811-conversion:before{
  content:"";
  position:absolute;
  width:min(700px,58vw);
  aspect-ratio:1;
  right:-17vw;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(8,100,207,.13) 0%,rgba(6,79,186,.055) 42%,rgba(6,79,186,0) 70%);
  pointer-events:none;
  z-index:-1;
}
.alc3811-conversion__inner{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  gap:clamp(48px,8vw,126px);
  align-items:start;
}
.alc3811-conversion__copy{padding-top:4px}
.alc3811-conversion__copy .alc3-kicker{margin-bottom:18px;color:var(--alc391-brand)}
.alc3811-conversion__copy h2{
  max-width:9.8ch;
  margin:0;
  font-family:var(--alc383-serif,Newsreader,Georgia,serif);
  font-size:clamp(3.15rem,5vw,5.35rem);
  font-weight:460;
  line-height:.95;
  letter-spacing:-.045em;
  color:var(--alc391-logo);
  text-wrap:balance;
}
.alc3811-conversion__copy>p:not(.alc3-kicker){max-width:39ch;margin:22px 0 0;font-size:1.02rem;line-height:1.72;color:var(--alc391-muted)}
.alc3811-conversion__whatsapp{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding-bottom:5px;border-bottom:1px solid rgba(0,24,112,.28);color:var(--alc391-logo);font-size:.88rem;font-weight:700}
.alc3811-conversion__whatsapp span{color:var(--alc391-brand);transition:transform .2s ease}
.alc3811-conversion__whatsapp:hover{color:var(--alc391-brand);border-color:var(--alc391-brand)}
.alc3811-conversion__whatsapp:hover span{transform:translate(2px,-2px)}
.alc3811-conversion__routes{border-top:1px solid #bfcbe0}
.alc3811-route{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 44px;
  gap:18px;
  align-items:center;
  min-height:112px;
  padding:20px 0;
  border-bottom:1px solid #bfcbe0;
  color:var(--alc391-ink);
  transition:padding .24s ease,color .24s ease,border-color .24s ease;
}
.alc3811-route__number{font-size:.72rem;letter-spacing:.16em;color:#7b89a0}
.alc3811-route__body{display:grid;gap:5px}
.alc3811-route__body strong{font-family:var(--alc383-serif,Newsreader,Georgia,serif);font-size:clamp(1.55rem,2vw,2.15rem);font-weight:500;line-height:1.12;letter-spacing:-.025em;color:var(--alc391-logo)}
.alc3811-route__body small{font-size:.88rem;line-height:1.55;color:var(--alc391-muted)}
.alc3811-route__arrow{display:grid;place-items:center;width:40px;height:40px;border:1px solid #b7c5db;border-radius:50%;color:var(--alc391-logo);font-size:1rem;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.alc3811-route:hover{padding-left:12px;color:var(--alc391-brand);border-color:#91a8ce}
.alc3811-route:hover .alc3811-route__body strong{color:var(--alc391-brand)}
.alc3811-route:hover .alc3811-route__arrow{background:var(--alc391-brand);border-color:var(--alc391-brand);color:#fff;transform:translate(2px,-2px)}
.alc3811-route--primary .alc3811-route__arrow{background:var(--alc391-logo);border-color:var(--alc391-logo);color:#fff}

/* Footer: a separate, architectural layer. */
.alc3-footer,.alc377-footer{background:var(--alc391-deep)}
.alc377-footer-inner{padding-top:clamp(68px,6vw,96px)}
.alc377-footer-trust{border-top:0}
.alc377-footer .alc3-kicker{color:#d8bb87}
.alc377-footer-discovery h3{color:#fff}
.alc377-footer-discovery a:hover{color:#fff;text-decoration-color:var(--alc391-bright)}
.alc385-footer-closing{border-color:rgba(255,255,255,.12)}

@media(max-width:980px){
  .alc3811-conversion__inner{grid-template-columns:1fr;gap:42px}
  .alc3811-conversion__copy h2{max-width:12ch}
  .alc3811-conversion__routes{max-width:760px}
}
@media(max-width:782px){
  .alc3811-conversion{padding:58px 0 64px}
  .alc3811-conversion__copy h2{font-size:clamp(2.75rem,12vw,4rem);max-width:10ch}
  .alc3811-route{grid-template-columns:34px minmax(0,1fr) 40px;gap:12px;min-height:98px}
  .alc3811-route__body strong{font-size:1.5rem}
  .alc3811-route__body small{font-size:.82rem}
  .alc3811-route:hover{padding-left:0}
  .alc377-footer-inner{padding-top:58px}
}
@media(max-width:480px){
  .alc3811-route{grid-template-columns:28px minmax(0,1fr) 36px}
  .alc3811-route__arrow{width:36px;height:36px}
  .alc3811-conversion__copy>p:not(.alc3-kicker){font-size:.96rem}
}
@media(prefers-reduced-motion:reduce){
  .alc3811-route,.alc3811-route__arrow,.alc3811-conversion__whatsapp span{transition:none}
}

/* ============================================================
   3.8.12 — Presentation Cards / Layering / Identity Refinement
   ============================================================ */

/* Home zones: enforce the correct stacking order: photo -> gradient -> copy. */
.alc3-home-signature-card{isolation:isolate}
.alc3-home-signature-card:before{z-index:0}
.alc3-home-signature-card:after{
  z-index:1;
  background:linear-gradient(180deg,rgba(4,19,60,0) 24%,rgba(4,27,82,.12) 48%,rgba(4,25,75,.78) 100%);
}
.alc3-home-signature-card>div{z-index:2}
.alc3-home-signature-card:hover:after{background:linear-gradient(180deg,rgba(4,19,60,0) 20%,rgba(4,31,94,.10) 46%,rgba(4,25,75,.82) 100%)}

/* Insights: image treatment remains cinematic, but never crowds the text. */
.alc374-insights .alc3-post-card-media{margin-bottom:10px}
.alc374-insights .alc3-post-card-media:after{
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,rgba(3,18,48,0),rgba(3,18,48,.30));
  transition:height .35s ease,background .35s ease;
}
.alc374-insights .alc3-post-card:hover .alc3-post-card-media:after{
  height:36%;
  background:linear-gradient(180deg,rgba(3,18,48,0),rgba(0,24,112,.34));
}
.alc374-insights .alc3-post-card-body{padding-top:26px}
.alc374-insights .alc3-post-card-media>span{bottom:22px;left:22px}

/* Firma: the brand lockup becomes a true presentation panel rather than a text seal. */
.alc3812-firm-hero{background:linear-gradient(125deg,var(--alc391-deep) 0%,#071e68 48%,#064fba 100%)}
.alc3812-firm-hero:before{display:none}
.alc3812-firm-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);gap:clamp(48px,7vw,104px);align-items:center}
.alc3812-firm-identity{position:relative;min-width:0;padding-bottom:68px}
.alc3812-firm-portrait{position:relative;min-height:clamp(430px,48vw,650px);overflow:hidden;background:linear-gradient(150deg,#0b286d,#07172f);border:1px solid rgba(255,255,255,.18)}
.alc3812-firm-portrait.has-photo{background-image:linear-gradient(180deg,rgba(3,16,50,.04),rgba(3,16,50,.34)),var(--alc3812-firm-photo);background-size:cover;background-position:center top}
.alc3812-firm-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,23,47,0) 46%,rgba(6,23,47,.48) 100%);pointer-events:none}
.alc3812-firm-logo-panel{position:absolute;left:clamp(20px,3vw,42px);right:clamp(20px,3vw,42px);bottom:0;z-index:3;display:grid;grid-template-columns:minmax(160px,.9fr) minmax(170px,1fr);gap:28px;align-items:center;padding:24px 28px;background:rgba(249,248,244,.97);color:var(--alc391-ink);border:1px solid rgba(0,24,112,.10);box-shadow:0 24px 56px rgba(3,17,52,.18);backdrop-filter:blur(10px)}
.alc3812-firm-logo{min-width:0;max-width:260px}
.alc3812-firm-logo .alc3-brand-logo,.alc3812-firm-logo .custom-logo{display:block;max-width:100%;width:auto;height:auto;max-height:84px;object-fit:contain}
.alc3812-firm-logo .alc3-wordmark>strong{font-size:clamp(1.8rem,3vw,3rem);color:var(--alc391-logo)}
.alc3812-firm-logo-panel p{margin:0;padding-left:26px;border-left:1px solid #d5dce8;color:var(--alc391-ink)!important;font-size:.95rem!important;line-height:1.5!important}
.alc3812-firm-logo-panel strong,.alc3812-firm-logo-panel span{display:block}
.alc3812-firm-logo-panel strong{font-family:var(--alc3-serif);font-size:1.3rem;font-weight:520;color:var(--alc391-logo)}
.alc3812-firm-logo-panel span{margin-top:5px;color:var(--alc391-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.alc3812-brand-advisor-photo{position:relative}

.alc3812-advisor-photo{position:relative;background:linear-gradient(145deg,#071e68,#064fba)}
.alc3812-advisor-photo:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(1,19,65,0) 52%,rgba(1,19,65,.52) 100%);pointer-events:none}
.alc3812-advisor-photo img{position:relative;z-index:0}

@media(max-width:1100px){
  .alc3812-firm-hero-grid{grid-template-columns:1fr;gap:56px}
  .alc3812-firm-identity{width:min(100%,760px)}
  .alc3812-firm-portrait{min-height:560px}
}
@media(max-width:782px){
  .alc3812-firm-identity{padding-bottom:0}
  .alc3812-firm-portrait{min-height:470px}
  .alc3812-firm-logo-panel{position:relative;left:auto;right:auto;bottom:auto;grid-template-columns:1fr;margin-top:0;padding:24px;box-shadow:none}
  .alc3812-firm-logo-panel p{padding:18px 0 0;border-left:0;border-top:1px solid #d5dce8}
  .alc3812-firm-logo{max-width:230px}
    .alc374-insights .alc3-post-card-body{padding-top:22px}
}
@media(prefers-reduced-motion:reduce){
  .alc374-insights .alc3-post-card-media:after{transition:none}
}


/* ============================================================
   3.8.13 — Forensic spacing / overlay readability / no monograms
   ============================================================ */

/* Firma: compact editorial rhythm. The right column no longer drifts vertically. */
.alc3-firm-manifesto{gap:clamp(34px,4.5vw,68px);align-items:start}
.alc3-firm-manifesto>div{max-width:620px}
.alc3-firm-manifesto .alc3-prose{max-width:760px}
.alc3-firm-manifesto .alc3-prose h2{margin:0 0 14px;font-size:clamp(2.15rem,3.35vw,3.8rem);line-height:1.02;max-width:18ch}
.alc3-firm-manifesto .alc3-prose p{margin:0;color:var(--alc3-muted);line-height:1.75;max-width:68ch}
.alc3-firm-manifesto .alc3-prose p+h2{margin-top:34px}
.alc3-firm-manifesto .alc3-prose h2+p{margin-top:0}

/* Identity photos are photographic, never typographic monograms. */
.alc3812-firm-portrait:after{background:linear-gradient(180deg,rgba(6,23,47,0) 54%,rgba(6,23,47,.38) 100%)}
.alc3812-brand-advisor-photo:after,.alc3812-advisor-photo:after,.alc3-advisor-home-photo:has(img):after{background:linear-gradient(180deg,rgba(1,19,65,0) 66%,rgba(1,19,65,.30) 100%)}

/* Zones: give the gradient enough runway before copy and protect long district names. */
.alc3-home-signature-card:after{background:linear-gradient(180deg,rgba(4,19,60,0) 18%,rgba(4,27,82,.06) 38%,rgba(4,25,75,.58) 66%,rgba(4,20,61,.92) 100%)}
.alc3-home-signature-card:hover:after{background:linear-gradient(180deg,rgba(4,19,60,0) 14%,rgba(4,31,94,.07) 36%,rgba(4,27,82,.62) 64%,rgba(4,20,61,.94) 100%)}
.alc3-home-signature-card>div{inset:auto 34px 38px;max-width:calc(100% - 68px)}
.alc3-home-signature-card h3{margin:.7rem 0 1rem;line-height:.93;max-width:100%;overflow:visible}
.alc3-home-signature-card--long h3{font-size:clamp(2.05rem,2.75vw,3.25rem);letter-spacing:-.045em}
.alc3-home-signature-card p{max-width:31ch;line-height:1.62;color:rgba(255,255,255,.84)}

/* Insights: image shadow/gradient is visually separated from editorial copy. */
.alc374-insights .alc3-post-card-media{margin-bottom:0}
.alc374-insights .alc3-post-card-media:after{height:52%;background:linear-gradient(180deg,rgba(3,18,48,0) 0%,rgba(3,18,48,.10) 38%,rgba(3,18,48,.34) 100%)}
.alc374-insights .alc3-post-card:hover .alc3-post-card-media:after{height:48%;background:linear-gradient(180deg,rgba(3,18,48,0) 0%,rgba(0,24,112,.09) 36%,rgba(0,24,112,.30) 100%)}
.alc374-insights .alc3-post-card-body{padding:34px 28px 30px}
.alc374-insights .alc3-post-card-media>span{bottom:26px;left:26px}

/* Soft shadows must breathe outside content, not crowd typography. */
.alc3-property-card,.alc3-service-card,.alc3-post-card{box-shadow:0 20px 54px rgba(6,24,64,.045)}
.alc3-property-card:hover,.alc3-service-card:hover,.alc3-post-card:hover{box-shadow:0 28px 68px rgba(6,24,64,.09)}

@media(max-width:1100px){
  .alc3-firm-manifesto{gap:36px}
  .alc3-firm-manifesto .alc3-prose p+h2{margin-top:28px}
}
@media(max-width:782px){
  .alc3-home-signature-card>div{inset:auto 26px 30px;max-width:calc(100% - 52px)}
  .alc3-home-signature-card--long h3{font-size:clamp(2.25rem,10.8vw,3.25rem)}
  .alc374-insights .alc3-post-card-body{padding:28px 24px 26px}
  .alc3-firm-manifesto .alc3-prose h2{max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .alc3-home-signature-card:after,.alc374-insights .alc3-post-card-media:after{transition:none}
}
