/* ======================================================
   BERG HOUSE — Design v3 "Navy Amber"
   Palette: Signal Amber · Deep Navy · Clear White
   ====================================================== */
   *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
   
   :root {
     /* Palette from uploaded logo */
     --ivory:   #F4F6FA;
     --ivory-2: #E8EDF6;
     --white:   #FFFFFF;
     --text:    #101936;
     --muted:   #66708A;
     --stone:   #243150;
     --brass:   #F29F05;
     --brass-lt:#FFE1A3;
     --onyx:    #070B16;
     --dark:    #1F2D53;
     --border:  #D6DEEC;
     --accent-hover:#2B3B66;
     --shadow:  0 24px 70px rgba(31,45,83,.12);

     /* Logo font system */
     --font-main: 'HelveticaNeueCyr', 'HelveticaNeueCyr-Bold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
     --font-display: 'Bank Gothic Medium BT', 'BankGothic Md BT', 'Bank Gothic', 'Arial Black', 'HelveticaNeueCyr', 'Helvetica Neue', Arial, sans-serif;
   
     /* Legacy aliases for consistency in inner pages */
     --bg:         var(--ivory);
     --white-solid: var(--white);
     --text-muted:  var(--muted);
     --accent:      var(--dark);
     --gold:        var(--brass);
     --gold-light:  var(--brass-lt);
     --dark-bg:     var(--onyx);
   
     --tr: 0.4s cubic-bezier(.25,.46,.45,.94);
     --ease-out: cubic-bezier(.16,1,.3,1);
   }
   
   html { scroll-behavior: smooth; font-size: 16px; }
   body { font-family:var(--font-main); background:var(--ivory); color:var(--text); line-height:1.6; overflow-x:hidden; }
   
   ::-webkit-scrollbar { width:3px; }
   ::-webkit-scrollbar-thumb { background:var(--brass); }
   
   /* ── TYPOGRAPHY ── */
   h1,h2,h3,h4 { font-family:var(--font-display); line-height:1.08; font-weight:400; }
   h1 { font-size:clamp(2.8rem,7vw,6.4rem); }
   h2 { font-size:clamp(1.9rem,4vw,3.4rem); }
   h3 { font-size:clamp(1.2rem,2vw,1.7rem); }
   em { font-style:italic; }
   
   .eyebrow {
     display:inline-flex; align-items:center; gap:12px;
     font-size:.6rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase;
     color:var(--brass);
   }
   .eyebrow::before { content:''; width:32px; height:1px; background:var(--brass); }
   .label { font-size:.6rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--brass); }
   
   /* ── LAYOUT ── */
   .container { max-width:1360px; margin:0 auto; padding:0 48px; }
   
   /* ── BUTTONS ── */
   .btn {
     display:inline-flex; align-items:center; gap:10px;
     padding:14px 32px; border:none; cursor:pointer;
     font-family: var(--font-main);
     font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
     text-decoration:none; transition:var(--tr); position:relative; overflow:hidden;
   }
   .btn::after { content:''; position:absolute; inset:0; background:rgba(255,255,255,.08); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease-out); }
   .btn:hover::after { transform:scaleX(1); }
   
   .btn-dark { background:var(--dark); color:var(--white); }
   .btn-dark:hover { background:var(--onyx); transform:translateY(-2px); box-shadow:0 12px 36px rgba(0,0,0,.28); }
   
   .btn-brass { background:var(--brass); color:var(--white); }
   .btn-brass:hover { background:#D88F00; transform:translateY(-2px); }
   
   .btn-outline { background:transparent; color:var(--text); border:1.5px solid var(--border); }
   .btn-outline:hover { border-color:var(--brass); color:var(--brass); }
   
   .btn-outline-light { background:transparent; color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.25); }
   .btn-outline-light:hover { background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.5); }
   
   .btn-white { background:var(--white); color:var(--dark); }
   .btn-white:hover { background:var(--brass); color:var(--white); transform:translateY(-2px); }
   
   /* Legacy aliases */
   .btn-primary { background:var(--dark); color:var(--white); }
   .btn-primary:hover { background:var(--onyx); transform:translateY(-2px); box-shadow:0 10px 32px rgba(0,0,0,.25); }
   .btn-gold { background:var(--brass); color:var(--white); }
   .btn-gold:hover { background:#D88F00; transform:translateY(-2px); }
   .btn-outline-white { background:transparent; color:rgba(255,255,255,.7); box-shadow:inset 0 0 0 1px rgba(255,255,255,.3); }
   .btn-outline-white:hover { background:rgba(255,255,255,.08); color:#fff; }
   
   /* ── HEADER ── */
   .header {
     position:fixed; top:0; left:0; right:0; z-index:1000;
     padding:24px 0;
     transition:padding .45s var(--ease-out), background .4s, box-shadow .4s;
   }
   .header.scrolled {
     padding:11px 0;
     background:rgba(244,246,250,.95);
     backdrop-filter:blur(24px) saturate(1.4);
     box-shadow:0 1px 0 var(--border);
   }
   .nav-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; }
   
   .logo {
     text-decoration:none; display:inline-flex; align-items:center; flex-shrink:0;
     position:relative; isolation:isolate; overflow:visible;
     padding:0; background:transparent; border:0; box-shadow:none;
     transition:transform .45s var(--ease-out), filter .45s var(--ease-out);
   }
   .logo::after {
     content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; z-index:0;
     background:linear-gradient(90deg, transparent, var(--brass), transparent);
     transform:scaleX(0); opacity:0; transition:transform .55s var(--ease-out), opacity .35s;
   }
   .logo:hover { transform:translateY(-2px); filter:drop-shadow(0 12px 22px rgba(31,45,83,.24)); }
   .logo:hover::after { transform:scaleX(1); opacity:1; }
   .logo-img {
     display:block; width:auto; height:clamp(54px,4.4vw,72px); object-fit:contain; position:relative; z-index:1;
     transform-origin:center; transition:transform .55s var(--ease-out), filter .45s;
   }
   .logo:hover .logo-img { transform:scale(1.045); filter:drop-shadow(0 7px 14px rgba(242,159,5,.22)); }
   .header.scrolled .logo { background:transparent; box-shadow:none; }
   .footer .logo { background:transparent; box-shadow:none; }
   .footer .logo-img { height:66px; }
   .logo-mark { display:none; }
   .logo-text-wrap { display:none; }
   .logo-name, .logo-sub { display:none; }
   
   .nav-list { display:flex; align-items:center; gap:36px; list-style:none; }
   .nav-link {
     font-size:.74rem; font-weight:500; letter-spacing:.04em;
     color:rgba(255,255,255,.75); text-decoration:none;
     position:relative; padding-bottom:3px; transition:color var(--tr);
   }
   .nav-link::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--brass); transition:width .45s var(--ease-out); }
   .nav-link:hover, .nav-link.active { color:#fff; }
   .nav-link:hover::after, .nav-link.active::after { width:100%; }
   .header.scrolled .nav-link { color:var(--muted); }
   .header.scrolled .nav-link:hover, .header.scrolled .nav-link.active { color:var(--text); }
   
   .nav-cta {
     padding:10px 24px; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
     background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.22);
     text-decoration:none; transition:var(--tr); white-space:nowrap; backdrop-filter:blur(8px);
   }
   .nav-cta:hover { background:var(--brass); border-color:var(--brass); color:#fff; }
   .header.scrolled .nav-cta { background:var(--dark); color:#fff; border-color:var(--dark); }
   .header.scrolled .nav-cta:hover { background:var(--brass); border-color:var(--brass); }
   
   .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
   .hamburger span { display:block; width:24px; height:1.5px; background:#fff; transition:var(--tr); }
   .header.scrolled .hamburger span { background:var(--text); }
   .hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
   .hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
   .hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
   
   /* ── MOBILE NAV ── */
   .mobile-nav {
     position:fixed; inset:0; z-index:999; background:var(--onyx);
     display:flex; flex-direction:column; justify-content:center; padding:60px 48px;
     transform:translateX(100%); opacity:0;
     transition:transform .6s var(--ease-out), opacity .5s;
     pointer-events:none;
   }
   .mobile-nav.open { transform:translateX(0); opacity:1; pointer-events:all; }
   .mobile-nav-list { list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:48px; }
   .mobile-nav-link {
     font-family: var(--font-display);
     font-size:clamp(2rem,7vw,3.2rem); font-weight:400;
     color:rgba(255,255,255,.75); text-decoration:none;
     transition:color .3s; display:flex; align-items:center; gap:14px;
     padding:8px 0; border-bottom:1px solid rgba(255,255,255,.05);
   }
   .mobile-nav-link:hover { color:var(--brass); }
   .mobile-nav-link span { font-size:.56rem; letter-spacing:.18em; color:var(--brass); font-family: var(--font-main); font-weight:700; text-transform:uppercase; flex-shrink:0; }
   .mobile-nav-contacts { color:rgba(255,255,255,.28); font-size:.82rem; }
   .mobile-nav-contacts a { color:rgba(255,255,255,.45); text-decoration:none; display:block; margin-bottom:8px; transition:color .3s; }
   .mobile-nav-contacts a:hover { color:var(--brass); }
   
   /* ── HERO ── */
   .hero { position:relative; height:100vh; min-height:660px; overflow:hidden; display:flex; align-items:center; }
   .hero-video {
     position:absolute; inset:0; width:100%; height:115%;
     object-fit:cover; z-index:1; top:-7.5%; will-change:transform;
   }
   .hero-overlay {
     position:absolute; inset:0; z-index:2;
     background:linear-gradient(140deg,rgba(7,11,22,.82) 0%,rgba(31,45,83,.5) 55%,rgba(7,11,22,.68) 100%);
   }
   .hero-noise {
     position:absolute; inset:0; z-index:3; opacity:.35; pointer-events:none;
     background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
   }
   .hero-content { position:relative; z-index:4; color:#fff; max-width:960px; }
   .hero-eyebrow {
     display:inline-flex; align-items:center; gap:14px; margin-bottom:28px;
     opacity:0; transform:translateY(20px);
     animation:slideUp .8s var(--ease-out) .35s forwards;
   }
   .hero-eyebrow-line { width:36px; height:1px; background:var(--brass); }
   .hero-eyebrow-text { font-size:.62rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--brass); }
   .hero-title {
     font-weight:300; line-height:.9; letter-spacing:-.02em;
     margin-bottom:28px; color:#fff;
     opacity:0; transform:translateY(48px);
     animation:slideUp 1s var(--ease-out) .5s forwards;
   }
   .hero-title .thin { font-weight:300; display:block; }
   .hero-title .bold { font-weight:600; display:block; }
   .hero-title .italic { font-style:italic; color:var(--brass); }
   .hero-desc {
     font-size:.96rem; font-weight:300; line-height:1.8;
     color:rgba(255,255,255,.55); max-width:460px; margin-bottom:40px;
     opacity:0; transform:translateY(24px);
     animation:slideUp .9s var(--ease-out) .75s forwards;
   }
   .hero-actions {
     display:flex; gap:14px; flex-wrap:wrap;
     opacity:0; transform:translateY(16px);
     animation:slideUp .9s var(--ease-out) .95s forwards;
   }
   .hero-scroll-hint {
     position:absolute; bottom:40px; left:50%; transform:translateX(-50%); z-index:4;
     display:flex; flex-direction:column; align-items:center; gap:8px;
     animation:fadeIn 1s 2s both;
   }
   .hero-scroll-text { font-size:.56rem; letter-spacing:.24em; text-transform:uppercase; color:rgba(255,255,255,.3); }
   .scroll-bar { width:1px; height:52px; background:rgba(255,255,255,.1); position:relative; overflow:hidden; }
   .scroll-bar::after {
     content:''; position:absolute; top:-52px; left:0; width:100%; height:52px;
     background:linear-gradient(to bottom,transparent,var(--brass));
     animation:scrollDown 2.4s ease-in-out 2.2s infinite;
   }
   .hero-corner-stats {
     position:absolute; bottom:40px; right:52px; z-index:4;
     display:flex; gap:48px;
     opacity:0; animation:fadeIn 1s 1.6s both;
   }
   .hero-corner-stat { text-align:right; }
   .hero-corner-num { font-family: var(--font-display); font-size:2.4rem; font-weight:300; line-height:1; color:#fff; display:block; }
   .hero-corner-label { font-size:.56rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.3); }
   
   /* ── TICKER ── */
   .ticker { border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--ivory); padding:12px 0; overflow:hidden; position:relative; }
   .ticker::before,.ticker::after { content:''; position:absolute; top:0; bottom:0; width:60px; z-index:1; pointer-events:none; }
   .ticker::before { left:0; background:linear-gradient(to right,var(--ivory),transparent); }
   .ticker::after { right:0; background:linear-gradient(to left,var(--ivory),transparent); }
   .ticker-track { display:flex; width:max-content; animation:ticker 36s linear infinite; }
   .ticker-track:hover { animation-play-state:paused; }
   .ticker-item {
     display:inline-flex; align-items:center; gap:20px; padding:0 24px;
     white-space:nowrap; font-size:.62rem; font-weight:600; letter-spacing:.2em;
     text-transform:uppercase; color:var(--muted); transition:color .3s;
   }
   .ticker-item:hover { color:var(--text); }
   .ticker-dot { width:3px; height:3px; border-radius:50%; background:var(--brass); flex-shrink:0; }
   
   /* ── INTRO / NUMBERS STRIP ── */
   .numbers-strip { background:var(--dark); padding:60px 0; }
   .numbers-strip-grid { display:grid; grid-template-columns:repeat(4,1fr); }
   .ns-item { padding:32px 40px; border-right:1px solid rgba(255,255,255,.07); position:relative; }
   .ns-item:last-child { border-right:none; }
   .ns-num {
     font-family: var(--font-display); font-size:clamp(3.2rem,5vw,5.2rem);
     font-weight:300; line-height:1; color:#fff; display:block; margin-bottom:8px;
   }
   .ns-sfx { color:var(--brass); }
   .ns-lbl { font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.35); font-weight:600; }
   .ns-item::after { content:''; position:absolute; bottom:0; left:40px; width:0; height:1px; background:var(--brass); transition:width .6s var(--ease-out); }
   .ns-item.on::after { width:calc(100% - 80px); }
   
   /* ── ABOUT ── */
   .about { padding:110px 0; overflow:hidden; }
   .about-inner { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; align-items:center; }
   
   /* Mosaic grid layout — no absolute positioning */
   .about-visual {
     display:grid;
     grid-template-columns:1.25fr 1fr;
     grid-template-rows:1fr auto;
     gap:12px;
     min-height:520px;
   }
   .about-img-main-wrap {
     grid-column:1; grid-row:1/3;
     overflow:hidden; position:relative;
   }
   .about-img-main {
     width:100%; height:100%; object-fit:cover; display:block;
     transform:scale(1.06); transition:transform 1.1s var(--ease-out);
     will-change:transform;
   }
   .about-visual:hover .about-img-main { transform:scale(1.0); }
   .about-img-accent-wrap {
     grid-column:2; grid-row:1;
     overflow:hidden; position:relative;
   }
   .about-img-accent {
     width:100%; height:100%; object-fit:cover; display:block;
     transform:scale(1.06); transition:transform 1.1s var(--ease-out) .05s;
   }
   .about-visual:hover .about-img-accent { transform:scale(1.0); }
   .about-stat-card {
     grid-column:2; grid-row:2;
     background:var(--brass);
     display:flex; flex-direction:column;
     align-items:center; justify-content:center;
     text-align:center; padding:28px 20px;
     position:relative; overflow:hidden;
     animation:float 7s ease-in-out infinite;
   }
   .about-stat-card::before {
     content:''; position:absolute; inset:0;
     background:radial-gradient(circle at 30% 70%, rgba(255,255,255,.12) 0%, transparent 60%);
     pointer-events:none;
   }
   .about-stat-num {
     font-family: var(--font-display);
     font-size:3rem; font-weight:400; line-height:1; color:#fff; display:block;
   }
   .about-stat-lbl { font-size:.5rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.78); margin-top:6px; display:block; }
   
   .about-content .label { display:block; margin-bottom:16px; }
   .about-heading { margin-bottom:20px; }
   .about-heading em { font-style:italic; color:var(--brass); }
   .about-text { color:var(--muted); font-size:.94rem; line-height:1.85; margin-bottom:14px; }
   .about-values { list-style:none; display:flex; flex-direction:column; gap:0; margin:28px 0; }
   .about-values li {
     display:flex; align-items:center; gap:14px;
     font-size:.84rem; font-weight:500; color:var(--text);
     padding:11px 0; border-bottom:1px solid var(--border);
     transition:padding-left .3s var(--ease-out), color .3s;
   }
   .about-values li:first-child { border-top:1px solid var(--border); }
   .about-values li:hover { padding-left:8px; color:var(--brass); }
   .about-values li::before { content:''; flex-shrink:0; width:20px; height:1px; background:var(--brass); transition:width .3s; }
   .about-values li:hover::before { width:32px; }
   .about-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
   
   /* ── SERVICES ── */
   .services { background:var(--onyx); }
   .services-head { padding:80px 48px 56px; display:flex; justify-content:space-between; align-items:flex-end; max-width:1360px; margin:0 auto; }
   .services-head-left .label { display:block; margin-bottom:14px; }
   .services-head-left h2 { color:#fff; max-width:480px; }
   .services-head-left h2 em { color:var(--brass); }
   .services-head-right { max-width:280px; color:rgba(255,255,255,.38); font-size:.86rem; line-height:1.75; }
   .services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.04); }
   .service-card { position:relative; overflow:hidden; cursor:pointer; aspect-ratio:3/4; }
   .service-card-bg {
     position:absolute; inset:-5% 0; width:100%; height:110%;
     object-fit:cover; transition:transform .9s var(--ease-out), filter .5s;
     filter:brightness(.75) saturate(.8);
     will-change:transform;
   }
   .service-card:hover .service-card-bg { transform:scale(1.06); filter:brightness(.5) saturate(.7); }
   .service-card-num {
     position:absolute; top:24px; right:24px; z-index:3;
     font-family: var(--font-display); font-size:4rem; font-weight:300;
     color:rgba(255,255,255,.12); line-height:1;
     transition:color .5s, transform .5s var(--ease-out);
   }
   .service-card:hover .service-card-num { color:rgba(255,255,255,.06); transform:scale(.8) translateY(-8px); }
   .service-card-body {
     position:absolute; bottom:0; left:0; right:0; padding:28px 26px 30px;
     background:linear-gradient(to top,rgba(7,11,22,.95) 40%,transparent);
     transition:background .4s;
   }
   .service-card:hover .service-card-body { background:linear-gradient(to top,rgba(7,11,22,.99) 55%,rgba(7,11,22,.1)); }
   .service-title { font-family: var(--font-display); font-size:1.45rem; font-weight:400; color:#fff; line-height:1.2; margin-bottom:8px; }
   .service-desc {
     font-size:.8rem; color:rgba(255,255,255,.5); line-height:1.68;
     max-height:0; overflow:hidden; opacity:0;
     transition:max-height .55s var(--ease-out), opacity .4s;
   }
   .service-card:hover .service-desc { max-height:90px; opacity:1; }
   .service-link {
     display:inline-flex; align-items:center; gap:8px;
     font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
     color:var(--brass); text-decoration:none; margin-top:14px;
     transform:translateY(6px); opacity:0;
     transition:transform .4s var(--ease-out), opacity .4s;
   }
   .service-card:hover .service-link { transform:translateY(0); opacity:1; }
   .service-card-bottom-line {
     position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--brass);
     transform:scaleX(0); transform-origin:left;
     transition:transform .6s var(--ease-out);
   }
   .service-card:hover .service-card-bottom-line { transform:scaleX(1); }
   .services-more { padding:52px 48px; max-width:1360px; margin:0 auto; }
   
   /* ── ABOUT ── */
   /* Already defined above */
   
   /* ── MARQUEE PROJECTS ── */
   .projects { padding:100px 0; }
   .projects-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:52px; }
   .projects-head-left .label { display:block; margin-bottom:14px; }
   .projects-head-left h2 em { font-style:italic; }
   .projects-grid {
     display:grid;
     grid-template-columns:repeat(12,1fr);
     grid-template-rows:460px 300px;
     gap:12px;
   }
   .proj { position:relative; overflow:hidden; cursor:pointer; }
   .proj:nth-child(1) { grid-column:1/8;  grid-row:1; }
   .proj:nth-child(2) { grid-column:8/13; grid-row:1; }
   .proj:nth-child(3) { grid-column:1/5;  grid-row:2; }
   .proj:nth-child(4) { grid-column:5/9;  grid-row:2; }
   .proj:nth-child(5) { grid-column:9/13; grid-row:2; }
   .proj-img {
     width:100%; height:100%; object-fit:cover; display:block;
     transform:scale(1.06);
     transition:transform .9s var(--ease-out), filter .5s;
     filter:brightness(.96);
   }
   .proj:hover .proj-img { transform:scale(1.1); filter:brightness(.7); }
   .proj-overlay { position:absolute; inset:0; background:rgba(7,11,22,0); display:flex; align-items:flex-end; transition:background .5s; }
   .proj:hover .proj-overlay { background:rgba(7,11,22,.52); }
   .proj-info { padding:22px; color:#fff; transform:translateY(14px); opacity:0; transition:transform .42s var(--ease-out), opacity .38s; }
   .proj:hover .proj-info { transform:translateY(0); opacity:1; }
   .proj-cat { font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; color:var(--brass); display:block; margin-bottom:5px; font-weight:700; }
   .proj-name { font-family: var(--font-display); font-size:1.3rem; font-weight:400; color:#fff; line-height:1.2; }
   .proj-year { font-size:.72rem; color:rgba(255,255,255,.38); margin-top:2px; }
   
   /* ── DIVIDER SECTION ── */
   .section-divider { padding:80px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); overflow:hidden; }
   .section-divider-inner { display:flex; align-items:center; gap:60px; }
   .section-divider-text { flex:1; }
   .section-divider-text .label { display:block; margin-bottom:14px; }
   .section-divider-text h2 { max-width:480px; }
   .section-divider-text h2 em { font-style:italic; color:var(--brass); }
   .section-divider-stat { flex-shrink:0; text-align:right; }
   .divider-big-num { font-family: var(--font-display); font-size:clamp(4rem,8vw,8rem); font-weight:300; line-height:1; color:var(--border); }
   
   /* ── WHY ── */
   .why { padding:100px 0; background:var(--ivory-2); }
   .why-inner { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; align-items:center; }
   .why-visual {
     display:grid;
     grid-template-columns:1fr 0.55fr;
     grid-template-rows:1fr auto;
     gap:12px;
     min-height:480px;
   }
   .why-img-wrap {
     grid-column:1; grid-row:1/3;
     overflow:hidden;
   }
   .why-img-main {
     width:100%; height:100%; object-fit:cover; display:block;
     transform:scale(1.06); transition:transform 1.1s var(--ease-out);
     will-change:transform;
   }
   .why-visual:hover .why-img-main { transform:scale(1.0); }
   .why-img-sub-wrap {
     grid-column:2; grid-row:1;
     overflow:hidden;
   }
   .why-img-sub {
     width:100%; height:100%; object-fit:cover; display:block;
     transform:scale(1.06); transition:transform 1.1s var(--ease-out) .05s;
   }
   .why-visual:hover .why-img-sub { transform:scale(1.0); }
   .why-years-card {
     grid-column:2; grid-row:2;
     background:var(--dark); color:rgba(255,255,255,.9);
     display:flex; flex-direction:column; align-items:center; justify-content:center;
     text-align:center; padding:24px 16px; position:relative; overflow:hidden;
   }
   .why-years-card::after {
     content:''; position:absolute; inset:0;
     background:linear-gradient(135deg, rgba(178,140,58,.15) 0%, transparent 60%);
   }
   .why-years-num {
     font-family: var(--font-display);
     font-size:2.4rem; font-weight:300; line-height:1; color:var(--brass); display:block;
   }
   .why-years-lbl { font-size:.48rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.42); margin-top:5px; display:block; }
   .why-content .label { display:block; margin-bottom:16px; }
   .why-content h2 { margin-bottom:16px; }
   .why-content h2 em { font-style:italic; color:var(--brass); }
   .why-content > p { color:var(--muted); line-height:1.82; margin-bottom:40px; font-size:.94rem; }
   .why-features { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-bottom:40px; }
   .feat {
     background:var(--ivory-2); padding:24px 20px;
     transition:background .3s, transform .35s var(--ease-out);
     cursor:default;
   }
   .feat:hover { background:var(--white); transform:translateY(-2px); }
   .feat-num {
     font-family: var(--font-display); font-size:2rem; font-weight:300;
     color:var(--border); line-height:1; display:block; margin-bottom:10px;
     transition:color .3s;
   }
   .feat:hover .feat-num { color:var(--brass); }
   .feat h4 { font-family: var(--font-main); font-size:.82rem; font-weight:700; margin-bottom:6px; }
   .feat p { font-size:.78rem; color:var(--muted); line-height:1.65; }
   
   /* ── PROCESS ── */
   .process { padding:90px 0; background:var(--white); }
   .process-head { text-align:center; max-width:560px; margin:0 auto 64px; }
   .process-head .label { display:block; margin-bottom:14px; }
   .process-head h2 em { font-style:italic; }
   .process-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; }
   .process-steps::before { content:''; position:absolute; top:40px; left:10%; right:10%; height:1px; background:var(--border); }
   .process-steps::after { content:''; position:absolute; top:40px; left:10%; width:0; height:1px; background:var(--brass); transition:width 1.5s var(--ease-out); }
   .process-steps.on::after { width:80%; }
   .process-step { text-align:center; padding:0 14px; position:relative; }
   .step-num {
     width:80px; height:80px; border-radius:50%;
     border:1px solid var(--border); background:var(--white);
     display:flex; align-items:center; justify-content:center;
     margin:0 auto 20px;
     font-family: var(--font-display); font-size:1.8rem; font-weight:300; color:var(--muted);
     position:relative; z-index:1; transition:var(--tr);
   }
   .process-step:hover .step-num { border-color:var(--brass); color:var(--brass); background:var(--brass-lt); }
   .step-title { font-size:.82rem; font-weight:700; margin-bottom:7px; color:var(--text); }
   .step-desc { font-size:.76rem; color:var(--muted); line-height:1.65; }
   
   /* ── CTA ── */
   .cta { background:var(--dark); padding:0; position:relative; overflow:hidden; }
   .cta-inner { display:grid; grid-template-columns:1fr 1fr; min-height:480px; }
   .cta-left { padding:80px 64px; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:1; }
   .cta-left .label { display:block; margin-bottom:20px; }
   .cta-left h2 { color:#fff; margin-bottom:16px; }
   .cta-left h2 em { font-style:italic; color:var(--brass); }
   .cta-left p { color:rgba(255,255,255,.5); font-size:.92rem; line-height:1.8; margin-bottom:36px; max-width:420px; }
   .cta-right {
     position:relative; overflow:hidden;
   }
   .cta-right img {
     position:absolute; inset:-10% 0; width:100%; height:120%;
     object-fit:cover; opacity:.35; will-change:transform;
   }
   .cta-right-overlay { position:absolute; inset:0; background:linear-gradient(to right,var(--dark) 0%,transparent 40%); }
   .cta-phone-block { margin-top:48px; padding-top:32px; border-top:1px solid rgba(255,255,255,.1); }
   .cta-phone-label { font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.3); display:block; margin-bottom:6px; }
   .cta-phone-num { font-family: var(--font-display); font-size:1.9rem; font-weight:400; color:#fff; text-decoration:none; transition:color var(--tr); }
   .cta-phone-num:hover { color:var(--brass); }
   
   /* ── FOOTER ── */
   .footer { background:var(--onyx); color:rgba(255,255,255,.38); }
   .footer-top { display:grid; grid-template-columns:1.8fr 1fr 1fr 1.5fr; gap:52px; padding:68px 0 56px; border-bottom:1px solid rgba(255,255,255,.06); }
   .footer-brand-desc { font-size:.82rem; line-height:1.78; margin-top:20px; max-width:256px; }
   .footer-col-title { font-size:.58rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.8); margin-bottom:20px; display:block; }
   .footer-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
   .footer-links a { font-size:.82rem; color:rgba(255,255,255,.35); text-decoration:none; transition:color var(--tr), padding-left var(--tr); display:inline-block; }
   .footer-links a:hover { color:var(--brass); padding-left:5px; }
   .footer-contact-row { display:flex; gap:11px; font-size:.82rem; margin-bottom:11px; align-items:flex-start; }
   .footer-contact-row a { color:rgba(255,255,255,.35); text-decoration:none; transition:color var(--tr); }
   .footer-contact-row a:hover { color:var(--brass); }
   .footer-contact-icon { color:var(--brass); flex-shrink:0; font-size:.86rem; margin-top:1px; }
   .footer-bottom { display:flex; justify-content:space-between; align-items:center; padding:26px 0; font-size:.74rem; }
   .footer-socials { display:flex; gap:8px; }
   .footer-social {
     width:36px; height:36px; border:1px solid rgba(255,255,255,.08);
     display:flex; align-items:center; justify-content:center;
     text-decoration:none; color:rgba(255,255,255,.32); font-size:.78rem;
     transition:var(--tr);
     clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
   }
   .footer-social:hover { background:var(--brass); color:#fff; border-color:var(--brass); }
   
   /* ── PAGE HERO ── */
   .page-hero { padding:150px 0 70px; background:var(--dark); position:relative; overflow:hidden; }
   .page-hero-bg {
     position:absolute; inset:-12% 0; width:100%; height:124%;
     object-fit:cover; opacity:.12; will-change:transform;
   }
   .page-hero-content { position:relative; z-index:1; }
   .page-hero-content .label { display:block; margin-bottom:14px; }
   .page-hero-content h1 { color:#fff; max-width:720px; }
   .page-hero-content h1 em { font-style:italic; color:var(--brass); }
   .page-hero-content p { color:rgba(255,255,255,.42); font-size:.95rem; max-width:500px; margin-top:18px; line-height:1.8; }
   .breadcrumb { display:flex; align-items:center; gap:10px; margin-bottom:32px; font-size:.7rem; letter-spacing:.08em; }
   .breadcrumb a { color:rgba(255,255,255,.28); text-decoration:none; transition:color var(--tr); }
   .breadcrumb a:hover { color:var(--brass); }
   .breadcrumb-sep { color:rgba(255,255,255,.16); }
   .breadcrumb-current { color:var(--brass); font-weight:700; }
   
   /* ── ANIMATIONS ── */
   @keyframes slideUp  { to { opacity:1; transform:translateY(0); } }
   @keyframes fadeIn   { from { opacity:0; } to { opacity:1; } }
   @keyframes ticker   { from { transform:translateX(0); } to { transform:translateX(-50%); } }
   @keyframes scrollDown { 0% { top:-52px; } 100% { top:100%; } }
   @keyframes float    { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
   
   /* ── SCROLL REVEAL ── */
   .rev {
     opacity:0; transform:translateY(32px); filter:blur(2px);
     transition:opacity .8s var(--ease-out), transform .8s var(--ease-out), filter .7s;
   }
   .rev.on { opacity:1; transform:translateY(0); filter:blur(0); }
   .rev-l {
     opacity:0; transform:translateX(-32px); filter:blur(2px);
     transition:opacity .85s var(--ease-out), transform .85s var(--ease-out), filter .75s;
   }
   .rev-l.on { opacity:1; transform:translateX(0); filter:blur(0); }
   .rev-r {
     opacity:0; transform:translateX(32px); filter:blur(2px);
     transition:opacity .85s var(--ease-out), transform .85s var(--ease-out), filter .75s;
   }
   .rev-r.on { opacity:1; transform:translateX(0); filter:blur(0); }
   .rev-scale {
     opacity:0; transform:scale(.93);
     transition:opacity .85s var(--ease-out), transform .85s var(--ease-out);
   }
   .rev-scale.on { opacity:1; transform:scale(1); }
   .d1 { transition-delay:.1s; } .d2 { transition-delay:.2s; }
   .d3 { transition-delay:.3s; } .d4 { transition-delay:.4s; }
   .d5 { transition-delay:.5s; }
   .stagger > *:nth-child(1) { transition-delay:.05s; }
   .stagger > *:nth-child(2) { transition-delay:.12s; }
   .stagger > *:nth-child(3) { transition-delay:.19s; }
   .stagger > *:nth-child(4) { transition-delay:.26s; }
   .stagger > *:nth-child(5) { transition-delay:.33s; }
   .stagger > *:nth-child(6) { transition-delay:.4s; }
   
   /* ── INLINE FORM ── */
   .inline-form { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; max-width:680px; }
   .inline-form input {
     padding:14px 18px; border:1px solid rgba(255,255,255,.14);
     background:rgba(255,255,255,.06); color:#fff;
     font-family: var(--font-main); font-size:.84rem;
     outline:none; transition:border-color .3s;
   }
   .inline-form input::placeholder { color:rgba(255,255,255,.28); }
   .inline-form input:focus { border-color:var(--brass); }
   .form-success { text-align:center; padding:44px 20px; }
   .form-success-icon { width:52px; height:52px; border-radius:50%; background:var(--brass); color:#fff; font-size:1.4rem; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
   .form-success h3 { font-family: var(--font-display); font-size:1.8rem; margin-bottom:7px; color:#fff; }
   .form-success p { color:rgba(255,255,255,.48); font-size:.88rem; }
   
   /* ── PORTFOLIO CARDS ── */
   .pcard { cursor:pointer; }
   .pcard-img-wrap { position:relative; overflow:hidden; }
   .pcard-img { width:100%; display:block; object-fit:cover; transform:scale(1.04); transition:transform .8s var(--ease-out), filter .5s; filter:brightness(.97); }
   .pcard.featured .pcard-img { aspect-ratio:16/7; }
   .pcard:hover .pcard-img { transform:scale(1.08); filter:brightness(.86); }
   .pcard-overlay { position:absolute; inset:0; background:rgba(7,11,22,0); display:flex; align-items:center; justify-content:center; transition:background .45s; }
   .pcard:hover .pcard-overlay { background:rgba(7,11,22,.48); }
   .pcard-view {
     display:inline-flex; align-items:center; gap:10px;
     padding:11px 24px; border:1px solid rgba(255,255,255,.55);
     font-family: var(--font-main);
     font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
     color:#fff; text-decoration:none;
     opacity:0; transform:translateY(10px) scale(.97);
     transition:opacity .35s, transform .4s var(--ease-out), border-color .3s, color .3s;
   }
   .pcard:hover .pcard-view { opacity:1; transform:translateY(0) scale(1); }
   .pcard-view:hover { border-color:var(--brass); color:var(--brass); }
   .pcard-body { padding:16px 0 24px; border-bottom:1px solid var(--border); }
   .pcard-body .pcard-cat { font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--brass); display:block; margin-bottom:6px; font-weight:700; }
   .pcard-body .pcard-name { font-family: var(--font-display); font-size:1.2rem; font-weight:400; color:var(--text); line-height:1.25; margin-bottom:4px; }
   .pcard-body .pcard-meta { font-size:.74rem; color:var(--muted); }
   
   /* ── RESPONSIVE ── */
   @media(max-width:1200px) {
     .container { padding:0 28px; }
     .services-grid { grid-template-columns:repeat(2,1fr); }
     .numbers-strip-grid { grid-template-columns:repeat(2,1fr); }
     .ns-item:nth-child(2) { border-right:none; }
     .ns-item:nth-child(3) { border-top:1px solid rgba(255,255,255,.07); }
     .footer-top { grid-template-columns:1fr 1fr; gap:40px; }
     .process-steps { grid-template-columns:1fr 1fr; gap:40px; }
     .process-steps::before,.process-steps::after { display:none; }
     .process-step:last-child { grid-column:span 2; max-width:240px; margin:0 auto; }
     .cta-inner { grid-template-columns:1fr; }
     .cta-right { min-height:300px; }
   }
   @media(max-width:960px) {
     .about-inner,.why-inner { grid-template-columns:1fr; gap:48px; }
     .why-visual { grid-template-columns:1fr .45fr; }
     .projects-grid { grid-template-columns:1fr 1fr; grid-template-rows:380px 300px 300px; }
     .proj:nth-child(1) { grid-column:1/-1; grid-row:1; }
     .proj:nth-child(2) { grid-column:1;    grid-row:2; }
     .proj:nth-child(3) { grid-column:2;    grid-row:2; }
     .proj:nth-child(4) { grid-column:1;    grid-row:3; }
     .proj:nth-child(5) { grid-column:2;    grid-row:3; }
     .services-head { flex-direction:column; align-items:flex-start; gap:18px; }
     .projects-head { flex-direction:column; align-items:flex-start; gap:16px; }
     .hero-corner-stats { display:none; }
     .section-divider-inner { flex-direction:column; gap:32px; }
     .section-divider-stat { text-align:left; }
   }
   @media(max-width:768px) {
     .container { padding:0 16px; }
     .logo { padding:0; }
     .logo-img { height:46px; }
     .footer .logo-img { height:54px; }
     .nav-list,.nav-cta { display:none; }
     .hamburger { display:flex; }
     .services-grid { grid-template-columns:1fr; }
     .why-features { grid-template-columns:1fr; }
     .projects-grid { grid-template-columns:1fr; grid-template-rows:repeat(5, 280px); }
     .proj { grid-column:1/-1 !important; grid-row:auto !important; }
     .process-steps { grid-template-columns:1fr; }
     .process-step:last-child { grid-column:span 1; max-width:none; }
     .footer-top { grid-template-columns:1fr; gap:32px; }
     .footer-bottom { flex-direction:column; gap:18px; text-align:center; }
     .about-visual { grid-template-columns:1fr 1fr; min-height:280px; }
     .why-visual { grid-template-columns:1fr; min-height:260px; }
     .why-img-sub-wrap, .why-years-card { display:none; }
     .why-img-wrap { grid-row:1; }
     .inline-form { grid-template-columns:1fr; }
     .cta-left { padding:60px 32px; }
     .numbers-strip-grid { grid-template-columns:1fr 1fr; }
   }

/* === FIXES v3: logo readability, inner CTA, about stats === */
.header:not(.scrolled) .logo {
  padding: 7px 12px;
  margin: -7px -12px;
  background: rgba(255,255,255,.90);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 14px 34px rgba(7,11,22,.22);
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.header:not(.scrolled) .logo:hover {
  filter: none;
  box-shadow: 0 18px 42px rgba(7,11,22,.28);
}
.header:not(.scrolled) .logo-img {
  filter: drop-shadow(0 2px 3px rgba(7,11,22,.10));
}
.header.scrolled .logo {
  padding: 0;
  margin: 0;
  clip-path: none;
}
.header.scrolled .logo-img { filter: none; }

.cta > .cta-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: .22;
  filter: saturate(.85) contrast(1.05) brightness(.62);
  transform: translate3d(0,0,0) scale(1.08);
  z-index: 0;
}
.cta > .container {
  position: relative;
  z-index: 2;
}
.cta-content {
  max-width: 760px;
  padding: 16px 0;
}
.cta-content .label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.cta-content .label::before {
  content: '';
  width: 34px;
  height: 1px;
  background: var(--brass);
}
.cta-content h2 {
  color: #fff;
  max-width: 760px;
  margin-bottom: 16px;
  text-shadow: 0 12px 34px rgba(0,0,0,.28);
}
.cta-content h2 em { color: var(--brass); }
.cta-content p {
  color: rgba(255,255,255,.72);
  max-width: 620px;
  margin-bottom: 34px;
  font-size: .98rem;
  line-height: 1.78;
}
.cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
}
.stat-item {
  min-height: 190px;
  padding: 38px 34px;
  background: linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
  border: 0 !important;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: transform var(--tr), background var(--tr), box-shadow var(--tr);
}
.stat-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--brass);
  transform: scaleY(.32);
  transform-origin: top;
  transition: transform .55s var(--ease-out);
}
.stat-item::after {
  content: '';
  position: absolute;
  right: -60px;
  top: -60px;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(242,159,5,.26);
  transform: rotate(45deg);
}
.stat-item:hover {
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(0,0,0,.16);
}
.stat-item:hover::before { transform: scaleY(1); }
.stat-num {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 4vw, 4.3rem);
  font-weight: 700;
  line-height: .95;
  letter-spacing: .02em;
  display: flex;
  align-items: baseline;
  gap: 6px;
  position: relative;
  z-index: 1;
}
.stat-sfx {
  font-family: var(--font-main);
  font-size: .42em;
  font-weight: 700;
  letter-spacing: .02em;
}
.stat-lbl {
  display: block;
  margin-top: 12px;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}

@media (max-width: 960px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-item { min-height: 160px; padding: 30px 28px; }
}
@media (max-width: 640px) {
  .header:not(.scrolled) .logo { padding: 6px 9px; margin: -6px -9px; }
  .stats-grid { grid-template-columns: 1fr; }
  .cta-content p { font-size: .9rem; }
}



/* === POLISH v4: smoother motion, premium depth, refined parallax === */
:root {
  --tr-fast: .24s cubic-bezier(.2,.8,.2,1);
  --tr-soft: .72s cubic-bezier(.16,1,.3,1);
  --shadow-soft: 0 22px 70px rgba(7,11,22,.13);
  --shadow-card: 0 28px 90px rgba(7,11,22,.16);
}

html.site-enhanced { scroll-padding-top: 92px; }
body {
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
::selection { background: rgba(242,159,5,.24); color: var(--text); }

.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  z-index: 1200;
  pointer-events: none;
  background: linear-gradient(90deg, var(--brass), #ffca57, var(--brass));
  transform: scaleX(0);
  transform-origin: left center;
  box-shadow: 0 0 18px rgba(242,159,5,.48);
}

:focus-visible {
  outline: 2px solid var(--brass);
  outline-offset: 4px;
}

.header {
  will-change: padding, background, box-shadow;
}
.header:not(.scrolled) {
  background: linear-gradient(to bottom, rgba(7,11,22,.24), rgba(7,11,22,0));
}
.header.scrolled {
  box-shadow: 0 12px 40px rgba(31,45,83,.08), 0 1px 0 var(--border);
}
.nav-link::after,
.mobile-nav-link,
.footer-links a,
.logo,
.nav-cta,
.btn {
  will-change: transform;
}
.nav-link:hover,
.nav-link.active {
  text-shadow: 0 0 20px rgba(242,159,5,.18);
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 24%, rgba(242,159,5,.18), transparent 28%),
    radial-gradient(circle at 82% 72%, rgba(31,45,83,.24), transparent 30%);
  mix-blend-mode: screen;
  opacity: .72;
}
.hero-video,
.page-hero-bg,
.about-img-main,
.about-img-accent,
.why-img-main,
.why-img-sub,
.cta-bg-img,
.cta-right img {
  backface-visibility: hidden;
  transform: translateZ(0) scale(1.06);
}
.hero-title,
.page-hero-content h1,
.cta-content h2 {
  text-wrap: balance;
}
.hero-title .thin,
.hero-title .bold {
  text-shadow: 0 18px 54px rgba(0,0,0,.28);
}
.hero-desc,
.page-hero-content p {
  text-shadow: 0 10px 28px rgba(0,0,0,.22);
}
.hero-eyebrow-line,
.eyebrow::before,
.cta-content .label::before {
  box-shadow: 0 0 18px rgba(242,159,5,.55);
}

.btn,
.nav-cta,
.filter-btn,
.nl-btn {
  transform: translateZ(0);
  box-shadow: 0 0 0 rgba(7,11,22,0);
}
.btn::before,
.nav-cta::before,
.filter-btn::before,
.nl-btn::before {
  content: '';
  position: absolute;
  inset: -1px;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.26) 42%, transparent 64%);
  transform: translateX(-120%);
  transition: transform .82s var(--ease-out);
  pointer-events: none;
}
.btn:hover::before,
.nav-cta:hover::before,
.filter-btn:hover::before,
.nl-btn:hover::before {
  transform: translateX(120%);
}
.btn:hover,
.nav-cta:hover,
.filter-btn:hover,
.nl-btn:hover {
  box-shadow: 0 18px 44px rgba(31,45,83,.18);
}

.numbers-strip {
  background:
    radial-gradient(circle at 20% 0%, rgba(242,159,5,.12), transparent 32%),
    linear-gradient(135deg, var(--dark), #101b34 58%, var(--onyx));
}
.ns-item {
  transition: background var(--tr-soft), transform var(--tr-soft);
}
.ns-item:hover {
  background: rgba(255,255,255,.045);
  transform: translateY(-3px);
}
.ns-num,
.stat-num,
.price-amount,
.divider-big-num {
  font-variant-numeric: tabular-nums;
}

.about,
.projects,
.why,
.process,
.portfolio,
.blog-grid-section,
.contacts-section,
.services-list,
.team-section,
.certs {
  position: relative;
}
.about::before,
.projects::before,
.why::before,
.process::before,
.portfolio::before,
.blog-grid-section::before,
.contacts-section::before,
.services-list::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: min(1px, 1px);
  height: 76px;
  background: linear-gradient(to bottom, rgba(242,159,5,.44), transparent);
  opacity: .52;
  pointer-events: none;
}

.service-card,
.proj,
.pcard,
.post-card,
.post-small-row,
.price-card,
.team-card,
.cert-item,
.feat,
.stat-item,
.form-wrap,
.cinfo-row {
  backface-visibility: hidden;
}
.service-card,
.proj,
.pcard-img-wrap,
.post-card .img-wrap,
.post-small-row .thumb,
.team-img,
.cert-item,
.price-card,
.form-wrap,
.stat-item {
  box-shadow: 0 0 0 rgba(7,11,22,0);
  transition-property: transform, box-shadow, filter, background, border-color, opacity;
  transition-duration: .72s;
  transition-timing-function: var(--ease-out);
}
.service-card::after,
.proj::after,
.pcard-img-wrap::after,
.post-card .img-wrap::after,
.team-card::after,
.cert-item::after,
.price-card::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.16) 42%, transparent 64%);
  transform: translateX(-130%);
  transition: transform 1s var(--ease-out);
}
.service-card:hover::after,
.proj:hover::after,
.pcard:hover .pcard-img-wrap::after,
.post-card:hover .img-wrap::after,
.team-card:hover::after,
.cert-item:hover::after,
.price-card:hover::after {
  transform: translateX(130%);
}
.service-card:hover,
.proj:hover,
.pcard:hover .pcard-img-wrap,
.post-card:hover .img-wrap,
.price-card:hover,
.cert-item:hover,
.form-wrap:hover,
.stat-item:hover {
  box-shadow: var(--shadow-card);
}
.proj,
.pcard-img-wrap,
.post-card .img-wrap,
.post-small-row .thumb,
.about-img-main-wrap,
.about-img-accent-wrap,
.why-img-wrap,
.why-img-sub-wrap,
.collage-main,
.collage-sub {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}
.service-card-bg,
.proj-img,
.pcard-img,
.post-card .img-wrap img,
.post-small-row .thumb img,
.team-img,
.svc-img,
.collage-main,
.collage-sub {
  transition-duration: 1.05s;
  transition-timing-function: var(--ease-out);
}
.post-small-row:hover,
.cinfo-row:hover,
.feat:hover {
  transform: translateY(-3px);
}
.cinfo-row:hover .cinfo-icon {
  transform: rotate(8deg) scale(1.06);
  box-shadow: 0 14px 30px rgba(242,159,5,.16);
}
.cinfo-icon { transition: transform var(--tr-soft), box-shadow var(--tr-soft); }

.page-hero {
  background:
    radial-gradient(circle at 82% 20%, rgba(242,159,5,.14), transparent 28%),
    linear-gradient(135deg, #101936 0%, var(--dark) 50%, var(--onyx) 100%);
}
.page-hero::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242,159,5,.75), transparent);
}
.page-hero-bg { opacity: .16; filter: saturate(.85) contrast(1.05); }

.cta {
  min-height: 420px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 18% 30%, rgba(242,159,5,.12), transparent 32%),
    linear-gradient(135deg, var(--dark), #15213e 56%, var(--onyx));
}
.cta::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(31,45,83,.94), rgba(31,45,83,.75) 45%, rgba(7,11,22,.52));
  z-index: 1;
}
.cta > .container { z-index: 2; }
.cta-content { padding: 88px 0; }
.cta-actions .btn { min-width: 180px; justify-content: center; }

.map-section {
  position: relative;
  overflow: hidden;
  background: var(--dark);
}
.map-section iframe {
  display: block;
  width: 100%;
  min-height: 460px;
  border: 0;
  filter: saturate(.78) contrast(1.06);
}
.map-section::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), inset 0 90px 120px rgba(7,11,22,.18), inset 0 -80px 120px rgba(7,11,22,.18);
}

.logo-img {
  transition: transform var(--tr-soft), filter var(--tr-soft), opacity var(--tr-fast);
}
.header:not(.scrolled) .logo {
  transition: transform var(--tr-soft), background var(--tr-soft), box-shadow var(--tr-soft), padding var(--tr-soft), margin var(--tr-soft);
}
.header:not(.scrolled) .logo:hover .logo-img {
  transform: translateY(-1px) scale(1.035);
}

.rev,
.rev-l,
.rev-r,
.rev-scale {
  will-change: opacity, transform, filter;
}
.rev {
  transform: translateY(42px);
  filter: blur(6px);
  transition-duration: 1s, 1s, .9s;
}
.rev-l { transform: translateX(-42px); filter: blur(6px); transition-duration: 1s, 1s, .9s; }
.rev-r { transform: translateX(42px); filter: blur(6px); transition-duration: 1s, 1s, .9s; }
.rev-scale { transform: translateY(22px) scale(.965); filter: blur(5px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out), filter .9s; }
.rev-scale.on { transform: translateY(0) scale(1); filter: blur(0); }

@media (max-width: 960px) {
  .cta-content { padding: 70px 0; }
  .service-card:hover,
  .proj:hover,
  .pcard:hover .pcard-img-wrap,
  .post-card:hover .img-wrap,
  .price-card:hover,
  .cert-item:hover,
  .form-wrap:hover,
  .stat-item:hover { box-shadow: 0 18px 50px rgba(7,11,22,.12); }
}

@media (max-width: 640px) {
  .scroll-progress { height: 2px; }
  .cta { min-height: auto; }
  .cta-content { padding: 62px 0; }
  .proj,
  .pcard-img-wrap,
  .post-card .img-wrap,
  .post-small-row .thumb,
  .about-img-main-wrap,
  .about-img-accent-wrap,
  .why-img-wrap,
  .why-img-sub-wrap {
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
  .scroll-progress { display: none; }
}

/* v4 minor safety for sheen layers */
.nav-cta,
.filter-btn,
.nl-btn,
.price-card,
.team-card,
.cert-item,
.stat-item,
.form-wrap,
.cinfo-row {
  position: relative;
  overflow: hidden;
}
.nav-cta,
.filter-btn,
.nl-btn { display: inline-flex; align-items: center; justify-content: center; }

/* v4 CTA compatibility: keep original index layout intact */
.cta { display: block; align-items: initial; }
.cta::after { content: none; }
.cta-inner { width: 100%; }
