
/* immo.quick v239 — Launch Candidate / Authority Finish */
:root{--lc-max:1180px;--lc-ivory:#f4f1e9;--lc-faint:rgba(255,255,255,.035)}
.skip-link{position:fixed;left:16px;top:12px;z-index:10000;transform:translateY(-160%);background:#f4f1e9;color:#06101a;padding:10px 14px;border-radius:3px;font:700 .72rem var(--f-mono);text-decoration:none;transition:transform .16s ease}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
img{height:auto;max-width:100%}
main{display:block}
/* stronger section rhythm: less brochure, more reference surface */
.lc-proofline{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(201,166,107,.055),transparent 36%,rgba(0,212,255,.04));padding:16px 40px}
.lc-proofline-inner{max-width:var(--lc-max);margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}
.lc-proofline-k{font:700 .5rem var(--f-mono);letter-spacing:.18em;color:var(--gold2);text-transform:uppercase;white-space:nowrap}
.lc-proofline-v{font-family:var(--f-display);font-size:clamp(.95rem,1.6vw,1.16rem);line-height:1.35;color:var(--lc-ivory)}
.lc-proofline-a{font:700 .51rem var(--f-mono);letter-spacing:.1em;color:var(--cyan);text-decoration:none;text-transform:uppercase;white-space:nowrap}
/* canonical truth table */
.lc-truth{max-width:var(--lc-max);margin:0 auto;padding:52px 40px 12px}
.lc-truth-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);background:#050a12}
.lc-truth-cell{padding:22px;border-right:1px solid var(--border)}
.lc-truth-cell:last-child{border-right:0}
.lc-truth-k{font:700 .49rem var(--f-mono);letter-spacing:.17em;text-transform:uppercase;color:var(--steel4);margin-bottom:10px}
.lc-truth-v{font-family:var(--f-display);font-size:1rem;line-height:1.3;color:var(--lc-ivory)}
.lc-truth-no{display:block;margin-top:9px;font:600 .54rem/1.55 var(--f-mono);color:var(--steel3)}
/* responsive content visibility */
@media(min-width:901px){main>section:not(:first-child){content-visibility:auto;contain-intrinsic-size:700px}}
@media(max-width:900px){.lc-proofline{padding:14px 20px}.lc-proofline-inner{grid-template-columns:1fr;gap:6px}.lc-proofline-a{margin-top:2px}.lc-truth{padding:34px 20px 8px}.lc-truth-grid{grid-template-columns:1fr 1fr}.lc-truth-cell:nth-child(2){border-right:0}.lc-truth-cell:nth-child(-n+2){border-bottom:1px solid var(--border)}}
@media(max-width:520px){.lc-truth-grid{grid-template-columns:1fr}.lc-truth-cell{border-right:0!important;border-bottom:1px solid var(--border)}.lc-truth-cell:last-child{border-bottom:0}.lc-proofline-v{font-size:.96rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* v240 — homepage visual continuity: no cropped pre-hero banner */
body.home-v240 .v230-hero{margin-top:var(--nav-offset,86px)}
body.home-v240 .home-system-visual{margin:42px auto 8px;max-width:1180px;border:1px solid rgba(255,255,255,.08);background:#030812;overflow:hidden;position:relative;box-shadow:0 28px 80px rgba(0,0,0,.28)}
body.home-v240 .home-system-visual picture,body.home-v240 .home-system-visual img{display:block;width:100%}
body.home-v240 .home-system-visual img{height:auto;object-fit:contain;filter:saturate(.92) contrast(1.03) brightness(.91)}
body.home-v240 .home-system-visual::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.018),inset 0 -85px 110px rgba(2,7,14,.52)}
body.home-v240 .home-system-visual figcaption{position:relative;z-index:2;margin-top:-1px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:16px 20px;background:#050a12;border-top:1px solid rgba(255,255,255,.07)}
body.home-v240 .home-system-visual figcaption span{font-family:var(--f-mono);font-size:.54rem;letter-spacing:.20em;color:var(--gold2);white-space:nowrap}
body.home-v240 .home-system-visual figcaption b{font-family:var(--f-sans);font-size:.78rem;line-height:1.55;font-weight:500;color:var(--steel2)}
@media(max-width:900px){body.home-v240 .v230-hero{margin-top:var(--nav-offset,56px)!important}body.home-v240 .home-system-visual{margin-top:28px}body.home-v240 .home-system-visual figcaption{grid-template-columns:1fr;gap:8px;padding:14px 16px}body.home-v240 .home-system-visual figcaption span{white-space:normal}}
@media(max-width:520px){body.home-v240 .home-system-visual{margin-left:-4px;margin-right:-4px;border-left:0;border-right:0}body.home-v240 .home-system-visual figcaption b{font-size:.72rem}}

/* v244 — Android headline safety / mobile overflow hardening */
@media (max-width: 600px){
  html,body{max-width:100%;overflow-x:hidden!important}
  main,section,header,footer,nav,.container,.wrap,.inner{max-width:100%}

  /* Large institutional display headings must never clip on Android/WebView. */
  h1,
  .v230-hero h1,.arch-hero h1,.iq-system-intro h1,.ea-h1,.wid-h1,.vf-hero h1,
  .hero h1,.hero-title,.section-title,.display-title{
    box-sizing:border-box!important;
    max-width:100%!important;
    width:auto!important;
    min-width:0!important;
    font-size:clamp(2.15rem,10.2vw,2.8rem)!important;
    line-height:1.02!important;
    letter-spacing:-.018em!important;
    text-wrap:balance;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto;
    padding-left:0!important;
    padding-right:0!important;
  }

  /* Uppercase architectural statements can contain unusually long tokens. */
  .arch-display,.authority-display,.hero-statement,.big-statement,
  [class*="headline"],[class*="hero"] h1{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  /* Prevent decorative pseudo-elements/transforms from extending the page canvas. */
  h1::before,h1::after{max-width:100vw}
  main>*{min-width:0}
}

@media (max-width: 430px){
  h1,
  .v230-hero h1,.arch-hero h1,.iq-system-intro h1,.ea-h1,.wid-h1,.vf-hero h1,
  .hero h1,.hero-title,.section-title,.display-title{
    font-size:clamp(2.05rem,9.8vw,2.62rem)!important;
    line-height:1.03!important;
    letter-spacing:-.015em!important;
  }
}

@media (max-width: 380px){
  h1,
  .v230-hero h1,.arch-hero h1,.iq-system-intro h1,.ea-h1,.wid-h1,.vf-hero h1,
  .hero h1,.hero-title,.section-title,.display-title{
    font-size:clamp(1.95rem,9.4vw,2.35rem)!important;
    line-height:1.04!important;
  }
}
