/* INDEX.CSS — page-specific styles for index.html
   Loaded after base.css. */

html { scroll-behavior: smooth; color-scheme: light; background: #F7F3EE; }
    body {
      background: #F7F3EE; color: #18192A;
      font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
      overflow-x: hidden; -webkit-font-smoothing: antialiased;
    }
    ::-webkit-scrollbar-track { background: #F7F3EE; }
    ::-webkit-scrollbar-thumb { background: #7A5018; }

    .hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 140px 64px 100px; overflow: hidden; background: #F7F3EE; }
    .hero-grid { position: absolute; inset: 0; opacity: 0; animation: gridIn 2s 0.3s var(--ease-out) forwards; }
    @keyframes gridIn { to { opacity: 1; } }
    .hero-glow { position: absolute; inset: 0; background: radial-gradient(ellipse 55% 55% at 72% 50%, rgba(158,107,30,0.065) 0%, transparent 70%); animation: glowPulse 6s ease-in-out infinite alternate; }
    @keyframes glowPulse { from { opacity: 0.7; } to { opacity: 1; } }
    .hero-sweep { position: absolute; right: 0; top: 50%; width: 38%; height: 1px; background: linear-gradient(to left, transparent, rgba(158,107,30,0.22), #7A5018); transform: scaleX(0); transform-origin: right; animation: sweepIn 1.4s 1s var(--ease-out) forwards; }
    @keyframes sweepIn { to { transform: scaleX(1); } }
    .hero-sweep-2 { position: absolute; right: 0; top: calc(50% + 80px); width: 22%; height: 1px; background: linear-gradient(to left, transparent, #7A5018); transform: scaleX(0); transform-origin: right; animation: sweepIn 1.2s 1.3s var(--ease-out) forwards; opacity: 0.35; }
    .hero-content { position: relative; z-index: 1; }
    .hero-eyebrow { display: flex; align-items: center; gap: 18px; font-family: var(--mono); font-size: 0.80rem; letter-spacing: 0.20em; text-transform: uppercase; color: #9E6B1E; margin-bottom: 40px; font-weight: 400; opacity: 0; transform: translateY(12px); animation: fadeUp 0.8s 0.4s ease forwards; }
    .hero-eyebrow::before { content: ''; width: 42px; height: 1px; background: #7A5018; flex-shrink: 0; }
    .hero-h1 { font-family: var(--cinzel); font-size: clamp(3rem, 5.6vw, 6rem); font-weight: 500; line-height: 1.06; letter-spacing: 0.025em; max-width: 820px; color: #18192A; }
    .hero-h1 .line { display: block; overflow: hidden; }
    .hero-h1 .inner { display: block; transform: translateY(115%); animation: curtainUp 1s var(--ease-out) forwards; }
    .hero-h1 .line:nth-child(1) .inner { animation-delay: 0.45s; }
    .hero-h1 .line:nth-child(2) .inner { animation-delay: 0.60s; }
    @keyframes curtainUp { to { transform: translateY(0); } }
    .hero-h1 .gold { color: #9E6B1E; }
    .hero-sub { max-width: 520px; font-size: 1rem; font-weight: 700; color: #40455E; line-height: 1.82; margin-top: 36px; opacity: 0; transform: translateY(20px); animation: fadeUp 1s 1s ease forwards; }
    @keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }
    .hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 52px; opacity: 0; transform: translateY(20px); animation: fadeUp 1s 1.15s ease forwards; }
    .hero-scroll-ind { position: absolute; bottom: 44px; left: 64px; z-index: 1; display: flex; align-items: center; gap: 14px; font-family: var(--mono); font-size: 0.56rem; letter-spacing: 0.22em; text-transform: uppercase; color: #7C80A0; opacity: 0; animation: fadeUp 1s 1.6s ease forwards; }
    .scroll-track { width: 44px; height: 1px; background: #D2CABD; position: relative; overflow: hidden; }
    .scroll-track::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: #9E6B1E; animation: trackPulse 2.5s 2s ease infinite; }
    @keyframes trackPulse { 0% { left:-100%; } 50% { left:0%; } 100% { left:100%; } }

    .btn-gold { display: inline-flex; align-items: center; gap: 12px; font-family: var(--jakarta); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: #F7F3EE; background: #9E6B1E; padding: 16px 36px; text-decoration: none; border: none; cursor: pointer; transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; }

    .proj-showcase { position: relative; height: 92vh; min-height: 600px; overflow: hidden; background: #101320; border-top: 2px solid rgba(158,107,30,0.20); }
    .ps-top-label { position: absolute; top: 76px; left: 64px; z-index: 3; font-family: var(--cinzel); font-size: 1.02rem; font-weight: 700; letter-spacing: 0.20em; text-transform: uppercase; color: #D9BA8A; display: flex; align-items: center; gap: 16px; text-shadow: 0 2px 10px rgba(0,0,0,0.9), 0 1px 4px rgba(0,0,0,0.95); }
    .ps-top-label::before { content: ''; width: 28px; height: 1px; background: #8B6E42; }
    .ps-layer { position: absolute; inset: 0; opacity: 0; transition: opacity 1.1s ease; will-change: opacity; }
    .ps-layer.active { opacity: 1; }
    .ps-layer-0 { background: linear-gradient(145deg, #1a2840 0%, #080d14 100%); }
    .ps-layer-1 { background: linear-gradient(145deg, #1a1520 0%, #070510 100%); }
    .ps-layer-2 { background: linear-gradient(145deg, #151a28 0%, #060810 100%); }
    .ps-layer-3 { background: linear-gradient(145deg, #1a2214 0%, #070b06 100%); }
    .ps-img-slot { position: absolute; inset: 0; }
    .ps-img-slot img { width: 100%; height: 100%; object-fit: cover; transition: transform 8s ease; }
    .ps-layer.active .ps-img-slot img { transform: scale(1.04); }
    .media-photo { width: 100%; height: 100%; object-fit: cover; display: block; }
    .ps-art { position: absolute; inset: 0; opacity: 0.18; pointer-events: none; }
    .ps-veil { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to right, rgba(16,19,32,0.94) 0%, rgba(16,19,32,0.52) 55%, rgba(16,19,32,0.22) 100%), linear-gradient(to top, rgba(16,19,32,0.98) 0%, rgba(16,19,32,0.12) 45%, transparent 100%); pointer-events: none; }
    .ps-sweep { position: absolute; right: 0; top: 45%; z-index: 2; width: 32%; height: 1px; background: linear-gradient(to left, transparent, rgba(200,164,109,0.22), #8B6E42); pointer-events: none; }
    .ps-content { position: absolute; left: 64px; bottom: 155px; z-index: 3; max-width: 900px; }
    .ps-cat-row { display: flex; align-items: center; gap: 14px; font-family: var(--mono); font-size: 0.60rem; letter-spacing: 0.26em; text-transform: uppercase; color: #D9BA8A; margin-bottom: 16px; transition: opacity 0.4s ease; text-shadow: 0 2px 10px rgba(0,0,0,0.85), 0 1px 3px rgba(0,0,0,0.9); }
    .ps-sep { width: 16px; height: 1px; background: #8B6E42; flex-shrink: 0; box-shadow: 0 1px 4px rgba(0,0,0,0.7); }
    .ps-title { font-family: var(--cinzel); font-size: clamp(2.2rem, 4.4vw, 4.4rem); font-weight: 500; line-height: 1.08; letter-spacing: 0.025em; color: #ECE8DF; margin-bottom: 20px; min-height: 2.3em; text-shadow: 0 4px 18px rgba(0,0,0,0.85), 0 2px 6px rgba(0,0,0,0.9); }
    .ps-title-l1, .ps-title-l2 { display: block; }
    .ps-inaug-row { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 30px; transition: opacity 0.4s ease; }
    .ps-inaug-icon { width: 5px; height: 5px; background: #C8A46D; transform: rotate(45deg); flex-shrink: 0; margin-top: 5px; box-shadow: 0 1px 4px rgba(0,0,0,0.7); }
    .ps-inaug-text { font-family: var(--jakarta); font-size: 0.82rem; font-weight: 600; color: #D8DCEE; line-height: 1.5; font-style: italic; text-shadow: 0 2px 8px rgba(0,0,0,0.85), 0 1px 3px rgba(0,0,0,0.9); }
    .ps-link { display: inline-flex; align-items: center; gap: 14px; font-family: var(--jakarta); font-size: 0.70rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: #ECE8DF; text-decoration: none; border-bottom: 1px solid rgba(200,164,109,0.35); padding-bottom: 4px; transition: color 0.3s ease, border-color 0.3s ease; text-shadow: 0 2px 8px rgba(0,0,0,0.85), 0 1px 3px rgba(0,0,0,0.9); }
    .ps-link:hover { color: #C8A46D; border-color: #C8A46D; }
    .ps-link-arrow { display: inline-block; width: 32px; height: 1px; background: currentColor; transition: width 0.35s ease; }
    .ps-link:hover .ps-link-arrow { width: 48px; }
    .ps-strip { position: absolute; bottom: 0; left: 0; right: 0; z-index: 4; display: flex; height: 138px; background: rgba(10,12,20,0.84); backdrop-filter: blur(16px); border-top: 1px solid rgba(200,164,109,0.08); }
    .ps-strip-label { display: flex; align-items: center; padding: 0 24px; font-family: var(--mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.26em; text-transform: uppercase; color: #545878; white-space: nowrap; border-right: 1px solid rgba(200,164,109,0.07); flex-shrink: 0; }
    .ps-thumb-list { display: grid; grid-template-columns: repeat(4,1fr); flex: 1; }
    #ongoing .ps-thumb-list { grid-template-columns: repeat(3,1fr); }
    .ps-thumb { position: relative; overflow: hidden; cursor: pointer; border-right: 1px solid rgba(200,164,109,0.07); transition: background 0.3s ease; }
    .ps-thumb:last-child { border-right: none; }
    .ps-thumb:hover { background: rgba(200,164,109,0.05); }
    .ps-thumb.active { background: rgba(200,164,109,0.08); }
    .ps-thumb-art { position: absolute; inset: 0; opacity: 0.25; transition: opacity 0.35s ease; }
    .ps-thumb.active .ps-thumb-art, .ps-thumb:hover .ps-thumb-art { opacity: 0.52; }
    .ps-thumb-info { position: relative; z-index: 1; padding: 14px 16px; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
    .ps-thumb-cat { font-family: var(--mono); font-size: 0.46rem; letter-spacing: 0.2em; text-transform: uppercase; color: #C8A46D; margin-bottom: 5px; opacity: 0; transition: opacity 0.3s ease; }
    .ps-thumb.active .ps-thumb-cat, .ps-thumb:hover .ps-thumb-cat { opacity: 1; }
    .ps-thumb-name { font-family: var(--cinzel); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.03em; color: #ECE8DF; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ps-prog { position: absolute; bottom: 0; left: 0; right: 0; height: 2px; }

    .ticker { border-top: 1px solid #D2CABD; border-bottom: 1px solid #D2CABD; background: #EDE7DD; padding: 14px 0; overflow: hidden; }
    .ticker-track { display: flex; width: max-content; animation: tickerMove 35s linear infinite; }
    @keyframes tickerMove { from { transform:translateX(0); } to { transform:translateX(-50%); } }
    .ticker-item { display: flex; align-items: center; gap: 18px; padding: 0 44px; font-family: var(--mono); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #7C80A0; white-space: nowrap; }
    .ticker-diamond { width: 5px; height: 5px; background: #9E6B1E; transform: rotate(45deg); flex-shrink: 0; }

    .section { padding: 112px 64px; background: #F7F3EE; }
    .section-alt { background: #EDE7DD; }
    .section-lg { padding: 130px 64px 60px; }
    .sec-title { font-family: var(--cinzel); font-size: clamp(2rem, 3.2vw, 3.3rem); font-weight: 600; line-height: 1.14; letter-spacing: 0.02em; color: #18192A !important; margin-bottom: 32px; }
    .sec-title em { font-style: italic; color: #9E6B1E !important; font-weight: 500; }

    .about-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
    .about-body { font-size: 0.97rem; font-weight: 300; color: #40455E; line-height: 1.88; margin-bottom: 20px; }
    .about-values { display: flex; flex-direction: column; gap: 10px; margin-top: 24px; margin-bottom: 40px; }
    .about-value { display: flex; align-items: flex-start; gap: 14px; font-family: var(--jakarta); font-size: 0.88rem; color: #40455E; font-weight: 300; }
    .about-value::before { content: ''; width: 6px; height: 6px; background: #9E6B1E; transform: rotate(45deg); flex-shrink: 0; margin-top: 7px; }
    .stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: #D2CABD; }
    .stat-cell { background: #E4DBCF; padding: 44px 38px; position: relative; overflow: hidden; transition: background 0.35s ease; }
    .stat-cell::after { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: #9E6B1E; transform: scaleY(0); transform-origin: top; transition: transform 0.5s var(--ease-out); }
    .stat-cell:hover { background: #EDE7DD; }
    .stat-cell:hover::after { transform: scaleY(1); }
    .stat-num { font-family: var(--cinzel); font-size: 2.4rem; font-weight: 700; color: #18192A !important; line-height: 1; margin-bottom: 10px; }
    .stat-num .gold { color: #9E6B1E !important; }
    .stat-label { font-family: var(--jakarta); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #7C80A0; }
    .stat-currency-row { font-family: var(--mono); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.03em; color: #9E6B1E; margin-top: 12px; }

    .cap-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; background: #D2CABD; }
    .cap-item { background: #F7F3EE; padding: 52px 36px; text-align: center; transition: background 0.3s ease; }
    .cap-item:hover { background: #E4DBCF; }
    .cap-icon { width: 50px; height: 50px; color: #9E6B1E; margin: 0 auto 24px; opacity: 0.9; }
    .cap-title { font-family: var(--cinzel); font-size: 1.02rem; font-weight: 600; color: #18192A !important; margin-bottom: 14px; line-height: 1.32; }
    .cap-desc { font-family: var(--jakarta); font-size: 0.84rem; font-weight: 300; color: #40455E; line-height: 1.72; }

    .svc-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 2px; background: #D2CABD; }
    .svc-card { background: #F7F3EE; padding: 60px 52px; position: relative; overflow: hidden; transition: background 0.4s ease; }
    .svc-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, #7A5018, #9E6B1E); transform: scaleX(0); transform-origin: left; transition: transform 0.5s var(--ease-out); }
    .svc-card:hover::after { transform: scaleX(1); }
    .svc-card:hover { background: #E4DBCF; }
    .svc-icon { width: 54px; height: 54px; color: #9E6B1E; margin-bottom: 34px; opacity: 0.85; }
    .svc-index { font-family: var(--mono); font-size: 0.56rem; letter-spacing: 0.2em; color: #7A5018; margin-bottom: 16px; }
    .svc-name { font-family: var(--cinzel); font-size: 1.4rem; font-weight: 600; color: #18192A !important; margin-bottom: 16px; line-height: 1.25; letter-spacing: 0.03em; }
    .svc-desc { font-family: var(--jakarta); font-size: 0.90rem; font-weight: 300; color: #40455E; line-height: 1.78; margin-bottom: 28px; }
    .svc-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 36px; }
    .svc-list-item { display: flex; align-items: center; gap: 12px; font-family: var(--jakarta); font-size: 0.82rem; color: #40455E; font-weight: 300; }
    .svc-list-item::before { content: ''; width: 4px; height: 4px; background: #9E6B1E; border-radius: 50%; flex-shrink: 0; }
    .svc-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; width: fit-content; }
    .svc-toggle-text { font-family: var(--jakarta); font-size: 0.70rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: #9E6B1E; }
    .svc-toggle-icon { width: 14px; height: 14px; color: #9E6B1E; transition: transform 0.35s ease; flex-shrink: 0; }
    .svc-card.open .svc-toggle-icon { transform: rotate(180deg); }
    .svc-toggle:hover .svc-toggle-text { color: #7A5018; }
    .svc-expand { max-height: 0; overflow: hidden; transition: max-height 0.5s var(--ease-out); }
    .svc-expand-inner { padding-top: 22px; margin-top: 22px; border-top: 1px solid #D2CABD; }
    .svc-full { font-family: var(--jakarta); font-size: 0.86rem; font-weight: 300; color: #40455E; line-height: 1.78; }

    .clients-scroll { display: flex; overflow: hidden; border-top: 1px solid #D2CABD; border-bottom: 1px solid #D2CABD; background: #F7F3EE; }
    .clients-scroll-label { flex-shrink: 0; padding: 30px 32px; border-right: 1px solid #D2CABD; font-family: var(--mono); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: #7C80A0; display: flex; align-items: center; }
    .clients-scroll-track { flex: 1; overflow: hidden; }
    .clients-scroll-inner { display: flex; width: max-content; animation: clientsMove 11s linear infinite; }
    @keyframes clientsMove { from { transform:translateX(0); } to { transform:translateX(-50%); } }
    .client-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 28px 36px; min-width: 190px; border-right: 1px solid rgba(210,202,189,0.6); transition: opacity 0.25s ease; }
    .client-item:hover { opacity: 0.7; }
    .client-logo { width: 58px; height: 58px; border-radius: 50%; border: 1px dashed #BEB4A6; display: flex; align-items: center; justify-content: center; font-family: var(--cinzel); font-size: 1.15rem; font-weight: 600; color: #9E6B1E; background: #EDE7DD; flex-shrink: 0; overflow: hidden; }
    .client-logo.has-img { border-style: solid; border-color: #D2CABD; background: #FFFFFF; padding: 8px; }
    .client-logo.has-img img { width: 100%; height: 100%; object-fit: contain; }
    .client-logo.has-img.wide { width: 108px; border-radius: 29px; padding: 6px 10px; }
    .client-name { font-family: var(--cinzel); font-size: 0.96rem; font-weight: 700; letter-spacing: 0.02em; color: #40455E; text-align: center; line-height: 1.35; max-width: 170px; }


    .cta-section { padding: 130px 64px; text-align: center; position: relative; overflow: hidden; background: #F7F3EE; }
    .cta-content { position: relative; z-index: 1; }
    .cta-h2 { font-family: var(--cinzel); font-size: clamp(2.4rem, 5vw, 5rem); font-weight: 500; letter-spacing: 0.04em; line-height: 1.08; max-width: 700px; margin: 0 auto 28px; color: #18192A !important; }
    .cta-sub { font-family: var(--jakarta); font-size: 1rem; font-weight: 300; color: #40455E; margin-bottom: 52px; }
    .cta-acts { display: flex; align-items: center; gap: 28px; justify-content: center; margin-bottom: 56px; }
    .cta-contacts { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; max-width: 780px; margin: 0 auto; border: 1px solid #D2CABD; }
    .cta-contact-block { padding: 32px 28px; border-right: 1px solid #D2CABD; text-align: left; }
    .cta-contact-block:last-child { border-right: none; }
    .cta-contact-lbl { font-family: var(--mono); font-size: 0.52rem; letter-spacing: 0.28em; text-transform: uppercase; color: #9E6B1E; margin-bottom: 10px; }
    .cta-contact-val { font-family: var(--jakarta); font-size: 0.86rem; font-weight: 300; color: #40455E; line-height: 1.65; }
    .cta-contact-val a { color: #40455E; text-decoration: none; transition: color 0.25s ease; }
    .cta-contact-val a:hover { color: #9E6B1E; }

    .footer { background: #18192A; border-top: 1px solid rgba(200,164,109,0.14); padding: 64px 64px 44px; }
    .footer-top { display: grid; grid-template-columns: 2.2fr 1fr 1fr; gap: 56px; margin-bottom: 56px; }

    .reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out); }

    @media (max-width: 1100px) {
      .footer-top { grid-template-columns: 1fr 1fr; gap: 36px; }
      .cap-grid { grid-template-columns: repeat(2,1fr); }
    }
    @media (max-width: 900px) {
      .hero { padding: 110px 24px 80px; }
      .hero-sweep, .hero-sweep-2 { display: none; }
      .hero-eyebrow { font-size: 0.62rem; }
      .hero-scroll-ind { left: 24px; }
      .section { padding: 80px 24px; }
      .about-layout { grid-template-columns: 1fr; gap: 48px; }
      .cap-grid { grid-template-columns: repeat(2,1fr); }
      .cap-item { padding: 36px 22px; }
      .svc-grid { grid-template-columns: 1fr; }
      .svc-card { padding: 48px 32px; }
      .cta-section { padding: 90px 24px; }
      .cta-acts { flex-direction: column; align-items: center; }
      .cta-contacts { grid-template-columns: 1fr; border: 1px solid #D2CABD; }
      .cta-contact-block { border-right: none; border-bottom: 1px solid #D2CABD; }
      .cta-contact-block:last-child { border-bottom: none; }
      .footer { padding: 48px 24px 32px; }
      .footer-top { grid-template-columns: 1fr; gap: 32px; }
      .footer-bot { flex-direction: column; gap: 12px; text-align: center; }
      .proj-showcase { height: auto; aspect-ratio: 3/4; min-height: 520px; max-height: 680px; }
      .ps-veil { background: linear-gradient(to right, rgba(16,19,32,0.96) 0%, rgba(16,19,32,0.62) 55%, rgba(16,19,32,0.32) 100%), linear-gradient(to top, rgba(16,19,32,0.99) 0%, rgba(16,19,32,0.30) 42%, transparent 100%); }
      .ps-content { left: 24px; right: 24px; bottom: 148px; max-width: none; }
      .ps-title { min-height: auto; }
      .ps-strip-label { display: none; }
      .ps-strip { height: 118px; }
      .ps-top-label { left: 24px; top: 72px; font-size: 0.82rem; }
      .ps-thumb-cat { opacity: 1; }
      .clients-scroll-label { padding: 22px 20px; font-size: 0.60rem; }
      .client-item { padding: 22px 26px; min-width: 150px; }
      .client-logo { width: 48px; height: 48px; }
      .client-logo.has-img.wide { width: 90px; border-radius: 24px; padding: 5px 9px; }
    }
    @media (max-width: 600px) {
      .stat-grid { grid-template-columns: 1fr 1fr; }
      .cap-grid { grid-template-columns: 1fr; }
      .cap-item { text-align: left; padding: 30px 26px; }
      .cap-icon { margin: 0 0 16px; }
      .hero-actions { flex-direction: column; align-items: flex-start; gap: 16px; }
      .ps-thumb-list { grid-template-columns: repeat(2,1fr); }
      .ps-title { font-size: clamp(1.7rem, 7.5vw, 2.8rem); }
      .ps-content { bottom: 132px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
    }

    /* ════════════════════
       ENQUIRY MODAL
    ════════════════════ */
    .enq-overlay {
      position: fixed; inset: 0; z-index: 500;
      background: rgba(16,19,32,0.68); backdrop-filter: blur(6px);
      display: flex; align-items: center; justify-content: center; padding: 24px;
      opacity: 0; pointer-events: none; transition: opacity 0.3s ease;
    }