/* Browser default body margin reset */
body { margin: 0; padding: 0; }

/* FTS hover/active styling se sad nalazi u resources/views/pages/dynamic.blade.php
   (scoped pod body.fts-edit-active) — koristi box-shadow ring bez padding/margin
   da elementi ne skaču. Stara pravila uklonjena. */

/* Alpine: skrivaj elemente sa x-cloak dok se Alpine ne inicijalizuje
   (sprečava flash netaknutih dropdown-a/mobile menija na load-u) */
[x-cloak] { display: none !important; }

/* Iconify - default veličina za <iconify-icon> elemente koji nemaju eksplicitan font-size */
iconify-icon { display: inline-block; vertical-align: -0.125em; }

/* Tailwind preflight je isključen (Bootstrap coexistence). Ovo su scoped reset-i
   za Tailwind komponente koje očekuju da nemaju default browser stilove. */

/* Header (header_one) — ukinuti underline na linkovima i marker/padding na ul-ovima */
header.sticky a { text-decoration: none; }
header.sticky ul, header.sticky ol { list-style: none; padding-left: 0; margin: 0; }
header.sticky button { background: transparent; border: 0; font: inherit; color: inherit; cursor: pointer; }

/* ─── js-reveal (IntersectionObserver — scroll entrance animations) ─── */
.js-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s cubic-bezier(.4,0,.2,1), transform .6s cubic-bezier(.4,0,.2,1);
}
.js-reveal.revealed { opacity: 1; transform: none; }
[data-animation="fade-up"]    { transform: translateY(24px); }
[data-animation="fade-in"]    { transform: translateY(0); }
[data-animation="slide-right"]{ transform: translateX(-32px); }
[data-animation="slide-left"] { transform: translateX(32px); }

/* ─── Hero scroll columns (Hero One) ─── */
@keyframes hero-scroll-up {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}
@keyframes hero-scroll-down {
  0%   { transform: translateY(-50%); }
  100% { transform: translateY(0); }
}
.animate-hero-scroll-up   { animation: hero-scroll-up   30s linear infinite; }
.animate-hero-scroll-down { animation: hero-scroll-down 30s linear infinite; }
.hero-scroll-group:hover .animate-hero-scroll-up,
.hero-scroll-group:hover .animate-hero-scroll-down { animation-play-state: paused; }

/* ─── Bento card entrance animation ─── */
[data-animation="bento"] {
  transform: translateY(18px) scale(0.97);
  transition: opacity .55s cubic-bezier(.4,0,.2,1), transform .55s cubic-bezier(.4,0,.2,1);
}
[data-animation="bento"].revealed {
  transform: translateY(0) scale(1);
}

/* ─── Bento photo cell — FTS admin wrapper chain fix ─── */
/* x-fts-photo with absolute positioning collapses the admin wrapper divs.
   .bento-photo-cell forces the wrapper chain to fill the card. */
.bento-photo-cell > .fts_editable_photo,
.bento-photo-cell > .fts_editable_photo > div,
.bento-photo-cell .fts_editable_photo_trigger {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.bento-photo-cell .fts_photo_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ─── Bento grid mobile reorder (Hero Three) ─── */
@media (max-width: 767px) {
  .bento-card-main      { order: 1; }
  .bento-card-stat1     { order: 2; }
  .bento-card-tall      { order: 3; }
  .bento-card-photo-bl  { order: 4; }
  .bento-card-feat      { order: 5; }
  .bento-card-meeting   { order: 6; }
}

/* ================================================================
   URS TRANSPORT — Design System v1.0
   Appended to site global CSS (no @push — Blade::render limitation)
   ================================================================ */

:root {
  --urs-navy:        #1D2B3F;
  --urs-navy-deep:   #131C2A;
  --urs-navy-soft:   #2A3B53;
  --urs-orange:      #E0512F;
  --urs-orange-deep: #BE3F1F;
  --urs-orange-soft: #F5B19F;
  --urs-orange-wash: #FCEEE8;
  --urs-paper:       #FBFAF7;
  --urs-bone:        #F4F2EC;
  --urs-fog:         #E7E4DC;
  --urs-steel:       #8A8C90;
  --urs-iron:        #4A5160;
  --urs-success:     #1F7A4D;
  --urs-warning:     #C98A22;
  --urs-danger:      #B3261E;
  --urs-info:        #2A6FBE;
  --bg:              var(--urs-paper);
  --bg-alt:          var(--urs-bone);
  --fg1:             var(--urs-navy);
  --fg2:             var(--urs-iron);
  --fg3:             var(--urs-steel);
  --fg-on-dark:      #FFFFFF;
  --accent:          var(--urs-orange);
  --accent-hover:    var(--urs-orange-deep);
  --accent-on:       #FFFFFF;
  --border:          #DCD8CE;
  --border-strong:   #C7C2B6;
  --border-on-dark:  rgba(255,255,255,0.14);
  --font-display:    'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-sans:       'Manrope', 'Helvetica Neue', system-ui, sans-serif;
  --font-mono:       'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;
  --fs-display:      clamp(56px, 9vw, 128px);
  --fs-h1:           clamp(40px, 5.4vw, 72px);
  --fs-h2:           clamp(30px, 3.6vw, 48px);
  --fs-h3:           clamp(22px, 2.2vw, 28px);
  --fs-h4:           18px;
  --fs-lead:         20px;
  --fs-body:         16px;
  --fs-small:        13px;
  --fs-micro:        11px;
  --lh-tight:        0.95;
  --lh-snug:         1.1;
  --lh-normal:       1.4;
  --lh-loose:        1.65;
  --ls-display:      -0.01em;
  --ls-caps:         0.06em;
  --ls-wider:        0.16em;
  --ls-mono:         0.04em;
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px; --space-10: 128px;
  --radius-sharp: 0px; --radius-sm: 4px; --radius-md: 8px;
  --radius-lg: 14px;   --radius-cta: 999px;
  --shadow-xs: 0 1px 2px rgba(29,43,63,0.06);
  --shadow-sm: 0 4px 14px rgba(29,43,63,0.07);
  --shadow-md: 0 14px 36px rgba(29,43,63,0.10);
  --shadow-lg: 0 28px 64px rgba(29,43,63,0.14);
  --ease:      cubic-bezier(0.4,0,0.2,1);
  --ease-out:  cubic-bezier(0.16,1,0.3,1);
  --ease-firm: cubic-bezier(0.6,0,0.2,1);
  --dur-fast:  150ms; --dur-base: 260ms; --dur-slow: 520ms;
}

/* ─── Type scale ─── */
.urs-display { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:var(--fs-display); letter-spacing:var(--ls-display); line-height:var(--lh-tight); text-transform:uppercase; color:var(--fg1); margin:0; }
.urs-display em { font-style:italic; color:var(--urs-orange); }
.urs-h1 { font-family:var(--font-display) !important; font-weight:800 !important; font-style:italic !important; font-size:var(--fs-h1) !important; letter-spacing:var(--ls-display) !important; line-height:var(--lh-snug) !important; text-transform:uppercase !important; color:var(--fg1); margin:0; }
.urs-h1 em { font-style:italic !important; color:var(--urs-orange) !important; }
.urs-h2 { font-family:var(--font-display) !important; font-weight:700 !important; font-style:italic !important; font-size:var(--fs-h2) !important; letter-spacing:0 !important; line-height:var(--lh-snug) !important; text-transform:uppercase !important; color:var(--fg1); margin:0; }
.urs-h2 em { font-style:italic !important; color:var(--urs-orange) !important; }
.urs-h3 { font-family:var(--font-sans); font-weight:700; font-size:var(--fs-h3); letter-spacing:-0.005em; line-height:var(--lh-snug); color:var(--fg1); margin:0; }
.urs-h4 { font-family:var(--font-sans); font-weight:700; font-size:var(--fs-h4); letter-spacing:0.02em; line-height:var(--lh-normal); color:var(--fg1); margin:0; }
.urs-eyebrow { font-family:var(--font-sans); font-weight:700; font-size:var(--fs-micro); letter-spacing:var(--ls-wider); text-transform:uppercase; color:var(--urs-orange); display:inline-flex; align-items:center; gap:10px; }

.urs-lead { font-family:var(--font-sans); font-weight:400; font-size:var(--fs-lead); line-height:var(--lh-loose); color:var(--fg2); margin:0; }
.urs-body { font-family:var(--font-sans); font-weight:400; font-size:var(--fs-body); line-height:var(--lh-loose); color:var(--fg2); margin:0; }
.urs-small { font-family:var(--font-sans); font-weight:500; font-size:var(--fs-small); letter-spacing:0.01em; line-height:var(--lh-normal); color:var(--fg3); margin:0; }
.urs-micro { font-family:var(--font-sans); font-weight:700; font-size:var(--fs-micro); letter-spacing:var(--ls-wider); text-transform:uppercase; color:var(--fg3); }
.urs-mono { font-family:var(--font-mono); font-weight:500; font-size:var(--fs-small); letter-spacing:var(--ls-mono); color:var(--fg2); }
.urs-rule { display:inline-block; width:40px; height:2px; background:var(--urs-orange); vertical-align:middle; margin-right:12px; }
.urs-em { font-style:italic; color:var(--urs-orange); }
.urs-rule-thin { display:block; width:64px; height:4px; background:var(--urs-orange); margin-bottom:24px; }
.urs-eyebrow--soft { color:var(--urs-orange-soft); }
.urs-eyebrow--soft::before { background:var(--urs-orange-soft); }

/* ─── Buttons ─── */
.urs-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:var(--font-sans); font-weight:700; font-size:13px; letter-spacing:0.10em; text-transform:uppercase; padding:14px 28px; border:none; cursor:pointer; border-radius:var(--radius-cta); transition:background var(--dur-fast) var(--ease-firm), color var(--dur-fast) var(--ease-firm), transform var(--dur-fast) var(--ease-firm); white-space:nowrap; text-decoration:none; }
.urs-btn:active { transform:translateY(1px); }
.urs-btn--orange { background:var(--urs-orange); color:var(--accent-on); }
.urs-btn--orange:hover { background:var(--urs-orange-deep); color:var(--accent-on); }
.urs-btn--navy { background:var(--urs-navy); color:var(--fg-on-dark); }
.urs-btn--navy:hover { background:var(--urs-navy-deep); color:var(--fg-on-dark); }
.urs-btn--ghost { background:transparent; color:var(--fg1); border:1.5px solid var(--fg1); padding:12.5px 26.5px; }
.urs-btn--ghost:hover { background:var(--fg1); color:var(--bg); }
.urs-btn--ghost-light { background:transparent; color:var(--fg-on-dark); border:1.5px solid rgba(255,255,255,0.65); padding:12.5px 26.5px; }
.urs-btn--ghost-light:hover { background:var(--fg-on-dark); color:var(--fg1); }
.urs-btn--lg { padding:18px 36px; font-size:14px; }
.urs-btn--sm { padding:10px 18px; font-size:11px; letter-spacing:0.12em; }
.urs-btn .urs-btn__arrow { display:inline-block; transition:transform var(--dur-fast) var(--ease-firm); }
.urs-btn:hover .urs-btn__arrow { transform:translateX(4px); }
.urs-link { font-family:var(--font-sans); font-weight:700; font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg1); cursor:pointer; padding-bottom:4px; border-bottom:2px solid var(--urs-orange); display:inline-block; transition:color var(--dur-fast) var(--ease-firm); text-decoration:none; }
.urs-link:hover { color:var(--urs-orange); }

/* ─── Cards ─── */
.urs-card { background:#FFFFFF; border:1px solid var(--border); border-radius:var(--radius-md); padding:32px; transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.urs-card:hover { border-color:var(--border-strong); transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.urs-card--bone { background:var(--urs-bone); }
.urs-card--navy { background:var(--urs-navy); color:var(--fg-on-dark); border-color:transparent; }
.urs-card--navy:hover { background:var(--urs-navy-deep); }
.urs-card--orange { background:var(--urs-orange); color:var(--accent-on); border-color:transparent; }
.urs-card--orange:hover { background:var(--urs-orange-deep); }

/* ─── Badges ─── */
.urs-badge { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-sans); font-weight:700; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; padding:6px 10px; border:1.5px solid var(--border-strong); background:#FFFFFF; color:var(--fg2); border-radius:var(--radius-sm); }
.urs-badge--orange { background:var(--urs-orange); border-color:transparent; color:var(--accent-on); }
.urs-badge--navy { background:var(--urs-navy); border-color:transparent; color:var(--fg-on-dark); }
.urs-badge--soft { background:var(--urs-orange-wash); border-color:transparent; color:var(--accent-hover); }
.urs-badge--success { background:rgba(31,122,77,0.12); border-color:transparent; color:var(--urs-success); }
.urs-badge--warning { background:rgba(201,138,34,0.14); border-color:transparent; color:var(--urs-warning); }
.urs-badge__dot { display:inline-block; width:6px; height:6px; border-radius:999px; background:currentColor; }

/* ─── Decorative ─── */
.urs-divider { height:1px; background:var(--border); border:0; margin:var(--space-7) 0; }
.urs-bar { display:block; height:6px; width:64px; background:var(--urs-orange); }
.urs-bar--navy { background:var(--urs-navy); }
.urs-lane { display:flex; align-items:center; gap:8px; height:6px; }
.urs-lane::before,.urs-lane::after { content:""; flex:1; height:2px; background:repeating-linear-gradient(90deg, var(--urs-orange) 0 14px, transparent 14px 24px); }

/* ─── Stat block ─── */
.urs-stat { display:flex; flex-direction:column; gap:4px; }
.urs-stat__num { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:clamp(36px,4vw,56px); line-height:1; color:var(--fg1); }
.urs-stat__num em { color:var(--urs-orange); font-style:italic; }
.urs-stat__label { font-family:var(--font-sans); font-weight:700; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--fg3); }

/* ─── Icon circle ─── */
.urs-icon-circle { width:56px; height:56px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:var(--urs-orange-wash); color:var(--urs-orange); }
.urs-icon-circle--navy { background:var(--urs-navy); color:var(--fg-on-dark); }
.urs-icon-circle svg, .urs-icon-circle iconify-icon { width:28px; height:28px; }

/* ─── Layout ─── */
.urs-page { background:var(--bg); color:var(--fg1); }
.urs-container { max-width:1280px; margin:0 auto; padding-left:6vw; padding-right:6vw; }
.urs-section { padding-top:var(--space-9); padding-bottom:var(--space-9); }
.urs-section--lg { padding-top:var(--space-10); padding-bottom:var(--space-10); }
.urs-section--bone { background:var(--bg-alt); }
.urs-section--navy { background:var(--urs-navy); color:var(--fg-on-dark); }
.urs-section--navy .urs-h1,.urs-section--navy .urs-h2,.urs-section--navy .urs-h3,.urs-section--navy .urs-h4 { color:var(--fg-on-dark); }
.urs-section--navy .urs-lead,.urs-section--navy .urs-body { color:rgba(255,255,255,0.82); }
.urs-section--navy .urs-eyebrow { color:var(--urs-orange-soft); }

.urs-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.urs-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
.urs-split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.urs-split--narrow { grid-template-columns:1fr 0.85fr; }
.urs-split__media { position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius-md); }
.urs-split__media img { width:100%; height:100%; object-fit:cover; }
.urs-split__media-tag { position:absolute; left:0; bottom:32px; background:var(--urs-orange); color:#fff; padding:16px 28px; font-family:var(--font-display); font-weight:800; font-style:italic; font-size:30px; line-height:1; text-transform:uppercase; letter-spacing:-0.01em; }
.urs-section-head { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:64px; }
.urs-section-head--centered { grid-template-columns:1fr; max-width:800px; margin-left:auto; margin-right:auto; text-align:center; }
.urs-section-head__title { max-width:18ch; }
.urs-section-head__lead { max-width:50ch; justify-self:end; }
.urs-section-head--centered .urs-section-head__title,.urs-section-head--centered .urs-section-head__lead { max-width:none; justify-self:center; }
.urs-row { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.urs-stack { display:flex; flex-direction:column; gap:16px; }

/* ─── Header nav ─── */
.urs-shell-nav { position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.94); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
.urs-shell-nav__inner { max-width:1280px; margin:0 auto; padding:14px 6vw; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.urs-shell-nav__brand { display:flex; align-items:center; gap:14px; text-decoration:none; }
.urs-shell-nav__brand img { height:44px; width:auto; display:block; }
.urs-shell-nav__brand-mark { display:flex; flex-direction:column; line-height:1; }
.urs-shell-nav__brand-name { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:22px; letter-spacing:-0.01em; color:var(--urs-navy); text-transform:uppercase; }
.urs-shell-nav__brand-tag { font-family:var(--font-sans); font-weight:700; font-size:9px; letter-spacing:0.20em; text-transform:uppercase; color:var(--urs-iron); margin-top:3px; }
.urs-shell-nav__links { display:flex; gap:28px; align-items:center; flex-wrap:nowrap; }
.urs-shell-nav__links a { font-family:var(--font-sans); font-weight:600; font-size:14px; color:var(--fg1); padding:8px 2px; border-bottom:2px solid transparent; transition:color var(--dur-fast) var(--ease-firm), border-color var(--dur-fast) var(--ease-firm); text-decoration:none; white-space:nowrap; }
.urs-shell-nav__links a:hover { color:var(--urs-orange); }
.urs-shell-nav__links a.is-active { color:var(--urs-orange); border-bottom-color:var(--urs-orange); }
.urs-shell-nav__cta { display:flex; align-items:center; gap:14px; }
.urs-shell-nav__phone { font-family:var(--font-mono); font-weight:500; font-size:13px; color:var(--fg1); display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.urs-shell-nav__phone svg, .urs-shell-nav__phone iconify-icon { color:var(--urs-orange); width:16px; height:16px; }
.urs-nav-dropdown { position:relative; }
.urs-nav-dropdown__menu { position:absolute; left:0; top:100%; padding-top:8px; min-width:210px; z-index:60; }
.urs-nav-dropdown__list { background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-md); border:1px solid var(--border); overflow:hidden; padding:6px 0; list-style:none; margin:0; }
.urs-nav-dropdown__list a { display:block; padding:11px 20px; font-family:var(--font-sans); font-weight:600; font-size:14px; color:var(--fg1); transition:color var(--dur-fast) var(--ease-firm), background var(--dur-fast) var(--ease-firm); text-decoration:none; }
.urs-nav-dropdown__list a:hover { color:var(--urs-orange); background:var(--urs-orange-wash); }
.urs-mobile-nav { display:none; }
.urs-mobile-nav.open { display:block; }
.urs-mobile-nav__list { list-style:none; margin:0; padding:12px 6vw 16px; border-top:1px solid var(--border); }
.urs-mobile-nav__list a { display:block; padding:12px 0; font-family:var(--font-sans); font-weight:600; font-size:16px; color:var(--fg1); border-bottom:1px solid var(--border); text-decoration:none; }
.urs-mobile-nav__list a:hover { color:var(--urs-orange); }
.urs-hamburger { display:none; background:none; border:none; cursor:pointer; padding:6px; color:var(--fg1); }

/* ─── Hero ─── */
.urs-hero { position:relative; background:var(--urs-navy); color:var(--fg-on-dark); overflow:hidden; isolation:isolate; }
.urs-hero__bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0.30; z-index:-2; }
.urs-hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(19,28,42,0.96) 0%, rgba(19,28,42,0.85) 55%, rgba(19,28,42,0.55) 100%); z-index:-1; }
.urs-hero__slash { position:absolute; right:-120px; top:-60px; bottom:-60px; width:280px; background:var(--urs-orange); transform:skewX(-12deg); z-index:-1; opacity:0.95; }
.urs-hero__slash--thin { width:12px; right:18%; background:var(--urs-orange); opacity:0.85; }
.urs-hero__inner { max-width:1280px; margin:0 auto; padding:128px 6vw 96px; position:relative; }
.urs-hero__eyebrow { display:inline-flex; align-items:center; gap:12px; color:var(--urs-orange-soft); font-family:var(--font-sans); font-weight:700; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; margin-bottom:28px; }
.urs-hero__eyebrow::before { content:""; width:40px; height:2px; background:var(--urs-orange); display:inline-block; }
.urs-hero__title { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:clamp(44px,6.2vw,86px); letter-spacing:-0.01em; line-height:0.96; text-transform:uppercase; color:var(--fg-on-dark); margin:0; max-width:16ch; }
.urs-hero__title em { color:var(--urs-orange); font-style:italic; }
.urs-hero__lead { font-family:var(--font-sans); font-weight:400; font-size:19px; line-height:1.6; color:rgba(255,255,255,0.82); max-width:56ch; margin:28px 0 0; }
.urs-hero__ctas { margin-top:40px; display:flex; gap:16px; flex-wrap:wrap; }
.urs-hero__strip { border-top:1px solid rgba(255,255,255,0.14); margin-top:72px; padding-top:32px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.urs-hero__strip .urs-stat__num { color:var(--fg-on-dark); }
.urs-hero__strip .urs-stat__label { color:rgba(255,255,255,0.55); }
.urs-hero--compact .urs-hero__inner { padding-top:96px; padding-bottom:72px; }
.urs-crumb { display:flex; align-items:center; gap:10px; font-family:var(--font-sans); font-weight:600; font-size:12px; letter-spacing:0.10em; text-transform:uppercase; color:rgba(255,255,255,0.65); margin-bottom:24px; }
.urs-crumb a { color:rgba(255,255,255,0.65); transition:color var(--dur-fast) var(--ease-firm); text-decoration:none; }
.urs-crumb a:hover { color:var(--urs-orange); }
.urs-crumb__sep { color:rgba(255,255,255,0.3); }

/* ─── Service card ─── */
.urs-svc-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:32px; display:flex; flex-direction:column; gap:20px; transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); position:relative; }
.urs-svc-card:hover { border-color:var(--urs-orange); transform:translateY(-6px); box-shadow:var(--shadow-md); }
.urs-svc-card__top { display:flex; align-items:center; justify-content:space-between; }
.urs-svc-card__num { font-family:var(--font-mono); font-weight:500; font-size:12px; letter-spacing:0.04em; color:var(--fg3); }
.urs-svc-card__title { font-family:var(--font-sans); font-weight:700; font-size:21px; line-height:1.25; color:var(--fg1); letter-spacing:-0.01em; min-height:2.5em; }
.urs-svc-card__body { font-family:var(--font-sans); font-size:15px; line-height:1.65; color:var(--fg2); flex:1; }
.urs-svc-card__cta { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-sans); font-weight:700; font-size:12px; letter-spacing:0.10em; text-transform:uppercase; color:var(--urs-orange); padding-top:8px; transition:gap var(--dur-fast) var(--ease-firm); text-decoration:none; }
.urs-svc-card:hover .urs-svc-card__cta { gap:14px; }

/* ─── CTA band ─── */
.urs-cta-band { background:var(--urs-navy); color:var(--fg-on-dark); position:relative; overflow:hidden; }
.urs-cta-band__slash { position:absolute; right:-80px; top:-40px; bottom:-40px; width:220px; background:var(--urs-orange); transform:skewX(-12deg); opacity:0.9; }
.urs-cta-band__inner { max-width:1280px; margin:0 auto; padding:80px 6vw; display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:center; position:relative; }
.urs-cta-band__title { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:clamp(32px,4vw,52px); line-height:1.0; text-transform:uppercase; letter-spacing:-0.01em; color:var(--fg-on-dark); margin:0; }
.urs-cta-band__title em { color:var(--urs-orange); font-style:italic; }
.urs-cta-band__sub { font-family:var(--font-sans); font-size:17px; line-height:1.6; color:rgba(255,255,255,0.78); max-width:56ch; margin:18px 0 0; }
.urs-cta-band__ctas { display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; }

/* ─── Quote / Testimonial ─── */
.urs-quote { background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:36px 32px 28px; display:flex; flex-direction:column; gap:24px; }
.urs-quote__mark { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:64px; line-height:0.7; color:var(--urs-orange); }
.urs-quote__body { font-family:var(--font-sans); font-size:16px; line-height:1.65; color:var(--fg1); margin:0; flex:1; }
.urs-quote__author { border-top:1px solid var(--border); padding-top:18px; display:flex; flex-direction:column; gap:2px; }
.urs-quote__name { font-family:var(--font-sans); font-weight:700; font-size:14px; color:var(--fg1); }
.urs-quote__role { font-family:var(--font-sans); font-weight:500; font-size:12px; color:var(--fg3); letter-spacing:0.04em; }

/* ─── Blog card ─── */
.urs-blog-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; display:flex; flex-direction:column; transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); text-decoration:none; color:inherit; }
.urs-blog-card:hover { border-color:var(--border-strong); transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.urs-blog-card__img { aspect-ratio:16/9; background-size:cover; background-position:center; background-color:var(--urs-bone); }
.urs-blog-card__body { padding:28px; display:flex; flex-direction:column; gap:14px; flex:1; }
.urs-blog-card__meta { display:flex; gap:14px; font-family:var(--font-mono); font-weight:500; font-size:12px; color:var(--fg3); letter-spacing:0.02em; }
.urs-blog-card__title { font-family:var(--font-sans); font-weight:700; font-size:19px; line-height:1.3; color:var(--fg1); letter-spacing:-0.01em; }
.urs-blog-card__excerpt { font-family:var(--font-sans); font-size:14px; line-height:1.65; color:var(--fg2); flex:1; }
.urs-blog-card__link { font-family:var(--font-sans); font-weight:700; font-size:12px; letter-spacing:0.10em; text-transform:uppercase; color:var(--urs-orange); display:inline-flex; align-items:center; gap:8px; }
.urs-blog-card__link::after { content:"→"; transition:transform var(--dur-fast) var(--ease-firm); }
.urs-blog-card:hover .urs-blog-card__link::after { transform:translateX(4px); }

/* ─── Partners ─── */
.urs-partners { display:grid; grid-template-columns:repeat(6,1fr); gap:32px; align-items:center; }
.urs-partner-tile { height:64px; background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-style:italic; font-size:16px; color:var(--fg3); letter-spacing:0.04em; text-transform:uppercase; transition:color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); }
.urs-partner-tile:hover { color:var(--fg1); border-color:var(--border-strong); }

/* ─── Footer ─── */
.urs-footer-x { background:var(--urs-navy); color:rgba(255,255,255,0.7); }
.urs-footer-x__top { max-width:1280px; margin:0 auto; padding:80px 6vw 48px; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:48px; }
.urs-footer-x__logo { display:block; height:56px; width:auto; margin-bottom:18px; }
.urs-footer-x__brand-name { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:30px; letter-spacing:-0.01em; color:#fff; text-transform:uppercase; line-height:1; }
.urs-footer-x__brand-tag { font-family:var(--font-sans); font-weight:700; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--urs-orange-soft); margin:10px 0 20px; }
.urs-footer-x__desc { font-family:var(--font-sans); font-size:14px; line-height:1.7; color:rgba(255,255,255,0.62); max-width:38ch; }
.urs-footer-x h4 { font-family:var(--font-sans); font-weight:700; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.95); margin:0 0 18px; }
.urs-footer-x ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.urs-footer-x a { font-family:var(--font-sans); font-size:14px; color:rgba(255,255,255,0.62); transition:color var(--dur-fast) var(--ease-firm); text-decoration:none; }
.urs-footer-x a:hover { color:var(--urs-orange); }
.urs-footer-x__contact-line { display:flex; align-items:center; gap:10px; font-family:var(--font-sans); font-size:14px; color:rgba(255,255,255,0.78); }
.urs-footer-x__contact-line svg, .urs-footer-x__contact-line iconify-icon { color:var(--urs-orange); width:16px; height:16px; flex-shrink:0; }
.urs-footer-x__socials { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
.urs-footer-x__social-icon { width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; border:1px solid rgba(255,255,255,0.18); color:rgba(255,255,255,0.55); transition:color var(--dur-fast) var(--ease-firm), border-color var(--dur-fast) var(--ease-firm); }
.urs-footer-x__social-icon:hover { color:var(--urs-orange); border-color:var(--urs-orange); }
.urs-footer-x__bottom { max-width:1280px; margin:0 auto; padding:24px 6vw 32px; border-top:1px solid rgba(255,255,255,0.10); display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; font-family:var(--font-sans); font-size:12px; color:rgba(255,255,255,0.42); }

/* ─── Benefit row ─── */
.urs-benefit { display:grid; grid-template-columns:56px 1fr; gap:24px; padding:28px 0; border-top:1px solid var(--border); }
.urs-benefit:last-child { border-bottom:1px solid var(--border); }
.urs-benefit__title { font-family:var(--font-sans); font-weight:700; font-size:18px; color:var(--fg1); margin:0 0 8px; }
.urs-benefit__body { font-family:var(--font-sans); font-size:15px; line-height:1.65; color:var(--fg2); margin:0; }

/* ─── FAQ ─── */
.urs-faq-item { border-bottom:1px solid var(--border); }
.urs-faq-item:first-child { border-top:1px solid var(--border); }
.urs-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; padding:24px 0; background:transparent; border:none; cursor:pointer; font-family:var(--font-sans); font-weight:700; font-size:18px; color:var(--fg1); text-align:left; transition:color var(--dur-fast) var(--ease-firm); }
.urs-faq-q:hover { color:var(--urs-orange); }
.urs-faq-toggle { font-size:26px; line-height:1; color:var(--urs-orange); transition:transform var(--dur-base) var(--ease-out); flex-shrink:0; margin-left:24px; }
.urs-faq-item.open .urs-faq-toggle { transform:rotate(45deg); }
.urs-faq-a { max-height:0; overflow:hidden; transition:max-height var(--dur-slow) var(--ease-out); }
.urs-faq-item.open .urs-faq-a { max-height:400px; }
.urs-faq-a-inner { padding:0 0 28px 0; font-family:var(--font-sans); font-size:16px; line-height:1.75; color:var(--fg2); }

/* ─── Form ─── */
.urs-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.urs-form__full { grid-column:span 2; }
.urs-input,.urs-textarea,.urs-select { width:100%; padding:14px 16px; background:#FFFFFF; border:1.5px solid var(--border-strong); border-radius:var(--radius-sm); font-family:var(--font-sans); font-size:15px; font-weight:500; color:var(--fg1); outline:none; transition:border-color var(--dur-fast) var(--ease-firm), box-shadow var(--dur-fast) var(--ease-firm); }
.urs-input:focus,.urs-textarea:focus,.urs-select:focus { border-color:var(--urs-orange); box-shadow:0 0 0 3px rgba(224,81,47,0.18); }
.urs-textarea { min-height:120px; resize:vertical; }
.urs-label { display:block; font-family:var(--font-sans); font-weight:700; font-size:var(--fs-micro); letter-spacing:0.16em; text-transform:uppercase; color:var(--fg2); margin-bottom:8px; }

/* ─── Responsive ─── */
@media (max-width: 1024px) {
  .urs-grid-3 { grid-template-columns:repeat(2,1fr); }
  .urs-section-head { grid-template-columns:1fr; }
  .urs-section-head__lead { justify-self:start; }
  .urs-split { grid-template-columns:1fr; }
  .urs-cta-band__inner { grid-template-columns:1fr; }
  .urs-cta-band__ctas { justify-content:flex-start; }
  .urs-partners { grid-template-columns:repeat(3,1fr); }
  .urs-footer-x__top { grid-template-columns:1fr 1fr; }
}
@media (max-width: 768px) {
  .urs-shell-nav__links { display:none; }
  .urs-hamburger { display:block; }
  .urs-hero__strip { grid-template-columns:repeat(2,1fr); }
  .urs-footer-x__top { grid-template-columns:1fr; }
  .urs-form { grid-template-columns:1fr; }
  .urs-form__full { grid-column:span 1; }
}
@media (max-width: 640px) {
  .urs-grid-3,.urs-grid-2 { grid-template-columns:1fr; }
  .urs-partners { grid-template-columns:repeat(2,1fr); }
  .urs-cta-band__inner { padding:60px 6vw; }
}

/* ─── URS header nav — reset inherited header.sticky rules ─── */
.urs-shell-nav a { text-decoration:none; }
.urs-shell-nav ul,.urs-shell-nav ol { list-style:none; padding-left:0; margin:0; }
.urs-shell-nav button { font:inherit; }

/* ─── Scroll reveal animations ─── */
.urs-aos {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
  will-change: opacity, transform;
}
.urs-aos.urs-in { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .urs-aos { opacity:1; transform:none; transition:none; }
}

/* ─── Testimonial carousel ─── */
.urs-testi-carousel { position:relative; }
.urs-testi-slide { width:100%; }
.urs-testi-controls { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:32px; }
.urs-testi-btn {
  width:48px; height:48px; border-radius:50%;
  background:var(--urs-navy); color:#fff;
  border:none; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:20px; transition:background .15s;
  flex-shrink:0;
}
.urs-testi-btn:hover { background:var(--urs-navy-soft); }
.urs-testi-dots { display:flex; gap:8px; align-items:center; }
.urs-testi-dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--urs-fog); border:none; cursor:pointer; padding:0;
  transition:background .2s, transform .2s;
}
.urs-testi-dot.is-active { background:var(--urs-orange); transform:scale(1.3); }

/* ─── Mobile nav sidebar ─── */
.urs-mob-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,0.55);
  z-index:997; backdrop-filter:blur(2px);
}
.urs-mob-sidebar {
  position:fixed; top:0; right:0;
  width:min(360px, 92vw); height:100dvh;
  background:var(--urs-orange);
  z-index:998;
  display:flex; flex-direction:column;
  overflow-y:auto; overflow-x:hidden;
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.urs-mob-sidebar.is-open { transform:translateX(0); }
.urs-mob-sidebar__head {
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 24px 16px;
  border-bottom:1px solid rgba(255,255,255,.2);
}
.urs-mob-sidebar__logo { color:#fff; font-family:var(--font-display); font-weight:800; font-style:italic; font-size:22px; letter-spacing:-0.01em; text-transform:uppercase; text-decoration:none; }
.urs-mob-sidebar__close {
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.2); border:none;
  color:#fff; font-size:22px; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  line-height:1; transition:background .15s;
}
.urs-mob-sidebar__close:hover { background:rgba(255,255,255,.35); }
.urs-mob-sidebar__nav { flex:1; padding:8px 0; }
.urs-mob-sidebar__nav a,
.urs-mob-sidebar__nav button.urs-mob-acc-trigger {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:14px 24px;
  font-family:var(--font-sans); font-weight:700; font-size:16px;
  color:#fff; text-decoration:none;
  background:none; border:none; cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.15);
  transition:background .15s;
  text-align:left;
}
.urs-mob-sidebar__nav a:hover,
.urs-mob-sidebar__nav button.urs-mob-acc-trigger:hover { background:rgba(255,255,255,.12); }
.urs-mob-acc-arrow { display:inline-block; transition:transform .25s; }
.urs-mob-acc-arrow.is-open { transform:rotate(180deg); }
.urs-mob-acc-sub { overflow:hidden; background:rgba(0,0,0,.12); }
.urs-mob-acc-sub a {
  display:flex; align-items:center;
  padding:12px 24px 12px 40px;
  font-size:14px; color:rgba(255,255,255,.9);
  border-bottom:1px solid rgba(255,255,255,.1);
  text-decoration:none;
}
.urs-mob-acc-sub a::before { content:"↳ "; margin-right:6px; opacity:.7; }
.urs-mob-acc-sub a:hover { background:rgba(255,255,255,.1); }
.urs-mob-sidebar__foot {
  padding:20px 24px;
  border-top:1px solid rgba(255,255,255,.2);
  display:flex; flex-direction:column; gap:12px;
}

/* ─── Testimonials carousel — grid-stack, no height collapse ─── */
.urs-testi-track-wrap { overflow:hidden; }
.urs-testi-track {
  display:flex;
  transition:transform .55s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}
.urs-testi-track-card {
  flex:0 0 33.333%;
  padding:0 12px;
  box-sizing:border-box;
}
@media (max-width:900px) {
  .urs-testi-track-card { flex:0 0 50%; }
}
@media (max-width:600px) {
  .urs-testi-track-card { flex:0 0 100%; padding:0; }
}

/* ─── Override DesignTokensService h1/h2/h3 forced sizes ─── */
/* DesignTokensService injects inline `h1 { font-size:2.6rem !important }` which
   beats our class rules when class doesn't have !important. We re-claim with
   tag+class compound selectors (higher specificity) + !important. */
h1.urs-hero__title { font-size:clamp(44px,6.2vw,86px) !important; line-height:0.96 !important; margin:0 !important; }
h2.urs-h1, h1.urs-h1 { font-size:var(--fs-h1) !important; line-height:var(--lh-snug) !important; margin:0 !important; }
h2.urs-h2 { font-size:var(--fs-h2) !important; line-height:var(--lh-snug) !important; margin:0 !important; }
h2.urs-cta-band__title { font-size:clamp(32px,4vw,52px) !important; line-height:1.0 !important; margin:0 !important; }
h3.urs-blog-card__title { font-size:22px !important; line-height:1.25 !important; margin:0 !important; }
h3.urs-svc-card__title { font-size:21px !important; line-height:1.25 !important; }
h3.urs-quote__name, .urs-quote__name { font-size:15px !important; line-height:1.3 !important; }
h3.urs-stat__num, .urs-stat__num { font-size:clamp(28px,3.5vw,44px) !important; line-height:1 !important; }

/* ─── Service card hover lift — must beat .urs-aos.urs-in transform ─── */
.urs-svc-card:hover,
.urs-svc-card.urs-aos.urs-in:hover { transform:translateY(-8px) !important; border-color:var(--urs-orange); box-shadow:0 22px 45px -20px rgba(13,18,28,0.25), 0 8px 16px -8px rgba(13,18,28,0.15); }
.urs-svc-card .urs-icon-circle { transition:background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }
.urs-svc-card:hover .urs-icon-circle { background:var(--urs-orange); color:#fff; transform:scale(1.05); }

/* ─── Testimonial stars ─── */
.urs-quote__stars { display:inline-flex; gap:3px; margin-bottom:14px; color:#F5B544; }
.urs-quote__stars iconify-icon { font-size:18px; }
.urs-quote { padding:36px 32px 28px; background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); height:100%; box-sizing:border-box; display:flex; flex-direction:column; gap:18px; transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.urs-quote:hover { border-color:var(--urs-orange); transform:translateY(-4px); box-shadow:0 18px 40px -22px rgba(13,18,28,0.2); }

/* ─── Forms (Contact page) ─── */
.urs-input, .urs-textarea, .urs-select { width:100%; padding:14px 16px; background:#fff; border:1.5px solid var(--border-strong); border-radius:var(--radius-sm); font-family:var(--font-sans); font-size:15px; font-weight:500; color:var(--fg1); outline:none; transition:border-color var(--dur-fast) var(--ease-firm), box-shadow var(--dur-fast) var(--ease-firm); }
.urs-input::placeholder, .urs-textarea::placeholder { color:var(--fg3); font-weight:400; }
.urs-input:focus, .urs-textarea:focus, .urs-select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(224,81,47,0.18); }
.urs-textarea { min-height:140px; resize:vertical; }
.urs-label { display:block; font-family:var(--font-sans); font-weight:700; font-size:var(--fs-micro); letter-spacing:0.16em; text-transform:uppercase; color:var(--fg2); margin-bottom:8px; }

/* ─── URS contact form — map Livewire Bootstrap classes to URS look ─── */
.urs-contact-form .form-control { width:100%; padding:14px 16px; background:#fff; border:1.5px solid var(--border-strong); border-radius:var(--radius-sm); font-family:var(--font-sans); font-size:15px; font-weight:500; color:var(--fg1); outline:none; transition:border-color var(--dur-fast) var(--ease-firm), box-shadow var(--dur-fast) var(--ease-firm); }
.urs-contact-form .form-control:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(224,81,47,0.18); }
.urs-contact-form textarea.form-control { min-height:140px; resize:vertical; }
.urs-contact-form .form-label { display:block; font-family:var(--font-sans); font-weight:700; font-size:var(--fs-micro); letter-spacing:0.16em; text-transform:uppercase; color:var(--fg2); margin-bottom:8px; }
.urs-contact-form .mb-3 { margin-bottom:20px; }
.urs-contact-form .btn, .urs-contact-form button[type="submit"] { display:inline-flex; align-items:center; gap:10px; padding:14px 28px; background:var(--accent); color:#fff; border:none; border-radius:var(--radius-cta); font-family:var(--font-sans); font-weight:700; font-size:14px; letter-spacing:0.05em; text-transform:uppercase; cursor:pointer; transition:background var(--dur-fast) var(--ease-firm); }
.urs-contact-form .btn:hover, .urs-contact-form button[type="submit"]:hover { background:var(--accent-hover); }
.urs-contact-form .alert { padding:12px 16px; border-radius:var(--radius-sm); margin-bottom:16px; font-size:14px; }
.urs-contact-form .alert-success { background:#E8F5E9; color:#1B5E20; border:1px solid #A5D6A7; }
.urs-contact-form .alert-danger { background:#FFEBEE; color:#B71C1C; border:1px solid #EF9A9A; }
.urs-contact-form .alert-info { background:#FFF3E0; color:#E65100; border:1px solid #FFCC80; }
.urs-contact-form .text-danger { color:#C62828; font-size:13px; margin-top:6px; display:block; }

/* ─── Strengthen URS labels inside contact form ─── */
.urs-contact-form .urs-label { display:block !important; font-family:var(--font-sans) !important; font-size:12px !important; font-weight:800 !important; letter-spacing:0.14em !important; text-transform:uppercase !important; color:var(--fg1) !important; margin-bottom:10px !important; }

/* ─── OVERRIDE design-tokens-override green !important rules inside contact form ─── */
.urs-contact-form form input[type="text"],
.urs-contact-form form input[type="email"],
.urs-contact-form form input[type="tel"],
.urs-contact-form form input[type="url"],
.urs-contact-form form input[type="search"],
.urs-contact-form form input[type="number"],
.urs-contact-form form input[type="password"],
.urs-contact-form form textarea,
.urs-contact-form form select {
    width:100% !important;
    background:#fff !important;
    border:1.5px solid var(--border-strong) !important;
    border-left:1.5px solid var(--border-strong) !important;
    border-radius:4px !important;
    padding:15px 18px !important;
    font-family:var(--font-sans) !important;
    font-size:15px !important;
    font-weight:500 !important;
    color:var(--fg1) !important;
    outline:none !important;
    transition:border-color var(--dur-fast) var(--ease-firm), box-shadow var(--dur-fast) var(--ease-firm) !important;
}
.urs-contact-form form input:hover,
.urs-contact-form form textarea:hover { border-color:#9A8F77 !important; }
.urs-contact-form form input:focus,
.urs-contact-form form textarea:focus,
.urs-contact-form form select:focus {
    border-color:var(--urs-orange) !important;
    border-left-color:var(--urs-orange) !important;
    box-shadow:0 0 0 3px rgba(224,81,47,0.22) !important;
    background:#fff !important;
}
.urs-contact-form form textarea { min-height:140px !important; resize:vertical !important; }
.urs-contact-form form input::placeholder,
.urs-contact-form form textarea::placeholder { color:var(--fg3) !important; font-weight:400 !important; }

/* Honeypot — absolutely hidden, never visible */
.urs-contact-form form input[name="website"] {
    position:absolute !important;
    left:-9999px !important;
    width:1px !important; height:1px !important;
    border:0 !important; padding:0 !important;
}

/* Submit button — beat any token CTA overrides */
.urs-contact-form form button[type="submit"] {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    width:100% !important;
    padding:16px 32px !important;
    background:var(--urs-orange) !important;
    color:#fff !important;
    border:none !important;
    border-radius:999px !important;
    font-family:var(--font-sans) !important;
    font-weight:700 !important;
    font-size:15px !important;
    letter-spacing:0.06em !important;
    text-transform:uppercase !important;
    cursor:pointer !important;
    transition:background var(--dur-fast) var(--ease-firm), transform var(--dur-fast) var(--ease-firm) !important;
    box-shadow:0 8px 20px -8px rgba(224,81,47,0.55) !important;
}
.urs-contact-form form button[type="submit"]:hover {
    background:var(--urs-orange-deep) !important;
    transform:translateY(-1px) !important;
}
.urs-contact-form form button[type="submit"]:disabled {
    opacity:0.6 !important;
    cursor:not-allowed !important;
    transform:none !important;
}

/* Checkbox — override any bg-cta1-bg or border-radius:0 inherited rule */
.urs-contact-form .urs-checkbox__box { border-radius:6px !important; }
.urs-contact-form .urs-checkbox input[type="checkbox"] {
    position:absolute !important;
    opacity:0 !important;
    width:1px !important; height:1px !important;
    border:0 !important; padding:0 !important;
}

/* ─── Contact split layout (navy brand panel + form) ─── */
.urs-contact-split { display:grid; grid-template-columns:minmax(280px, 0.85fr) 1fr; gap:0; background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; box-shadow:0 1px 0 rgba(29,43,63,0.04), 0 12px 32px -16px rgba(29,43,63,0.14); }
.urs-contact-split__brand { position:relative; background:var(--urs-navy); color:#fff; padding:48px 40px; overflow:hidden; display:flex; flex-direction:column; gap:24px; }
.urs-contact-split__brand::before { content:""; position:absolute; top:-40px; right:-60px; width:200px; height:200px; background:var(--urs-orange); transform:skewX(-12deg) rotate(8deg); opacity:0.92; }
.urs-contact-split__brand::after { content:""; position:absolute; bottom:-50px; left:-60px; width:160px; height:160px; background:rgba(255,255,255,0.04); transform:skewX(-12deg); }
.urs-contact-split__brand > * { position:relative; z-index:1; }
.urs-contact-split__eyebrow { font-family:var(--font-sans); font-weight:700; font-size:11px; letter-spacing:0.20em; text-transform:uppercase; color:var(--urs-orange-soft); display:inline-flex; align-items:center; gap:10px; }
.urs-contact-split__eyebrow .urs-rule { display:inline-block; width:36px; height:2px; background:var(--urs-orange); }
.urs-contact-split__title { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:36px; letter-spacing:-0.005em; line-height:1.05; text-transform:uppercase; color:#fff; margin:0; }
.urs-contact-split__title em { color:var(--urs-orange); font-style:italic; }
.urs-contact-split__lead { font-family:var(--font-sans); font-size:15px; line-height:1.6; color:rgba(255,255,255,0.78); margin:0; }
.urs-contact-split__bullets { list-style:none; padding:0; margin:8px 0 0 0; display:flex; flex-direction:column; gap:14px; }
.urs-contact-split__bullets li { display:flex; align-items:flex-start; gap:12px; font-family:var(--font-sans); font-size:14px; line-height:1.5; color:rgba(255,255,255,0.88); }
.urs-contact-split__bullets iconify-icon { flex-shrink:0; font-size:20px; color:var(--urs-orange); margin-top:2px; }
.urs-contact-split__form { padding:48px 44px; background:#fff; }
.urs-contact-split__form-title { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:24px; letter-spacing:-0.005em; line-height:1.1; text-transform:uppercase; color:var(--fg1); margin:0 0 8px 0; }
.urs-contact-split__form-sub { font-family:var(--font-sans); font-size:14px; color:var(--fg2); margin:0 0 28px 0; }
@media (max-width:900px) {
    .urs-contact-split { grid-template-columns:1fr; }
    .urs-contact-split__brand { padding:36px 28px; }
    .urs-contact-split__form { padding:32px 24px; }
    .urs-contact-split__title { font-size:30px; }
}

/* ─── URS form alerts & errors (Livewire-rendered) ─── */
.urs-form-alert { padding:14px 18px; border-radius:var(--radius-sm); margin-bottom:18px; font-size:14px; font-weight:500; }
.urs-form-alert--success { background:#E8F5E9; color:#1B5E20; border:1px solid #A5D6A7; }
.urs-form-alert--danger  { background:#FFEBEE; color:#B71C1C; border:1px solid #EF9A9A; }
.urs-form-alert--info    { background:#FFF3E0; color:#E65100; border:1px solid #FFCC80; }
.urs-form-error { display:block; color:#C62828; font-size:13px; font-weight:500; margin-top:6px; }

/* ─── URS custom checkbox ─── */
.urs-checkbox { display:flex; align-items:flex-start; gap:12px; cursor:pointer; font-family:var(--font-sans); font-size:14px; line-height:1.55; color:var(--fg2); user-select:none; }
.urs-checkbox input[type="checkbox"] { position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.urs-checkbox__box { flex-shrink:0; width:22px; height:22px; border-radius:6px; border:1.5px solid var(--border-strong); background:#fff; display:inline-flex; align-items:center; justify-content:center; transition:all var(--dur-fast) var(--ease-firm); font-size:16px; color:transparent; margin-top:1px; }
.urs-checkbox:hover .urs-checkbox__box { border-color:var(--accent); }
.urs-checkbox input:focus-visible + .urs-checkbox__box { box-shadow:0 0 0 3px rgba(224,81,47,0.22); }
.urs-checkbox input:checked + .urs-checkbox__box { background:var(--accent); border-color:var(--accent); color:#fff; }
.urs-checkbox__text { flex:1; }
.urs-checkbox__text a { color:var(--accent); text-decoration:underline; }

/* ─── Button — large variant (for primary submit) ─── */
.urs-btn--lg { padding:16px 32px; font-size:15px; }

/* ─── Contact form card responsive ─── */
@media (max-width:640px) {
    .urs-contact-form .urs-form { gap:16px; }
    .urs-contact-form { font-size:14px; }
}

/* ─── Contact info — navy hero panel (matches form brand panel language) ─── */
.urs-contact-info {
    position:relative;
    background:linear-gradient(135deg, #1D2B3F 0%, #14202F 100%);
    border:none;
    border-radius:var(--radius-md);
    padding:40px 36px;
    display:flex;
    flex-direction:column;
    gap:26px;
    overflow:hidden;
    color:#fff;
    box-shadow:0 1px 0 rgba(29,43,63,0.04), 0 18px 40px -20px rgba(29,43,63,0.30);
}
/* Orange skew accent — top right */
.urs-contact-info::before {
    content:"";
    position:absolute;
    top:-50px; right:-70px;
    width:220px; height:220px;
    background:var(--urs-orange);
    transform:skewX(-12deg) rotate(8deg);
    opacity:0.92;
    z-index:0;
}
/* Soft navy plate — bottom left */
.urs-contact-info::after {
    content:"";
    position:absolute;
    bottom:-60px; left:-70px;
    width:200px; height:200px;
    background:rgba(255,255,255,0.04);
    transform:skewX(-12deg);
    z-index:0;
}
/* Decorative truck silhouette — bottom right, subtle */
.urs-contact-info__truck {
    position:absolute;
    right:-30px; bottom:-30px;
    font-size:240px;
    color:rgba(255,255,255,0.05);
    line-height:1;
    pointer-events:none;
    z-index:0;
}
.urs-contact-info > *:not(.urs-contact-info__truck) { position:relative; z-index:1; }

.urs-contact-info__header {
    display:flex; flex-direction:column; gap:10px;
    padding-bottom:22px;
    border-bottom:1px solid rgba(255,255,255,0.10);
    margin-bottom:4px;
}
.urs-contact-info__eyebrow {
    font-family:var(--font-sans);
    font-weight:700; font-size:11px;
    letter-spacing:0.20em; text-transform:uppercase;
    color:var(--urs-orange-soft);
    display:inline-flex; align-items:center; gap:10px;
}
.urs-contact-info__eyebrow .urs-rule {
    display:inline-block; width:36px; height:2px; background:var(--urs-orange);
}
.urs-contact-info__title {
    font-family:var(--font-display);
    font-weight:800; font-style:italic;
    font-size:28px; letter-spacing:-0.005em; line-height:1.05;
    text-transform:uppercase;
    color:#fff; margin:0;
}
.urs-contact-info__title em { color:var(--urs-orange); font-style:italic; }

.urs-contact-info__item { display:flex; gap:16px; align-items:flex-start; }
.urs-contact-info__icon {
    flex-shrink:0;
    width:44px; height:44px;
    border-radius:50%;
    background:var(--urs-orange);
    color:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:20px;
    box-shadow:0 6px 14px -6px rgba(224,81,47,0.55);
}
.urs-contact-info__label {
    font-family:var(--font-sans);
    font-weight:700; font-size:10px;
    letter-spacing:0.20em; text-transform:uppercase;
    color:rgba(255,255,255,0.55);
    margin-bottom:6px;
}
.urs-contact-info__value {
    font-family:var(--font-sans);
    font-size:15px; font-weight:600;
    color:#fff; line-height:1.5;
}
.urs-contact-info__value a {
    color:#fff; text-decoration:none;
    transition:color var(--dur-fast) var(--ease-firm);
}
.urs-contact-info__value a:hover { color:var(--urs-orange-soft); }

/* Messengers — keep colored pills, but adjust for dark bg */
.urs-contact-info .urs-contact-messengers { margin-top:8px; }
.urs-contact-info .urs-contact-messengers a {
    box-shadow:0 4px 10px -4px rgba(0,0,0,0.40);
}
.urs-contact-map { border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--border); }
.urs-contact-map iframe { display:block; width:100%; height:480px; border:none; }
.urs-contact-social { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.urs-contact-social a { width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--border); color:var(--fg1); display:inline-flex; align-items:center; justify-content:center; font-size:20px; transition:all var(--dur-fast) var(--ease-firm); text-decoration:none; }
.urs-contact-social a:hover { background:var(--accent); border-color:var(--accent); color:#fff; }
.urs-contact-messengers { display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; }
.urs-contact-messengers a { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:20px; font-size:13px; font-weight:600; color:#fff; text-decoration:none; }
.urs-contact-messengers a.viber { background:#7360F2; }
.urs-contact-messengers a.whatsapp { background:#25D366; }
.urs-contact-messengers a.telegram { background:#0088CC; }
.urs-contact-messengers a:hover { opacity:0.88; }
@media (max-width:900px) { .urs-contact-grid { grid-template-columns:1fr !important; } }

/* ─── Counters (About page) ─── */
.urs-counters { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.urs-counter { padding:32px 28px; background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); display:flex; flex-direction:column; gap:8px; }
.urs-counter__num { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:clamp(48px,5vw,72px); line-height:0.95; color:var(--accent); letter-spacing:-0.01em; }
.urs-counter__num small { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:0.5em; color:var(--fg1); margin-left:4px; }
.urs-counter__label { font-family:var(--font-sans); font-weight:700; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg2); line-height:1.4; }
@media (max-width:900px) { .urs-counters { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .urs-counters { grid-template-columns:1fr; } }

/* ─── Hero stat strip — sva slova i brojevi beli na mobilnom ─── */
@media (max-width: 768px) {
  .urs-hero__strip .urs-stat__num,
  .urs-hero__strip .urs-stat__num em,
  .urs-hero__strip .urs-stat__label { color:#fff !important; }
}

/* === Service Detail: layout + side + steps ============================== */
.urs-svc-layout { display:grid; grid-template-columns: minmax(0, 1fr) 360px; gap:64px; align-items:start; }
.urs-svc-content { font-family:var(--font-sans); }
.urs-svc-content > p { font-family:var(--font-sans); font-size:16px; line-height:1.7; color:var(--fg1); margin:0 0 18px; }
.urs-svc-content .urs-lead { font-family:var(--font-sans); font-weight:500; font-size:19px; line-height:1.6; color:var(--fg1); margin:0 0 24px; }
.urs-svc-content h2 { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:clamp(28px,3vw,40px); line-height:1.1; text-transform:uppercase; color:var(--fg1); margin:36px 0 18px; letter-spacing:-0.01em; }
.urs-svc-content h2 em { color:var(--urs-orange); font-style:italic; }
.urs-svc-content strong { color:var(--fg1); font-weight:700; }

/* Sidebar */
.urs-side { display:flex; flex-direction:column; gap:18px; position:sticky; top:108px; }
.urs-side__block { background:#FFFFFF; border:1px solid var(--border); border-radius:var(--radius-md); padding:24px 26px; }
.urs-side__block--navy { background:var(--urs-navy); color:var(--fg-on-dark); border-color:transparent; position:relative; overflow:hidden; }
.urs-side__block--navy::before { content:""; position:absolute; right:-30px; top:-20px; width:90px; height:140%; background:var(--urs-orange); transform:skewX(-12deg); opacity:0.18; pointer-events:none; }
.urs-side__h { font-family:var(--font-sans); font-weight:700; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin:0 0 16px; }
.urs-side__block--navy .urs-side__h { color:var(--urs-orange-soft); }
.urs-side__list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:2px; }
.urs-side__list li { border-bottom:1px solid var(--border); }
.urs-side__list li:last-child { border-bottom:none; }
.urs-side__list a { display:block; padding:11px 0; color:var(--fg1); font-family:var(--font-sans); font-weight:500; font-size:14px; line-height:1.45; text-decoration:none; transition:color var(--dur-fast) var(--ease-firm), padding var(--dur-fast) var(--ease-firm); }
.urs-side__list a::before { content:"›"; color:var(--accent); margin-right:8px; font-weight:700; opacity:0; transition:opacity var(--dur-fast) var(--ease-firm), margin var(--dur-fast) var(--ease-firm); }
.urs-side__list a:hover { color:var(--accent); padding-left:8px; }
.urs-side__list a:hover::before { opacity:1; margin-right:4px; }
.urs-side__list li.is-active a { color:var(--accent); font-weight:700; }
.urs-side__list li.is-active a::before { opacity:1; margin-right:4px; }
.urs-side__contact-line { display:flex; align-items:center; gap:12px; padding:8px 0; font-family:var(--font-sans); font-size:14px; color:rgba(255,255,255,0.85); }
.urs-side__contact-line svg { width:18px; height:18px; flex-shrink:0; color:var(--urs-orange); }
.urs-side__contact-line a { color:#fff; text-decoration:none; transition:color var(--dur-fast) var(--ease-firm); }
.urs-side__contact-line a:hover { color:var(--urs-orange-soft); }

/* Process steps */
.urs-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px; }
.urs-step { background:#FFFFFF; border:1px solid var(--border); border-radius:var(--radius-md); padding:32px 28px; position:relative; transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); }
.urs-step:hover { transform:translateY(-4px); border-color:var(--urs-orange); box-shadow:0 14px 40px -18px rgba(29,43,63,0.20); }
.urs-step__num { font-family:var(--font-display); font-weight:800; font-style:italic; font-size:48px; line-height:1; color:var(--urs-orange); display:block; margin-bottom:18px; letter-spacing:-0.02em; }
.urs-step__title { font-family:var(--font-sans); font-weight:700; font-size:20px; color:var(--fg1); margin:0 0 10px; }
.urs-step__body { font-family:var(--font-sans); font-size:14.5px; line-height:1.6; color:var(--fg2); margin:0; }

/* Service related cards (navy variant for CTA section) */
.urs-svc-related-card { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:20px 24px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-md); color:#fff; text-decoration:none; transition:background var(--dur-fast) var(--ease-firm), border-color var(--dur-fast) var(--ease-firm), transform var(--dur-fast) var(--ease-firm); }
.urs-svc-related-card:hover { background:rgba(255,255,255,0.10); border-color:var(--urs-orange); transform:translateX(4px); color:#fff; }
.urs-svc-related-card__title { font-family:var(--font-sans); font-weight:700; font-size:16px; }
.urs-svc-related-card__arrow { color:var(--urs-orange); font-size:20px; }

/* Responsive */
@media (max-width: 1024px) {
  .urs-svc-layout { grid-template-columns:1fr; gap:48px; }
  .urs-side { position:static; }
  .urs-steps { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 600px) {
  .urs-steps { grid-template-columns:1fr; }
}

/* === Sidebar CTA button — rectangular to match navy block geometry ===== */
.urs-side__block .urs-btn { box-sizing:border-box; max-width:100%; border-radius:var(--radius-md); padding:14px 18px; font-size:12px; letter-spacing:0.08em; gap:8px; white-space:normal; }
.urs-side__block .urs-btn--lg { padding:16px 20px; font-size:13px; }
