:root{--ink:#18334c;--muted:#4e6272;--orange:#ff751f;--sun:#ffae35;--blue:#19b9ee;--red:#f13c42;--line:#d7e2e9;--paper:#f7fafc;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a,button{transition:background .15s,transform .15s}button{cursor:pointer}a:hover{color:#9e3600}button:hover,.button:hover{filter:brightness(.96)}button:active,.button:active{transform:translateY(2px)}:focus-visible{outline:3px solid #006b92;outline-offset:5px}img,svg{max-width:100%}img{display:block;height:auto;border-radius:16px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.2rem,4.6vw,4.6rem);line-height:1.06;letter-spacing:-.045em;margin-bottom:24px;max-width:850px}h2{font-size:clamp(1.65rem,3vw,2.8rem);line-height:1.15;letter-spacing:-.035em;margin-bottom:22px}h3{font-size:1.2rem;line-height:1.3;margin-bottom:12px}p{margin-bottom:20px}small,.small{font-size:.82rem;line-height:1.5}.wrap{width:min(1240px,calc(100% - 48px));margin:auto}.skip{position:fixed;left:12px;top:-90px;background:var(--ink);color:white;z-index:1000;padding:12px}.skip:focus{top:10px}.topline{background:var(--ink);color:white;font-size:12px;letter-spacing:.06em;padding:7px 0}.topline .wrap{display:flex;justify-content:space-between}.header{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;gap:24px;min-height:86px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;line-height:1.1;letter-spacing:-.04em;font-size:23px}.brand small{display:block;font-size:11px;letter-spacing:.08em;font-weight:600;margin-top:4px}.brand-mark{background:var(--sun);width:42px;height:48px;display:grid;place-items:center;border-radius:12px;transform:rotate(-4deg)}.brand-mark svg{width:27px;height:33px}.nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700}.nav a{text-decoration:none;padding:10px 0}.nav details{position:relative}.nav summary{cursor:pointer;padding:10px 0;min-height:44px}.nav details>div{position:absolute;right:0;top:100%;width:640px;max-height:70vh;overflow:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:white;border:1px solid var(--line);box-shadow:0 15px 30px #18334c20;padding:24px;border-radius:16px}.nav details h3{font-size:14px;color:#9e3600}.nav details a{display:block;font-size:13px;font-weight:500}.langs{display:flex;gap:4px}.langs a,.langs span{padding:9px;font-size:12px;font-weight:800;text-decoration:none;min-width:36px;text-align:center}.langs span{background:#dff5fd;border-radius:8px}.phone{font-size:16px;font-weight:800;white-space:nowrap;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 24px;background:var(--sun);border:1px solid transparent;border-radius:12px;color:var(--ink);font-weight:800;text-decoration:none;line-height:1.3;text-align:center}.button.dark{background:var(--ink);color:white}.button.ghost{background:white;border-color:var(--line)}.button.full{width:100%}.menu-toggle{display:none;border:1px solid var(--line);border-radius:10px;background:white;width:46px;height:46px}.hero{position:relative;background:radial-gradient(ellipse at 10% 20%,#fff4db 0,transparent 55%),linear-gradient(120deg,#fff0da,#ffd9bd 48%,#d8f5ff);overflow:hidden;padding:58px 0 42px}.hero:before{content:"";position:absolute;width:500px;height:500px;border:1px solid #ffffffa0;border-radius:50%;left:36%;top:-250px;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:65px;position:relative}.eyebrow{display:flex;align-items:center;gap:9px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:20px}.dot{width:8px;height:8px;background:var(--orange);border-radius:50%}.hero h1 em{font-style:normal;color:#a43b0b}.lead{font-size:18px;line-height:1.7;max-width:660px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.chips span,.chips a{font-size:12px;font-weight:650;border:1px solid #18334c30;border-radius:50px;padding:7px 12px;text-decoration:none;background:#ffffff55}.hero-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero-art{margin-top:30px;display:flex;gap:16px;align-items:center;border-top:1px solid #18334c25;padding-top:18px;font-size:13px}.hero-art svg{width:72px;height:72px;flex-shrink:0}.form-card{background:white;border:1px solid #ffffff;box-shadow:0 18px 50px #18334c16;padding:28px;border-radius:20px;align-self:start}.form-card h2{font-size:25px;letter-spacing:-.025em;margin-bottom:10px}.form-card p{font-size:14px;color:var(--muted)}form label{display:block;font-size:13px;font-weight:700;margin-bottom:14px}input,select,textarea{display:block;width:100%;min-height:48px;border:1px solid #bccbd7;border-radius:9px;padding:10px 12px;color:var(--ink);background:#fbfdff;margin-top:5px}textarea{resize:vertical;min-height:75px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.consent{display:flex;gap:9px;align-items:flex-start;font-size:11px;font-weight:400}.consent input{width:17px;min-height:17px;flex-shrink:0;margin-top:3px;accent-color:var(--ink)}.hp{position:absolute;left:-10000px;opacity:0}.form-result{font-size:13px;min-height:24px;margin:8px 0 0}.form-result.error{color:#ad2028}.form-result.success{color:#146043}.section{padding:80px 0}.section.tint{background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:30px}.section-head h2{max-width:650px;margin:0}.section-head p{max-width:360px;color:var(--muted);font-size:14px;margin:0}.grid{display:grid;gap:20px}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:0 4px 16px #18334c04}.service-card{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;text-decoration:none;position:relative;overflow:hidden}.service-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,var(--orange),var(--sun),var(--blue))}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #18334c12;color:var(--ink)}.icon{display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:#fff1de;color:var(--ink);margin-bottom:20px}.icon.blue{background:#dff5ff}.icon svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.7;fill:none}.service-card h3{min-height:3.1em;display:flex;align-items:center;justify-content:center}.service-card p{font-size:13px;color:var(--muted);margin-bottom:18px;flex:1}.card-link{font-size:12px;font-weight:800;color:#a03900}.number{font-size:36px;letter-spacing:-.05em;font-weight:800;color:#ab4100;display:block;margin-bottom:16px}.urgent{background:var(--ink);color:white;position:relative;border-radius:22px;padding:38px;display:grid;grid-template-columns:1.6fr 1fr;gap:35px;align-items:center}.urgent h2{font-size:30px}.urgent p{font-size:15px;color:#d7e7f2}.urgent .eyebrow{color:#ffc56b}.urgent .button{justify-self:end}.list{padding-left:20px;margin:0}.list li{padding:7px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.panel-blue{background:#def4fd;border-radius:22px;padding:38px}.panel-orange{background:#fff0dd;border-radius:22px;padding:38px}.pill-label{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.1em;background:var(--ink);color:white;border-radius:30px;padding:5px 10px;margin-bottom:18px}.service-links{display:flex;flex-wrap:wrap;gap:9px}.service-links a{border:1px solid #18334c35;border-radius:30px;padding:10px 15px;text-decoration:none;font-size:13px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:18px 22px;border-bottom:1px solid var(--line)}thead{background:var(--ink);color:white}tbody tr:nth-child(even){background:#f5f9fb}tbody tr:last-child td{border:0}.area{display:flex;align-items:center;gap:16px}.area .icon{flex-shrink:0;margin:0}.area h3{font-size:18px;margin:0}.area p{font-size:12px;margin:5px 0 0}.gallery figure{margin:0}.gallery figcaption{font-size:12px;color:var(--muted);margin:12px 0}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{cursor:pointer;font-weight:700;min-height:44px;padding:8px 35px 8px 0;position:relative;list-style:none}.faq summary:after{content:"+";position:absolute;right:4px;font-size:24px;color:#a23d00;top:0}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);font-size:15px;max-width:850px}.contact{background:linear-gradient(130deg,#ffae35,#ffd9c0 60%,#cbefff)}.contact .form-card{box-shadow:none}.contact-number{display:block;font-size:clamp(24px,3vw,40px);font-weight:900;text-decoration:none;margin:25px 0}.footer{background:var(--ink);color:white;padding:55px 0 30px}.footer a{color:#e6f3fa}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.footer h3{font-size:13px;color:#ffd39a}.footer p,.footer a{font-size:13px}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-bottom{border-top:1px solid #ffffff30;margin-top:35px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px}.mobile-bar{display:none}.breadcrumbs{font-size:12px;color:var(--muted);padding:22px 0}.breadcrumbs a{padding:10px 0;display:inline-block}.detail-hero{padding-top:20px}.detail-hero h1{font-size:clamp(2rem,4.1vw,3.6rem)}.notice{padding:22px;border-left:4px solid var(--orange);background:#fff4e7;border-radius:0 12px 12px 0;font-size:14px}.privacy{font-size:13px}.privacy p{max-width:850px}.chat-widget{z-index:40!important}.chat-widget__launcher{bottom:24px!important;right:22px!important}.chat-widget__panel{bottom:94px!important;max-height:calc(100dvh - 110px)!important}.chat-widget__launcher:focus-visible{outline:3px solid #006b92}.chat-widget__panel a{color:var(--ink)}[hidden]{display:none!important}
@media(max-width:1100px){.header-inner{gap:16px}.nav{gap:14px}.header .phone{display:none}.hero-grid{gap:35px;grid-template-columns:1.1fr 1fr}.grid.four{grid-template-columns:repeat(2,1fr)}.split{gap:30px}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.wrap{width:calc(100% - 32px)}.topline .wrap span:last-child{display:none}.header-inner{min-height:74px;flex-wrap:wrap;gap:12px}.brand{font-size:19px}.brand-mark{width:35px;height:40px}.langs{margin-left:auto}.menu-toggle{display:block}.nav{display:none;order:5;width:100%;margin:0;padding:15px 0;flex-direction:column;align-items:stretch;gap:4px}.nav.open{display:flex}.nav details>div{position:static;width:100%;box-shadow:none;grid-template-columns:1fr;max-height:55vh;padding:15px}.header .header-cta{display:none}.hero{padding:38px 0}.hero-grid,.split{grid-template-columns:1fr;gap:28px}.hero h1{max-width:620px}.lead{font-size:16px}.hero-art{margin-top:25px}.form-card{padding:23px}.section{padding:52px 0}.section-head{display:block}.section-head p{margin-top:15px;max-width:none}.grid.three{grid-template-columns:repeat(2,1fr)}.urgent{grid-template-columns:1fr;padding:27px}.urgent .button{justify-self:start}.urgent h2{font-size:26px}.panel-blue,.panel-orange{padding:27px}.footer{padding-bottom:110px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:35;display:flex;gap:8px;background:#fffffffa;border-top:1px solid var(--line);padding:9px 12px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -3px 20px #18334c10}.mobile-bar a{flex:1;min-height:46px;font-size:12px;padding:10px}.chat-widget__launcher{bottom:88px!important;right:14px!important}.chat-widget__panel{bottom:155px!important;max-height:calc(100dvh - 175px)!important;width:calc(100vw - 24px)!important;right:12px!important}.footer-bottom{display:block}.hero-cta .button{font-size:14px}}@media(max-width:440px){.grid.three,.grid.four,.grid.two{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}.form-card{padding:20px}.hero-art{font-size:12px}.hero h1{font-size:36px}.section h2{font-size:28px}.footer-grid{gap:22px}.brand small{font-size:9px}.langs a,.langs span{min-width:30px;padding:8px 5px}.header-inner{gap:8px}.service-card h3{min-height:0}.card{padding:24px}.hero-cta{align-items:stretch}.hero-cta .button{flex:1}th,td{padding:13px 10px;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Keep the retained chat above the mobile contact strip. */
.client-chat{bottom:24px!important;z-index:60!important}.client-chat__panel{height:min(620px,calc(100dvh - 140px))!important}.client-chat__launcher{background:#18334c!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.client-chat input,.client-chat textarea{margin:0}.client-chat button:focus-visible{outline:3px solid #007197;outline-offset:3px}@media(max-width:767px){.client-chat{bottom:88px!important;right:12px!important}.client-chat.is-open{bottom:80px!important}.client-chat__panel{height:calc(100dvh - 105px)!important;max-height:calc(100dvh - 105px)!important}.client-chat__contact-card{max-height:calc(100dvh - 150px);overflow:auto}}
.client-chat__launcher:not([hidden]){display:flex!important}@media(max-width:767px){body.client-chat-open .mobile-bar{display:none}.client-chat.is-open{inset:var(--chat-viewport-top,0) 0 auto!important;width:100vw;height:var(--chat-viewport-height,100dvh)}.client-chat.is-open .client-chat__panel{height:100%!important;max-height:100%!important;width:100%!important}}
.header-cta{font-size:12px;min-height:44px;padding:11px 14px}.langs a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}@media(max-width:440px){.brand-domain{display:none}.langs a{min-width:44px;min-height:44px}.langs{align-items:center}}
/* Keep offscreen sections in the accessibility tree while deferring layout/paint. */
/* Keep actual section geometry stable during native scrolling. */
@media print{.section{content-visibility:visible;contain-intrinsic-size:none}}

.service-links a{min-height:44px;display:inline-flex;align-items:center}
/* Location pages extend the shared palette and retain accessible contrast. */
.location-card{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%}.location-card p{flex:1}.location-grid{margin:24px 0 36px}.location-form-label{font-weight:750;color:#18334c;background:#e7f8ff;padding:12px;border-radius:12px}.location-page .hero-cta .button.dark,.location-page .header-cta,.location-page .mobile-bar .button:first-child,.call-red{background:#F13C42;color:#071a29;border-color:#F13C42}.location-page .hero-cta .button.dark:hover,.call-red:hover{background:#ff6469;color:#071a29}.legacy-facts figure{margin:0}.legacy-facts img{width:100%;height:auto;border-radius:18px}.legacy-reviews{margin:24px 0}.legacy-facts p{overflow-wrap:anywhere}.legacy-facts .card{min-width:0}

/* Original Odessa logo — no decorative background */
.header .brand-mark {
    width: 30px;
    height: 30px;
    min-width: 30px;
    flex: 0 0 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    transform: none;
    box-shadow: none;
}

.header .brand-mark img {
    display: block;
    width: 30px;
    height: 30px;
    max-width: none;
    object-fit: contain;
    border-radius: 0;
    transform: none;
}
/* ODESSA MOBILE THREE ACTIONS V1 */
@media(max-width:780px){
  .mobile-bar.mobile-actions{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    padding:6px 9px calc(6px + env(safe-area-inset-bottom));
    background:#fff;
    border-top:1px solid #cbdce6;
    z-index:100;
    box-shadow:0 -3px 14px #18334c12;
  }
  .mobile-actions .mobile-action{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    min-width:0;
    min-height:54px;
    padding:5px 3px;
    margin:0;
    border:1px solid #ffffff99;
    border-radius:12px;
    font:700 12px/1.15 system-ui,sans-serif;
    text-decoration:none;
    text-align:center;
    color:#10283a;
    box-shadow:inset 0 0 0 1px #172c3a18;
    cursor:pointer;
  }
  .mobile-actions .mobile-action svg{
    width:22px;
    height:22px;
    flex:none;
  }
  .mobile-action-call{background:#32bdf2}
  .mobile-action-request{background:#ff9d26}
  .mobile-action-chat{background:#a5ee43}
  .client-chat .client-chat__launcher{
    display:none!important;
  }
  body.client-chat-open .mobile-bar.mobile-actions{
    display:none;
  }
  #request .form-card{
    scroll-margin-top:94px;
  }
}
/* ODESSA MOBILE MENU V3 */
@media(max-width:780px){
  .header{
    background:#fff;
    box-shadow:0 3px 15px #18334c10;
  }
  .header-inner{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:7px;
    min-height:68px;
  }
  .brand{
    flex:1 1 auto;
    min-width:0;
    gap:7px;
    font-size:clamp(15px,4.3vw,19px);
  }
  .brand>span:last-child{min-width:0}
  .brand small{
    font-size:9px;
    letter-spacing:.025em;
    white-space:nowrap;
  }
  .langs{
    flex:none;
    margin-left:auto;
    display:flex;
    gap:2px;
    padding:3px;
    background:#edf6fc;
    border:1px solid #d9e8f3;
    border-radius:11px;
  }
  .langs a,.langs span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    min-width:32px;
    padding:4px;
    font-size:11px;
    border-radius:8px;
  }
  .langs span{
    background:#18334c;
    color:#fff;
  }
  .menu-toggle{
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:1px;
    width:49px;
    min-height:48px;
    padding:4px;
    background:linear-gradient(145deg,#1dbaf0,#087daf);
    border:1px solid #0877a6;
    border-radius:12px;
    box-shadow:0 3px 10px #0877a630;
    color:#fff;
    font-weight:800;
  }
  .menu-toggle svg{
    width:23px;
    height:23px;
  }
  .menu-button-label{
    font-size:10px;
    line-height:1.1;
  }
  .menu-svg-close{display:none}
  .menu-toggle[aria-expanded="true"]{
    background:#18334c;
    border-color:#18334c;
  }
  .menu-toggle[aria-expanded="true"] .menu-svg-open{display:none}
  .menu-toggle[aria-expanded="true"] .menu-svg-close{display:block}

  body.mobile-menu-v3-open{overflow:hidden}
  body.mobile-menu-v3-open .header{z-index:1003}

  .mobile-menu-v3-overlay{
    position:fixed;
    inset:0;
    z-index:1000;
    background:rgba(10,30,48,.48);
  }
  .mobile-menu-v3-overlay[hidden]{display:none!important}

  body>#navigation.nav{
    position:fixed;
    top:var(--mobile-menu-v3-top,85px);
    left:10px;
    right:10px;
    bottom:calc(12px + env(safe-area-inset-bottom));
    z-index:1002;
    width:auto;
    height:auto;
    max-height:none;
    margin:0;
    padding:12px;
    overflow-y:auto;
    overscroll-behavior:contain;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    background:#fff;
    border:1px solid #dae6ee;
    border-radius:17px;
    box-shadow:0 18px 48px #10283a35;
  }
  body>#navigation.nav.open{display:flex}
  body>#navigation.nav>a,
  body>#navigation.nav>details>summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:50px;
    padding:12px 15px;
    font-size:15px;
    font-weight:800;
    color:#18334c;
    background:#eef7fc;
    border:1px solid #dbeaf3;
    border-radius:12px;
    text-decoration:none;
  }
  body>#navigation.nav>details>summary{
    list-style:none;
    cursor:pointer;
  }
  body>#navigation.nav>details>summary::-webkit-details-marker{
    display:none;
  }
  body>#navigation.nav>details>summary::after{
    content:"+";
    font-size:23px;
    line-height:1;
    color:#087eac;
  }
  body>#navigation.nav>details[open]>summary::after{
    content:"−";
  }
  body>#navigation.nav details>div{
    position:static;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    max-height:none;
    overflow:visible;
    border:0;
    box-shadow:none;
    padding:12px 2px 4px;
    background:transparent;
  }
  body>#navigation.nav details>div>div{
    padding:13px;
    border:1px solid #e0eaf1;
    border-radius:13px;
    background:#fbfdff;
  }
  body>#navigation.nav details h3{
    margin:0 0 8px;
    color:#087ea9;
    font-size:14px;
  }
  body>#navigation.nav details a{
    display:block;
    min-height:44px;
    padding:11px 7px;
    border-bottom:1px solid #e9f0f4;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
  }
  body>#navigation.nav details a:last-child{border-bottom:0}
  .menu-toggle:focus-visible,
  body>#navigation.nav a:focus-visible,
  body>#navigation.nav summary:focus-visible{
    outline:3px solid #ff9d26;
    outline-offset:2px;
  }
}
@media(max-width:360px){
  .brand{font-size:15px}
  .brand small{font-size:9px}
  .langs a,.langs span{min-width:29px}
  .menu-toggle{width:46px}
}

/* ODESSA MOBILE HEADER SPACING V1 */
@media(max-width:780px){
  .header-inner > .menu-toggle{
    margin-left:7px;
  }
}

/* ODESSA COMPACT BREADCRUMBS V1 */
.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 38px;
    padding: 6px 0;
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    color: #52697b;
}

.breadcrumbs a {
    display: inline;
    padding: 0;
    color: #087eac;
    font-weight: 700;
    text-decoration: none;
}

.breadcrumbs a:hover {
    color: #07587c;
    text-decoration: underline;
}

@media (max-width: 780px) {
    .breadcrumbs {
        min-height: 36px;
        padding: 5px 0;
        font-size: 11px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .breadcrumbs a {
        flex-shrink: 0;
    }
}

/* ODESSA BREADCRUMBS FINAL V2 */
.wrap.breadcrumbs {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    width: min(1240px, calc(100% - 48px));
    height: 38px;
    min-height: 38px;
    padding: 0;
    margin: 0 auto;
    color: #52697b;
    font-size: 12px;
    line-height: 1.3;
    white-space: nowrap;
    overflow: visible;
    isolation: isolate;
}
.wrap.breadcrumbs::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: #f0f7fc;
    border-bottom: 1px solid #d7e5ee;
    z-index: -1;
    pointer-events: none;
}
.wrap.breadcrumbs a {
    display: inline;
    flex-shrink: 0;
    padding: 0;
    color: #087eac;
    font-weight: 750;
    text-decoration: none;
}
.wrap.breadcrumbs span {
    display: inline-block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media(max-width:780px) {
    .wrap.breadcrumbs {
        width: calc(100% - 32px);
        height: 36px;
        min-height: 36px;
        font-size: 11px;
        gap: 5px;
    }
}

/* OD DISTRICT PHOTO V1 */
.district-photo-section{padding:24px 0 34px;background:#fff}.district-photo{margin:0;max-width:100%;overflow:hidden;border:1px solid #d7e5ee;border-radius:16px;background:#f0f7fc;box-shadow:0 6px 22px #18334c12}.district-photo img{display:block;width:100%;height:clamp(220px,32vw,390px);object-fit:cover;border-radius:0}.district-photo figcaption{padding:9px 14px;color:#486479;font-size:12px;font-weight:650}@media(max-width:780px){.district-photo-section{padding:14px 0 22px}.district-photo{border-radius:12px}.district-photo img{height:230px}}

/* OD WORK PHOTOS V1 */
.work-photo-gallery{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:18px;
}
.work-photo-card{
 margin:0;
 overflow:hidden;
 border:1px solid #dbe6ed;
 border-radius:16px;
 background:#fff;
 box-shadow:0 8px 24px rgba(18,45,68,.09);
}
.work-photo-card img{
 display:block;
 width:100%;
 height:auto;
 aspect-ratio:4/3;
 object-fit:cover;
}
.work-photo-card figcaption{
 padding:12px 14px;
 color:#28475d;
 font-size:14px;
 font-weight:600;
 line-height:1.45;
}
@media(max-width:700px){
 .work-photo-gallery{grid-template-columns:1fr;gap:14px}
 .work-photo-card{border-radius:14px}
}

/* OD HOME GALLERY V2 */
.work-photo-gallery-home{
 display:grid;
 grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
 grid-template-rows:repeat(2,minmax(0,1fr));
 gap:18px;
 max-width:1160px;
 margin:24px auto 0;
 align-items:stretch;
}
.work-photo-gallery-home>.work-photo-card{
 min-width:0;
 min-height:0;
 position:relative;
 border:1px solid #dce8f0;
 border-radius:20px;
 overflow:hidden;
 background:#14283b;
 box-shadow:0 8px 26px rgba(18,42,64,.10);
}
.work-photo-gallery-home>.work-photo-card:first-child{
 grid-column:1;
 grid-row:1/3;
}
.work-photo-gallery-home>.work-photo-card:nth-child(2){
 grid-column:2;
 grid-row:1;
}
.work-photo-gallery-home>.work-photo-card:nth-child(3){
 grid-column:2;
 grid-row:2;
}
.work-photo-gallery-home>.work-photo-card img{
 display:block;
 width:100%;
 height:100%;
 min-height:0;
 aspect-ratio:auto;
 object-fit:cover;
 transition:transform .3s ease;
}
.work-photo-gallery-home>.work-photo-card:first-child img{
 height:450px;
}
.work-photo-gallery-home>.work-photo-card:not(:first-child) img{
 height:215px;
}
.work-photo-gallery-home>.work-photo-card figcaption{
 position:absolute;
 inset:auto 0 0;
 margin:0;
 padding:32px 18px 15px;
 color:#fff;
 font-size:14px;
 font-weight:700;
 line-height:1.35;
 background:linear-gradient(transparent,rgba(7,19,32,.85));
 text-shadow:0 1px 3px rgba(0,0,0,.45);
}
.work-photo-gallery-home>.work-photo-card:first-child figcaption{
 padding:65px 24px 22px;
 font-size:19px;
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .work-photo-gallery-home>.work-photo-card:hover img{
  transform:scale(1.025);
 }
}
@media(max-width:780px){
 .work-photo-gallery-home{
  display:flex;
  gap:12px;
  width:auto;
  max-width:none;
  margin:18px -16px 0;
  padding:2px 16px 15px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:16px;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
 }
 .work-photo-gallery-home>.work-photo-card,
 .work-photo-gallery-home>.work-photo-card:first-child{
  display:block;
  flex:0 0 min(79vw,345px);
  width:min(79vw,345px);
  height:auto;
  border-radius:16px;
  scroll-snap-align:start;
  box-shadow:0 5px 18px rgba(18,42,64,.12);
 }
 .work-photo-gallery-home>.work-photo-card img,
 .work-photo-gallery-home>.work-photo-card:first-child img,
 .work-photo-gallery-home>.work-photo-card:not(:first-child) img{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
 }
 .work-photo-gallery-home>.work-photo-card figcaption,
 .work-photo-gallery-home>.work-photo-card:first-child figcaption{
  padding:35px 14px 13px;
  font-size:14px;
 }
}
@media(prefers-reduced-motion:reduce){
 .work-photo-gallery-home>.work-photo-card img{
  transition:none;
 }
}


/* OD HOME GALLERY V3 */
@media(min-width:781px){
 .work-photo-gallery-home{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:none;
  grid-auto-rows:180px;
  gap:15px;
 }
 .work-photo-gallery-home>.work-photo-card,
 .work-photo-gallery-home>.work-photo-card:nth-child(2),
 .work-photo-gallery-home>.work-photo-card:nth-child(3){
  grid-column:auto;
  grid-row:auto;
 }
 .work-photo-gallery-home>.work-photo-card:first-child{
  grid-column:span 2;
  grid-row:span 2;
 }
 .work-photo-gallery-home>.work-photo-card img,
 .work-photo-gallery-home>.work-photo-card:first-child img,
 .work-photo-gallery-home>.work-photo-card:not(:first-child) img{
  width:100%;
  height:100%;
  object-fit:cover;
 }
 .work-photo-gallery-home>.work-photo-card figcaption{
  font-size:13px;
  padding:28px 12px 12px;
 }
}
@media(max-width:780px){
 .work-photo-gallery-home{
  display:flex;
  grid-template-columns:none;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
 }
 .work-photo-gallery-home>.work-photo-card,
 .work-photo-gallery-home>.work-photo-card:first-child{
  flex:0 0 min(82vw,360px);
  width:min(82vw,360px);
  grid-column:auto;
  grid-row:auto;
  scroll-snap-align:start;
 }
 .work-photo-gallery-home>.work-photo-card figcaption,
 .work-photo-gallery-home>.work-photo-card:first-child figcaption{
  font-size:13px;
  padding:35px 13px 12px;
 }
}


/* OD HOME HERO ICONS V2 */
.od-today-chip{
 display:inline-flex!important;
 align-items:center;
 justify-content:center;
 flex-wrap:wrap;
 gap:7px;
 padding:6px 10px!important;
 border:1px solid #ff751f!important;
 border-radius:12px!important;
 line-height:1.4;
}
.od-today-date{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border:1px solid #ff751f;
 border-radius:8px;
 padding:3px 8px;
 font-weight:750;
 white-space:nowrap;
}
.service-card .icon,
.location-card .icon{
 display:flex;
 align-items:center;
 justify-content:center;
 flex:0 0 60px;
 width:60px;
 height:60px;
 min-width:60px;
 margin-left:auto;
 margin-right:auto;
}
.service-card .icon svg,
.location-card .icon svg{
 display:block;
 flex:none;
 width:30px;
 height:30px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}
@media(max-width:480px){
 .od-today-chip{max-width:100%;font-size:13px}
 .od-today-date{font-size:13px}
}

/* OD SITE POLISH V1 */
.od-hero-logo{
 display:block;
 width:60px;
 height:60px;
 max-width:100%;
 object-fit:contain;
 flex:none;
}
.service-card .icon svg{
 width:32px;
 height:32px;
 display:block;
 flex:none;
 overflow:visible;
}
@media(max-width:780px){
 .od-hero-logo{
  width:52px;
  height:52px;
 }
 .service-card .icon svg{
  width:30px;
  height:30px;
 }
}

/* OD PERF TUNE V1 */

/* Удобные цели для нажатия */
.nav a,
.nav summary{
 min-height:44px;
 display:inline-flex;
 align-items:center;
}

.langs a,
.langs span{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:44px;
 min-height:44px;
}

.service-links a{
 min-height:44px;
 display:inline-flex;
 align-items:center;
}

@media(max-width:780px){
 .nav details>div a{
  min-height:44px;
  display:flex;
  align-items:center;
 }

 .langs{
  gap:2px;
 }

 .langs a,
 .langs span{
  min-width:40px;
  min-height:44px;
  padding:8px 6px;
 }
}


/* OD MOBILE TAP TARGETS V2 */
@media (max-width:780px) {
  .langs {
    display:flex;
    align-items:center;
    gap:6px;
  }

  .langs a,
  .langs span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    box-sizing:border-box;
  }

  .nav.open a,
  .nav.open summary {
    display:flex;
    align-items:center;
    min-height:48px;
    padding:10px 12px;
  }

  .service-links {
    column-gap:12px;
    row-gap:12px;
  }

  .service-links a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:11px 17px;
    box-sizing:border-box;
  }

  .lead-form button[type="submit"] {
    min-height:52px;
  }

  .hero-cta .button {
    min-height:48px;
  }
}

@media (max-width:440px) {
  .langs a,
  .langs span {
    min-width:44px;
    min-height:44px;
    padding:8px;
  }
}

/* OD MOBILE TAP TARGETS V3 */
@media (max-width:780px) {
  /* Логотип и ссылки связи */
  .header .brand {
    display:inline-flex;
    align-items:center;
    min-height:48px;
  }

  a.contact-number,
  .contact a[href^="tel:"],
  .footer a[href^="tel:"] {
    display:inline-flex;
    align-items:center;
    min-height:48px;
    max-width:100%;
  }

  /* Ссылки в подвале: основная причина ошибки Lighthouse */
  .footer-grid a {
    display:flex;
    align-items:center;
    min-height:48px;
    padding-block:10px;
    line-height:1.4;
    box-sizing:border-box;
  }

  .footer-grid {
    row-gap:24px;
  }

  /* Прочие ссылки услуг */
  .service-links a {
    min-height:48px;
    padding:11px 17px;
    display:inline-flex;
    align-items:center;
  }

  /* Мобильные кнопки */
  .mobile-bar a,
  .mobile-actions .mobile-action,
  .hero-cta a.button {
    min-height:48px;
  }

  /* Увеличенная область взаимодействия с согласием */
  .consent {
    min-height:44px;
    align-items:center;
    padding-block:8px;
    cursor:pointer;
  }

  .consent input[type="checkbox"] {
    width:24px;
    height:24px;
    min-height:24px;
    flex:0 0 24px;
    margin-top:0;
  }
}
