/* SERGAL: short first-visit construction reveal. */
html.home-intro-armed,
html.home-intro-armed body { overflow: hidden; }
html.home-intro-armed::before { content:""; position:fixed; inset:0; z-index:2147482000; background:#0e1014; opacity:1; transition:opacity 180ms ease; }
html.home-intro-active::before { opacity:0; }
.home-intro { position:fixed; inset:0; z-index:2147483000; overflow:hidden; color:#eef0f3; background:radial-gradient(75% 62% at 48% 35%,rgba(58,64,74,.38),transparent 68%),linear-gradient(180deg,#111419,#0b0d10); opacity:1; transition:opacity 460ms cubic-bezier(.22,1,.36,1); }
.home-intro.is-ending { opacity:0; }
.home-intro.is-open { background:transparent; }
.home-intro__grid,.home-intro__scene,.home-intro__shade { position:absolute; inset:0; }
.home-intro__grid { opacity:.23; background-image:linear-gradient(rgba(187,199,215,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(187,199,215,.12) 1px,transparent 1px); background-size:72px 72px; transform:perspective(760px) rotateX(62deg) scale(1.35) translateY(27%); transform-origin:50% 100%; }
.home-intro__shade { background:linear-gradient(90deg,rgba(8,10,13,.6),transparent 24%,transparent 76%,rgba(8,10,13,.6)); pointer-events:none; }
.home-intro__grid,.home-intro__shade { transition:opacity 520ms ease; }
.home-intro.is-open .home-intro__grid,.home-intro.is-open .home-intro__shade { opacity:0; }
.home-intro__scene,.home-intro__scene svg { width:100%; height:100%; display:block; }
.home-intro__scene { z-index:3; pointer-events:none; }
.home-intro__scene,.home-intro__build,.home-intro__meta,.home-intro__skip { transition:opacity 360ms ease; }
.home-intro.is-open .home-intro__scene,.home-intro.is-open .home-intro__build,.home-intro.is-open .home-intro__meta,.home-intro.is-open .home-intro__skip { opacity:0; pointer-events:none; }
.home-intro__build { position:absolute; z-index:2; left:15%; right:15%; top:13%; bottom:30%; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:48px minmax(132px,1fr) minmax(82px,.42fr) 50px; gap:10px; perspective:1000px; }
.home-intro__block { --mount:0; position:relative; overflow:hidden; color:#edf0f4; background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 50%),rgba(25,29,35,.96); border:1px solid rgba(197,207,219,.3); box-shadow:0 20px 55px rgba(0,0,0,.34); opacity:calc(.15 + var(--mount)*.85); transform:translate3d(calc((1 - var(--mount))*110px),calc((1 - var(--mount))*34px),calc((1 - var(--mount))*90px)) rotateY(calc((1 - var(--mount))*-13deg)); transition:border-color 120ms ease,box-shadow 120ms ease; }
.home-intro__block::after { content:""; position:absolute; inset:0; opacity:calc(1 - var(--mount)); background:repeating-linear-gradient(90deg,transparent 0 48px,rgba(214,176,122,.15) 49px 50px); pointer-events:none; }
.home-intro__block.is-active { border-color:#d6b07a; box-shadow:0 0 0 1px rgba(214,176,122,.28),0 24px 65px rgba(0,0,0,.48); }
.home-intro__block.is-fixed { border-color:rgba(197,207,219,.42); }
.home-intro__block--header { grid-column:1/-1; display:flex; align-items:center; gap:22px; padding:0 22px; }
.home-intro__brand { margin-right:auto; font:800 18px/1 Arial,sans-serif; letter-spacing:.16em; }
.home-intro__block--header i { width:72px; height:5px; background:#7d8795; }
.home-intro__block--hero { grid-column:1/-1; display:flex; flex-direction:column; justify-content:center; padding:clamp(18px,3vw,42px); }
.home-intro__block--hero small { color:#d6b07a; font:700 9px/1.2 Arial,sans-serif; letter-spacing:.15em; }
.home-intro__block--hero strong { margin-top:10px; font:800 clamp(26px,4.3vw,64px)/.9 Arial,sans-serif; letter-spacing:-.045em; }
.home-intro__block--hero span { margin-top:13px; color:#aeb6c2; font:600 clamp(9px,1vw,13px)/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.home-intro__services { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.home-intro__block--service { display:flex; flex-direction:column; justify-content:center; padding:15px; }
.home-intro__block--service,.home-intro__block--contact { transform:translate3d(0,calc((1 - var(--mount))*10px),0); }
.home-intro__block--service b { color:#d6b07a; font:700 10px/1 Arial,sans-serif; }
.home-intro__block--service strong { margin-top:6px; font:800 clamp(10px,1.15vw,16px)/1.05 Arial,sans-serif; }
.home-intro__block--contact { grid-column:1/-1; display:flex; align-items:center; gap:18px; padding:0 18px; background:linear-gradient(90deg,rgba(214,176,122,.18),rgba(25,29,35,.97) 45%); }
.home-intro__block--contact strong { font:800 clamp(12px,1.25vw,17px)/1 Arial,sans-serif; }
.home-intro__block--contact span { color:#aeb6c2; font:600 10px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.home-intro.is-built .home-intro__build { filter:drop-shadow(0 18px 50px rgba(214,176,122,.09)); }
.home-intro__meta { position:absolute; top:clamp(18px,3vw,34px); left:clamp(20px,4vw,58px); z-index:4; display:flex; align-items:center; gap:12px; font:700 clamp(11px,.9vw,13px)/1.2 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.home-intro__meta b { color:#9ea7b4; font-weight:600; }
.home-intro__meta::before { content:""; width:34px; height:2px; background:#d6b07a; }
.home-intro__skip { position:absolute; right:clamp(18px,3vw,38px); top:clamp(16px,2.5vw,28px); z-index:5; min-width:112px; min-height:44px; padding:10px 17px; color:#eef0f3; background:rgba(14,16,20,.78); border:1px solid rgba(238,240,243,.38); border-radius:4px; font:700 13px/1 Arial,sans-serif; cursor:pointer; }
.home-intro__skip:hover { border-color:#d6b07a; }
.home-intro__skip:focus-visible { outline:3px solid #d6b07a; outline-offset:3px; }
.home-intro__progress { position:absolute; left:0; right:0; bottom:0; height:3px; background:rgba(255,255,255,.1); }
.home-intro__progress>i { display:block; width:100%; height:100%; background:#d6b07a; transform:scaleX(0); transform-origin:0 50%; }
@media (max-width:899px),(prefers-reduced-motion:reduce) { html.home-intro-armed,html.home-intro-armed body { overflow:auto; } html.home-intro-armed::before,.home-intro { display:none!important; } }
