/* Rusinov Stroi — sitewide design refresh, 2026-09-29 */
:root {
  --rs-graphite: #192124;
  --rs-ink: #252c30;
  --rs-muted: #626a6d;
  --rs-paper: #f4f3ed;
  --rs-white: #ffffff;
  --rs-orange: #f4a91f;
  --rs-orange-dark: #bf7410;
  --rs-line: rgba(25, 33, 36, .12);
  --rs-radius: 18px;
  --rs-shadow: 0 16px 42px rgba(22, 29, 32, .10);
}

html { scroll-behavior: smooth; }
body { color: var(--rs-ink); font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; }
#main { color: var(--rs-ink); }
.fusion-main-menu > ul > li > a { font-weight: 650; letter-spacing: .015em; transition: color .2s ease; }
.fusion-main-menu > ul > li > a:hover,
.fusion-main-menu > ul > li.current-menu-item > a,
.fusion-main-menu > ul > li.current_page_item > a { color: var(--rs-orange) !important; }
.fusion-main-menu > ul > li > a:focus-visible,
.fusion-button:focus-visible,
a:focus-visible { outline: 3px solid var(--rs-orange); outline-offset: 4px; }
.fusion-button { border-radius: 6px !important; font-weight: 700 !important; letter-spacing: .01em; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.fusion-button:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(25, 33, 36, .16); }

/* Keep each Avada section distinct, while giving legacy title bars one shared visual language. */
body:not(.home) .fusion-page-title-bar { position: relative; isolation: isolate; min-height: 270px; border-bottom: 3px solid var(--rs-orange); overflow: hidden; }
body:not(.home) .fusion-page-title-bar::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(100deg, rgba(16, 21, 23, .88), rgba(16, 21, 23, .58) 58%, rgba(16, 21, 23, .40)); }
body:not(.home) .fusion-page-title-row { position: relative; z-index: 1; }
body:not(.home) .fusion-page-title-bar h1 { color: #fff !important; font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important; font-size: clamp(30px, 4vw, 48px) !important; line-height: 1.18 !important; font-weight: 760 !important; letter-spacing: -.035em; text-wrap: balance; text-shadow: 0 2px 18px rgba(0, 0, 0, .32); }
body:not(.home) .fusion-page-title-bar::after { content: ""; position: absolute; z-index: 1; left: -28%; bottom: -3px; width: 28%; height: 3px; background: #ffc24a; box-shadow: 0 0 14px rgba(244, 169, 31, .72); animation: rs-survey-sweep 8s ease-in-out infinite; }
@keyframes rs-survey-sweep { 0%, 15% { transform: translateX(0); } 85%, 100% { transform: translateX(460%); } }

/* Service pages: calm section backgrounds replace the old tiled texture; original Avada containers stay editable. */
:is(body.page-id-177,body.page-id-188,body.page-id-193,body.page-id-1261,body.page-id-1504,body.page-id-1523,
body.page-id-210,body.page-id-213,body.page-id-216,body.page-id-219,body.page-id-222,body.page-id-230,body.page-id-233,body.page-id-237,body.page-id-240,body.page-id-243,body.page-id-246,body.page-id-249,body.page-id-252,body.page-id-255) #main .fusion-fullwidth.has-pattern-background { background-image: none !important; background-color: var(--rs-paper) !important; }
:is(body.page-id-177,body.page-id-188,body.page-id-193,body.page-id-1261,body.page-id-1504,body.page-id-1523,
body.page-id-210,body.page-id-213,body.page-id-216,body.page-id-219,body.page-id-222,body.page-id-230,body.page-id-233,body.page-id-237,body.page-id-240,body.page-id-243,body.page-id-246,body.page-id-249,body.page-id-252,body.page-id-255) #main .fusion-text { color: var(--rs-ink); font-size: 17px; line-height: 1.78; }
:is(body.page-id-177,body.page-id-188,body.page-id-193,body.page-id-1261,body.page-id-1504,body.page-id-1523,
body.page-id-210,body.page-id-213,body.page-id-216,body.page-id-219,body.page-id-222,body.page-id-230,body.page-id-233,body.page-id-237,body.page-id-240,body.page-id-243,body.page-id-246,body.page-id-249,body.page-id-252,body.page-id-255) #main .fusion-text h2,
:is(body.page-id-177,body.page-id-188,body.page-id-193,body.page-id-1261,body.page-id-1504,body.page-id-1523,
body.page-id-210,body.page-id-213,body.page-id-216,body.page-id-219,body.page-id-222,body.page-id-230,body.page-id-233,body.page-id-237,body.page-id-240,body.page-id-243,body.page-id-246,body.page-id-249,body.page-id-252,body.page-id-255) #main h2 { color: var(--rs-graphite); font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; font-weight: 720; letter-spacing: -.025em; line-height: 1.25; }
:is(body.page-id-177,body.page-id-188,body.page-id-193,body.page-id-1261,body.page-id-1504,body.page-id-1523,
body.page-id-210,body.page-id-213,body.page-id-216,body.page-id-219,body.page-id-222,body.page-id-230,body.page-id-233,body.page-id-237,body.page-id-240,body.page-id-243,body.page-id-246,body.page-id-249,body.page-id-252,body.page-id-255) #main h2::after { content: ""; display: block; width: 46px; height: 3px; margin-top: 12px; border-radius: 2px; background: var(--rs-orange); }
:is(body.page-id-177,body.page-id-188,body.page-id-193,body.page-id-1261,body.page-id-1504,body.page-id-1523,
body.page-id-210,body.page-id-213,body.page-id-216,body.page-id-219,body.page-id-222,body.page-id-230,body.page-id-233,body.page-id-237,body.page-id-240,body.page-id-243,body.page-id-246,body.page-id-249,body.page-id-252,body.page-id-255) #main a:not(.fusion-button) { color: var(--rs-orange-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
:is(body.page-id-177,body.page-id-188,body.page-id-193) #main .fusion-accordian .panel-heading { border-radius: 10px; }
:is(body.page-id-177,body.page-id-188,body.page-id-193) #main .fusion-accordian .panel-title a { color: var(--rs-graphite); font-weight: 650; }

/* Portfolio index and cards: clear image area, warm white surface, orange detail on interaction. */
body.page-id-16 #main,
body.post-type-archive-avada_portfolio #main { background: var(--rs-paper); }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) #main .fusion-fullwidth.has-pattern-background { background-image: none !important; background-color: var(--rs-paper) !important; }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-post { overflow: hidden; border: 1px solid rgba(25, 33, 36, .08); border-radius: 14px; background: #fff; box-shadow: 0 8px 28px rgba(25, 33, 36, .07); transition: transform .24s ease, box-shadow .24s ease; }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-post:hover { transform: translateY(-5px); box-shadow: var(--rs-shadow); }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-post .fusion-image-wrapper { overflow: hidden; border-radius: 13px 13px 0 0; }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-post .fusion-image-wrapper img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .45s ease; }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-post:hover .fusion-image-wrapper img { transform: scale(1.035); }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-content { padding: 18px 18px 20px; }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-content h2,
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-content h3 { color: var(--rs-graphite); font: 700 17px/1.45 system-ui, -apple-system, "Segoe UI", Arial, sans-serif; }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-content a { color: inherit; text-decoration: none; }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-content a:hover { color: var(--rs-orange-dark); }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-filters { border-color: var(--rs-line); }
:is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-filters .fusion-filter a { font-weight: 650; }

/* Archive cards and single case studies. */
:is(body.single-avada_portfolio,body.single-post) #main { color: var(--rs-ink); font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; }
body.single-avada_portfolio .fusion-text h2,
body.single-avada_portfolio .fusion-title h2 { color: var(--rs-graphite); font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; font-weight: 720; letter-spacing: -.025em; }
body.single-avada_portfolio .fusion-text p { color: var(--rs-ink); line-height: 1.75; }
body.single-avada_portfolio .fusion-imageframe img { border-radius: 12px; }
body.page-id-952 #main,
body.blog #main,
body.archive:not(.post-type-archive-avada_portfolio) #main { background: var(--rs-paper); }
:is(body.page-id-952,body.blog,body.archive:not(.post-type-archive-avada_portfolio)) .fusion-post-grid .fusion-post-wrapper,
:is(body.page-id-952,body.blog,body.archive:not(.post-type-archive-avada_portfolio)) .fusion-blog-shortcode-post { overflow: hidden; border: 1px solid rgba(25, 33, 36, .08); border-radius: 14px; background: #fff; box-shadow: 0 8px 28px rgba(25, 33, 36, .07); }
:is(body.page-id-952,body.blog,body.archive:not(.post-type-archive-avada_portfolio)) .fusion-post-content-wrapper { padding: 20px; }
:is(body.page-id-952,body.blog,body.archive:not(.post-type-archive-avada_portfolio)) .fusion-post-title a { color: var(--rs-graphite); font-weight: 700; }

/* Contact and legal pages retain all existing wording and links. */
body.page-id-18 #main,
:is(body.page-id-3,body.page-id-83) #main { background-color: var(--rs-paper); }
body.page-id-18 #main .fusion-text,
:is(body.page-id-3,body.page-id-83) #main .fusion-text { color: var(--rs-ink); font-size: 17px; line-height: 1.8; }
:is(body.page-id-3,body.page-id-83) #main .fusion-text { max-width: 900px; margin-right: auto; margin-left: auto; }
body.page-id-18 #main input:not([type=submit]), body.page-id-18 #main textarea { border: 1px solid rgba(25, 33, 36, .20); border-radius: 7px; background: #fff; }
body.page-id-18 #main input:focus, body.page-id-18 #main textarea:focus { border-color: var(--rs-orange-dark); box-shadow: 0 0 0 3px rgba(244, 169, 31, .18); }

/* Preserve the established homepage video and native Avada container layout; polish the existing project cards. */
body.home.page-id-7 .fusion-builder-row-3 .fusion-layout-column { transition: transform .24s ease, box-shadow .24s ease; }
body.home.page-id-7 .fusion-builder-row-3 .fusion-layout-column:hover { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(25, 33, 36, .16); }
body.home.page-id-7 .fusion-builder-row-3 .fusion-imageframe img { border-radius: 12px; }
body.home.page-id-7 .fusion-builder-row-3 .fusion-button { background-color: var(--rs-orange) !important; border-color: var(--rs-orange) !important; color: var(--rs-graphite) !important; }
body.home.page-id-7 .fusion-builder-row-3 .fusion-button:hover { background-color: #ffc04a !important; border-color: #ffc04a !important; }

@media (max-width: 800px) {
  body:not(.home) .fusion-page-title-bar { min-height: 215px; }
  body:not(.home) .fusion-page-title-bar h1 { font-size: clamp(25px, 7vw, 34px) !important; line-height: 1.28 !important; }
  :is(body.page-id-177,body.page-id-188,body.page-id-193,body.page-id-1261,body.page-id-1504,body.page-id-1523,
  body.page-id-210,body.page-id-213,body.page-id-216,body.page-id-219,body.page-id-222,body.page-id-230,body.page-id-233,body.page-id-237,body.page-id-240,body.page-id-243,body.page-id-246,body.page-id-249,body.page-id-252,body.page-id-255) #main .fusion-text { font-size: 16px; line-height: 1.72; }
  :is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-content { padding: 15px; }
  :is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-content h2,
  :is(body.page-id-16,body.post-type-archive-avada_portfolio) .fusion-portfolio-content h3 { font-size: 16px; }
}
@media (max-width: 480px) {
  body:not(.home) .fusion-page-title-bar { min-height: 190px; }
  body.page-id-18 #main .fusion-text, :is(body.page-id-3,body.page-id-83) #main .fusion-text { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body:not(.home) .fusion-page-title-bar::after { animation: none; }
  .fusion-button, .fusion-portfolio-post, .fusion-portfolio-post img, body.home.page-id-7 .fusion-builder-row-3 .fusion-layout-column { transition: none; }
}

/* Portfolio page ID 16 uses a legacy inline container background without the pattern class. */
body.page-id-16 #main .fusion-fullwidth { background-image: none !important; background-color: var(--rs-paper) !important; }

@media (max-width: 800px) {
  body:not(.home) .fusion-page-title-bar { height: auto !important; min-height: 220px !important; padding-top: 78px !important; padding-bottom: 24px !important; }
  body:not(.home) .fusion-page-title-row { height: auto !important; min-height: 0 !important; }
  body:not(.home) .fusion-page-title-wrapper { height: auto !important; min-height: 0 !important; }
}
@media (max-width: 800px) { body:not(.home) .fusion-page-title-bar h1 { position: relative; top: 40px; } }

/* Case-study sections keep their individual Avada containers, with controlled reading width and alternating surfaces. */
body.single-avada_portfolio #main .fusion-fullwidth { padding-top: clamp(38px, 4.6vw, 68px) !important; padding-bottom: clamp(38px, 4.6vw, 68px) !important; background-image: none !important; background-color: #fff !important; }
body.single-avada_portfolio #main .fusion-fullwidth:nth-of-type(even) { background-color: var(--rs-paper) !important; }
body.single-avada_portfolio #main .fusion-text { max-width: 1000px; margin-left: auto; margin-right: auto; color: var(--rs-ink); font-size: 17px; line-height: 1.78; }
body.single-avada_portfolio #main .fusion-text h2 { margin-top: 0; color: var(--rs-graphite); font: 720 clamp(24px, 3vw, 32px)/1.28 system-ui, -apple-system, "Segoe UI", Arial, sans-serif; letter-spacing: -.025em; }
body.single-avada_portfolio #main .fusion-text h2::after { content: ""; display: block; width: 44px; height: 3px; margin-top: 12px; border-radius: 2px; background: var(--rs-orange); }
@media (max-width: 800px) {
  body.single-avada_portfolio #main .fusion-fullwidth { padding-top: 34px !important; padding-bottom: 34px !important; }
  body.single-avada_portfolio #main .fusion-text { font-size: 16px; line-height: 1.72; }
}

/* Contact page: replace the photo-heavy split panels with a calm information card and a graphite form card. */
body.page-id-18 #main { background: var(--rs-paper); }
body.page-id-18 #main .fusion-builder-column-1 { visibility: visible !important; opacity: 1 !important; padding: 28px !important; overflow: hidden; border: 1px solid var(--rs-line); border-radius: 18px !important; background: #fff !important; background-image: none !important; box-shadow: 0 12px 34px rgba(25, 33, 36, .08); }
body.page-id-18 #main .fusion-builder-column-2 { visibility: visible !important; opacity: 1 !important; padding: 28px !important; overflow: hidden; border: 1px solid rgba(244, 169, 31, .42); border-radius: 18px !important; background: var(--rs-graphite) !important; background-image: none !important; box-shadow: var(--rs-shadow); color: #fff; }
body.page-id-18 #main .fusion-builder-column-2 .fusion-title-heading,
body.page-id-18 #main .fusion-builder-column-2 label { color: #fff !important; }
body.page-id-18 #main .fusion-builder-column-2 .fusion-form-field { margin-bottom: 14px; }
body.page-id-18 #main .fusion-builder-column-2 .fusion-form-input { width: 100%; min-height: 44px; border: 1px solid rgba(255,255,255,.35); border-radius: 7px; background: #fff; color: var(--rs-ink); }
body.page-id-18 #main .fusion-builder-column-2 textarea.fusion-form-input { min-height: 110px; }
body.page-id-18 #main .fusion-builder-column-2 .fusion-form-submit-field button { min-height: 46px; padding: 0 24px; border: 0; border-radius: 6px; background: var(--rs-orange); color: var(--rs-graphite); font-weight: 750; }
body.page-id-18 #main .fusion-builder-column-2 .fusion-form-submit-field button:hover { background: #ffc04a; }
body.page-id-18 #main .fusion-builder-column-2 .fusion-form-response { color: #fff; }
body.page-id-952 #main .fusion-text { max-width: 960px; margin-right: auto; margin-left: auto; color: var(--rs-ink); font-size: 17px; line-height: 1.75; }
@media (max-width: 800px) {
  body.page-id-18 #main .fusion-builder-column-1,
  body.page-id-18 #main .fusion-builder-column-2 { padding: 23px !important; border-radius: 15px !important; }
  body.page-id-952 #main .fusion-text { font-size: 16px; }
}

body.page-id-18 #main .fusion-builder-column-1 > .fusion-column-wrapper { background-color: #fff !important; background-image: none !important; border-radius: 18px; }
body.page-id-18 #main .fusion-builder-column-2 > .fusion-column-wrapper { background-color: var(--rs-graphite) !important; background-image: none !important; border-radius: 18px; }
@media (max-width: 800px) {
  body.page-id-18 #main .fusion-builder-column-1 > .fusion-column-wrapper,
  body.page-id-18 #main .fusion-builder-column-2 > .fusion-column-wrapper { border-radius: 15px; }
}

body.page-id-18 #main .fusion-layout-column.fusion-animated { transform: none !important; animation: none !important; }
