/* Visual experiment: cinematic cover and architectural centerpiece. */
:root { --accent: #E06D28; --accent-hover: #EE7A33; }
#site-header { background:rgba(8,11,16,.88); border-color:rgba(255,255,255,.12); }
#site-header .logo-horizontal-img { height: 38px; width: auto; max-width: 220px; object-fit: contain; display: block; }
#site-header .logo-stacked-img { height: 44px; width: auto; max-width: 120px; object-fit: contain; display: block; }
#site-header .logo-name { color:#fff; }
#site-header .logo-sub { color:#aeb7c4; }
#site-header .nav-link { color:rgba(255,255,255,.72); position:relative; padding:8px 14px; transition:color .2s; }
#site-header .nav-link:hover, #site-header .nav-link.active { color:#fff; }
#site-header .nav-link.active::after { content:''; position:absolute; bottom:-4px; left:14px; right:14px; height:2px; background:var(--accent); border-radius:1px; }

#site-header .header-lang { display:flex; align-items:center; gap:6px; }
#site-header .lang-btn {
  border:none !important;
  background:transparent !important;
  color:rgba(255,255,255,.52);
  padding:4px 6px;
  font-size:12px;
  font-weight:500;
  letter-spacing:.05em;
  box-shadow:none !important;
  border-radius:0 !important;
  cursor:pointer;
  transition:color .2s;
}
#site-header .lang-btn:hover {
  color:#fff;
  background:transparent !important;
  border:none !important;
}
#site-header .lang-btn.active {
  color:#fff;
  font-weight:700;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

#site-header .nav-toggle span { background:#fff; }
#site-header .nav-toggle { background:transparent;border:0; }
#site-header .header-cta .btn, #site-header .header-cta .btn-header-ghost {
  border-radius: 4px;
  background: transparent;
  border: 1px solid var(--accent);
  color: #fff;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
  letter-spacing: 0.01em;
}
#site-header .header-cta .btn:hover, #site-header .header-cta .btn-header-ghost:hover {
  border-color: var(--accent-hover);
  background: rgba(224, 109, 40, 0.14);
  color: #fff;
  transform: translateY(-1px);
}
#hero { min-height:740px; height:94svh; max-height:1080px; padding:0; background:#080b10; overflow:hidden; color:#fff; }
.cinema-slides,.cinema-slide { position:absolute; inset:0; }
.cinema-slide { opacity:0; transition:opacity 1.25s ease; }
.cinema-slide.is-active { opacity:1; }
.cinema-slide img,.cinema-slide video { width:100%;height:100%;object-fit:cover; }
.cinema-slide video { object-position:center 60%; }
.cinema-slide img { object-position:center; }
.cinema-slide::after { content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,14,.74),rgba(5,8,14,.05) 48%,rgba(5,8,14,.75)); }
.cinema-slide.plan-slide img { opacity:.75; }
.cinema-caption { position:absolute;z-index:2;bottom:44px;left:35px;max-width:270px;text-align:left;font-size:10px;line-height:1.7;color:#aab3bf; }
#hero .hero-inner { position:relative;display:flex;justify-content:center;align-items:center;width:100%;max-width:1400px;z-index:2;padding:120px 40px 100px;pointer-events:none; }
#hero .hero-text-col { padding:0;text-align:center;align-items:center;justify-content:center;width:100%; }
#hero .hero-badge { color:rgba(255,255,255,.72); font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; margin-bottom:20px; }
#hero .hero-badge-dot { color:#E06D28; font-size:14px; line-height:1; }
#hero .hero-h1 { color:#fff; font-weight:400; font-size:clamp(38px,4.5vw,70px); max-width:980px; line-height:1.14; letter-spacing:-.035em; text-shadow:0 2px 28px rgba(0,0,0,.35); margin-bottom:20px; }
#hero .hero-h1 .accent { color:#fff; }
#hero .hero-h1 br { display:initial; }
#hero .hero-subtitle { color:rgba(255,255,255,.70); font-size:clamp(15px,1.25vw,18px); line-height:1.68; max-width:640px; margin:0 auto 34px; text-align:center; font-weight:400; }
#hero .hero-cta { justify-content:center; gap:16px; align-items:center; pointer-events:auto; }
#hero .btn { border-radius:6px; font-weight:600; }
#hero .btn-primary { background:#E06D28; color:#fff; border:none; padding:13px 26px; box-shadow:0 4px 18px rgba(224,109,40,.28); transition:all .2s ease; }
#hero .btn-primary:hover { background:#EE7A33; color:#fff; box-shadow:0 6px 24px rgba(224,109,40,.40); transform:translateY(-1px); }
#hero .btn-ghost { color:#fff; border:none; background:transparent; backdrop-filter:none; font-size:15px; font-weight:500; padding:13px 20px; opacity:.88; }
#hero .btn-ghost:hover { background:transparent; color:#fff; opacity:1; }
.cinema-arrow { position:absolute;z-index:4;top:52%;width:48px;height:64px;border:0;background:transparent;color:#fff;font-size:42px;font-weight:200;cursor:pointer;opacity:.65;transition:opacity .2s; }
.cinema-arrow:hover { opacity:1; }
.cinema-arrow.prev { left:24px; }.cinema-arrow.next { right:24px; }
.cinema-controls { position:absolute;z-index:4;bottom:36px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center; }
.cinema-dot { width:42px;height:18px;padding:7px 0;border:0;background:transparent;cursor:pointer; }
.cinema-dot::after { content:'';display:block;width:100%;height:2px;background:rgba(255,255,255,.35); }
.cinema-dot[aria-current=true]::after { background:#fff; }
.cinema-pause { border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:50%;width:28px;height:28px;margin-left:10px;cursor:pointer;font-size:10px; }
#house-story { background:#080b10;color:#fff;text-align:center;padding:88px 0 0;overflow:hidden; }
#house-story h2 { color:#fff;font-size:clamp(26px,3vw,42px);font-weight:500;letter-spacing:-.025em;max-width:950px;margin:0 auto 24px; }
#house-story .house-intro { color:#aeb8c9;font-size:clamp(14px,1.25vw,17px);line-height:1.65;max-width:700px;margin:-10px auto 26px;padding:0 18px; }
#output-slider { background:#080b10;padding-top:80px;border-top:1px solid #1b2430; }
#output-slider .slider-viewport { border-radius:2px; }
#output-slider .slider-tab { border-radius:0; }
button:focus-visible,a:focus-visible { outline:2px solid #E06D28;outline-offset:5px; }
@media(max-width:1080px) { .house-scene .hero-stat:nth-child(1),.house-scene .hero-stat:nth-child(3) { left:4%; }.house-scene .hero-stat:nth-child(2) { right:4%; }.house-scene .hero-stat { width:180px; }.house-scene .hero-stat:nth-child(2) { width:220px; }.house-scene .hero-stat .num { font-size:19px; } }
@media(max-width:768px) {
 #site-header .main-nav { background:#10151e; }
 #hero { min-height:660px;height:90svh;max-height:900px; }
 #hero .hero-inner { padding:118px 28px 116px; }
 #hero .hero-h1 { font-size:clamp(34px,7.5vw,52px); }
 #hero .hero-tags { gap:18px; }
 #hero .hero-badge { font-size:9px;letter-spacing:.1em; }
 #hero .hero-cta { flex-direction:row;gap:10px; }
 #hero .btn-lg { padding:13px 20px;font-size:12px; }
 .cinema-arrow { width:28px;font-size:32px; }.cinema-arrow.prev { left:6px; }.cinema-arrow.next { right:6px; }
 .cinema-slide img { object-position:center; }
 .cinema-caption { bottom:20px;left:24px;max-width:200px;font-size:8px; }
 #house-story { padding-top:62px; }
 #house-story .hero-subtitle { font-size:14px; }
 #house-story .hero-highlight { font-size:17px; }
 .house-scene { margin-top:12px;min-height:0;padding-bottom:42px; }
 .house-model { height:auto;width:100%;max-width:100%;margin-left:0;object-fit:contain; }
 .house-scene .hero-accuracy { position:relative;display:grid;grid-template-columns:1fr;gap:24px;padding:0 32px; }
 .house-scene .hero-stat,.house-scene .hero-stat:nth-child(n) { position:relative;left:auto;right:auto;top:auto;width:100%;text-align:center;gap:4px; }
 .house-scene .hero-stat::after { display:none; }
 .house-scene .hero-stat .num { font-size:19px; }
 .house-scene .hero-stat .desc { font-size:10px; }
 #output-slider { padding-top:60px; }
}
@media(prefers-reduced-motion:reduce) { .cinema-slide { transition:none; } }

/* Company ecosystem: one open topic, with a matching visual. */
.company-section { background:#000;color:#fff;padding:96px 0;scroll-margin-top:90px; }
.company-container { max-width:1440px; }
.company-heading { margin-bottom:52px; }
.company-heading .label { color:#8fa5c4; }
.company-heading h2 { color:#fff;font-size:clamp(28px,3.2vw,44px);font-weight:500;line-height:1.2;letter-spacing:-.025em;max-width:760px;margin:16px 0 0; }
.company-layout { display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.5fr);gap:64px;align-items:center; }
.company-accordion { border-left:1px solid #414141; }
.company-item { position:relative;padding:0 0 0 30px; }
.company-item.is-active::before { content:'';position:absolute;left:-1px;top:0;bottom:18px;width:2px;background:#fff; }
.company-item h3 { margin:0; }
.company-item button { font:inherit;font-size:clamp(24px,2.4vw,32px);font-weight:400;text-align:left;width:100%;border:0;background:none;color:#8e9299;padding:12px 0 16px;cursor:pointer;transition:color .2s; }
.company-item button:hover,.company-item.is-active button { color:#fff; }
.company-copy p { color:#aeb3bd;font-size:17px;line-height:1.8;margin:0;padding:0 0 28px; }
.company-copy[hidden] { display:none; }
.company-intro { max-width:760px;color:#aeb3bd;font-size:17px;line-height:1.8;margin:20px 0 0; }
.company-copy .company-quality { padding:0 0 28px;color:#c3c8d0;font-size:15px; }
.company-profiles { list-style:none;margin:0 0 24px;padding:0; }
.company-profiles li { padding:15px 0;border-top:1px solid #ffffff21; }
.company-profiles strong { display:block;margin-bottom:5px;font-size:15px;font-weight:600;line-height:1.5;color:#f1f1ef; }
.company-profiles span { display:block;color:#aeb3bd;font-size:14px;line-height:1.75; }
.company-copy .company-team-close { font-size:14px;line-height:1.75;color:#aeb3bd; }
#studios-cta.btn-price-outline { background:transparent;border:1px solid var(--accent);color:#fff;margin-top:28px; }
#studios-cta.btn-price-outline:hover { background:transparent;border-color:var(--accent-hover);color:#fff;box-shadow:none; }
.company-visual { margin:0;min-width:0; }
.company-visual img { display:block;width:100%;height:auto;object-fit:contain;background:#000; }
.company-visual figcaption { color:#8f98a8;text-align:center;line-height:1.6;font-size:12px;max-width:560px;margin:22px auto 0; }
@media(max-width:900px) { .company-layout { gap:32px;grid-template-columns:minmax(240px,1fr) minmax(0,1.2fr); }.company-copy p { font-size:15px; } }
@media(max-width:680px) { .company-section { padding:62px 0; }.company-heading { margin-bottom:32px; }.company-layout { grid-template-columns:1fr;gap:30px; }.company-item { padding-left:22px; }.company-item button { font-size:25px; }.company-visual { width:100%; }.company-copy p { font-size:16px; } }

/* First-visit brand transition. The page is always usable after the short fallback. */
.page-loader { position:fixed; inset:0; z-index:10000; display:grid; place-content:center; justify-items:center; gap:28px; background:#080b10; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease,visibility .25s ease; }
.is-loading .page-loader { opacity:1; visibility:visible; pointer-events:auto; }
.page-loader img { width:min(260px,64vw); height:auto; animation:brandPulse 1.4s ease-in-out infinite; }
.page-loader-line { height:2px; width:64px; background:var(--accent); transform-origin:center; animation:brandLine 1.4s ease-in-out infinite; }
@keyframes brandPulse { 0%,100% { opacity:.45; } 50% { opacity:1; } }
@keyframes brandLine { 0%,100% { transform:scaleX(.45); opacity:.4; } 50% { transform:scaleX(1); opacity:1; } }
@media(prefers-reduced-motion:reduce) { .page-loader img,.page-loader-line { animation:none; } .page-loader { transition:none; } }
