/* Ancient Rome: imperial purple, carved travertine, gold frets and architectural cameos. */
body { background: #e9dcc0; }
.lviv-site {
 --ink:#3f2f21; --blue:#681d37; --cream:#f0e5ce; --gold:#a57c36; --muted:#705d45;
 background-color:#f0e5ce;
 background-image:repeating-linear-gradient(174deg,transparent 0 83px,#b39b6c08 84px,transparent 86px);
}
.lviv-site .topline { background:#28131b; color:#e7d2aa; border-color:#af8846; }
.lviv-site .header {
 background:radial-gradient(ellipse at 35% 0,#89394b40,transparent 65%),linear-gradient(110deg,#481527,#692238 60%,#431121);
 border-top:2px solid #b98d40; border-bottom:4px double #d3ae66;
 padding-bottom:18px; position:relative;
}
.lviv-site .header::after {
 content:''; position:absolute; left:0; right:0; bottom:2px; height:17px;
 background:url('/assets/roman-greek-key.svg') center / 36px 20px repeat-x;
 filter:brightness(1.65); opacity:.9; pointer-events:none;
}
.lviv-site .header .wordmark>div { color:#f0d08a; font-family:Palatino,Georgia,serif; letter-spacing:.12em; }
.lviv-site .header .wordmark span { color:#e8d5b3; }
.lviv-site .header .navlinks { border-color:#d2ad6660; }
.lviv-site .header .navlinks>a,
.lviv-site .header .service-menu>summary { color:#f7e6c6; }
.lviv-site .header .navlinks>a:hover,
.lviv-site .header .navlinks>a.active,
.lviv-site .header .navlinks>a[aria-current=page],
.lviv-site .header .service-menu>summary:hover,
.lviv-site .header .service-menu[open]>summary { color:#f6ce76; }
.lviv-site .header .navlinks>a.nav-phone { background:#d9b668; color:#3d1623; border:3px double #f4d491; padding:10px 16px; }
.lviv-site .header .navlinks>a.nav-phone:hover { background:#f1d49a; color:#3d1623; border-color:#f8dfae; }
.lviv-site .header .language-switch { background:#391320; border-color:#cba564; }
.lviv-site .header .language-switch a { color:#f7e6c6; }
.lviv-site .header .language-switch a[aria-current=page],
.lviv-site .header .language-switch a:hover { color:#f5cd79; }
.lviv-site .header .language-switch span { color:#bba276; }
.lviv-site .header .service-dropdown { background:#511a2d; border:3px double #d2ad66; }
.lviv-site .header .service-dropdown a { color:#f8e7c5; }
.lviv-site .header .service-dropdown a:hover { background:#8b3a4e; color:#ffe7ae; }
.lviv-site .header a:focus-visible,
.lviv-site .header summary:focus-visible { outline-color:#f3ca78; }
.lviv-site .hero.photohero {
 background-image:linear-gradient(90deg,#2d1420eb,#3d2028a6 53%,#45152322),var(--hero-image);
 border-bottom:6px double #bd9c61;
}
.lviv-site .photohero .home-title { color:#fff6e2; text-shadow:0 2px 9px #200f16a1; }
.lviv-site .photohero h1 em { color:#f0d190; }
.lviv-site .photohero .eyebrow { color:#f0cd88; }
.lviv-site .photohero p { color:#f3e6ce; }
.lviv-site .photohero .button { background:#e0bb70; border:3px double #f7dca5; color:#441c28; }
.lviv-site .photohero .button:hover { background:#f2d597; }
.lviv-site .photohero .button.outline { background:#5c213c99; color:#fce9c4; border-color:#dcb977; }
.lviv-site .hero-person strong { color:#fff0cf; }
.lviv-site .hero-person span { color:#ebc990; }
.lviv-site .home-introduction { background:linear-gradient(100deg,#f9efd9,#eaddbe); border-bottom:1px solid #c7a86e; }
.lviv-site h2 { color:#602538; }
.lviv-site .eyebrow { color:#8b6131; }
.lviv-site .intro-grid p { color:#715b40; }
.lviv-site .inline-link { color:#752b42; border-color:#ae873e; }
.lviv-site .inline-link:hover { color:#4e1429; }
.lviv-site .topic-section {
 background-color:#eadbbb;
 background-image:radial-gradient(ellipse at 10% 10%,#fffae745,transparent 50%),repeating-linear-gradient(4deg,transparent 0 89px,#a88b5709 90px,transparent 92px);
 border-block:6px double #a78447; padding-top:62px;
}
.lviv-site .topic-section h2 { color:#64263b; }
.lviv-site .topic-divider { margin-top:43px; margin-bottom:12px; }
.lviv-site .topic-divider:first-child { margin-top:0; }
.lviv-site .topic-divider .greek-key { opacity:1; filter:contrast(1.15); }
.lviv-site .topic-divider h3 {
 color:#6a2c40; font-size:29px; font-variant:small-caps; letter-spacing:.025em;
}
.lviv-site .topic-roman-number {
 background:linear-gradient(145deg,#73273e,#451627); color:#f0cf88;
 border:3px double #c49a4c; width:40px; height:40px; flex-basis:40px;
}
.lviv-site .topic-grid { gap:20px; }
.lviv-site .topic-button {
 position:relative; display:flex; flex-direction:row; align-items:center; gap:18px;
 min-height:153px; padding:28px 19px; border:3px double #c7a260; border-radius:3px;
 background:radial-gradient(ellipse at 0 0,#a34b5650,transparent 70%),linear-gradient(135deg,#72283f,#4e1a30);
 color:#fff0ce; box-shadow:inset 0 0 0 2px #351322,0 4px 0 #8c6a35,0 8px 15px #3b1d1b20;
 font:600 16px/1.45 Palatino,Georgia,serif;
}
.lviv-site .topic-button::before,
.lviv-site .topic-button::after {
 content:''; position:absolute; left:9px; right:9px; height:12px;
 background:url('/assets/roman-greek-key.svg') left center / 25px 14px repeat-x;
 filter:brightness(1.6); opacity:.85; pointer-events:none;
}
.lviv-site .topic-button::before { top:5px; }
.lviv-site .topic-button::after { bottom:5px; }
.lviv-site .topic-button:hover {
 background:radial-gradient(ellipse at 10% 0,#b06a5d50,transparent 70%),linear-gradient(135deg,#89354f,#5e2038);
 color:#fff5dc; box-shadow:inset 0 0 0 2px #351322,0 6px 0 #8c6a35,0 10px 18px #3b1d1b29;
}
.lviv-site .topic-button:active { box-shadow:inset 0 0 0 2px #351322,0 1px 0 #8c6a35; }
.lviv-site .roman-topic-picture {
 position:relative; display:block; width:78px; height:90px; flex:0 0 78px;
}
.lviv-site .roman-topic-picture img {
 display:block; width:100%; height:100%; object-fit:cover;
 border:2px solid #e0bb71; border-radius:40px 40px 3px 3px;
 box-shadow:0 0 0 2px #34151e,0 0 0 3px #a17a3b;
}
.lviv-site .roman-topic-picture .topic-icon {
 position:absolute; bottom:-7px; right:-8px; width:27px; height:27px; padding:5px;
 background:#f3e1b8; color:#6c2a3d; border:1px solid #bf9650;
}
.lviv-site .topic-label { flex:1; color:inherit; }
.lviv-site .topic-arrow { color:#e5c37d; font-size:19px; }
.lviv-site .roman-imagery-note { font:11px/1.7 Arial,sans-serif; color:#7c684a; margin-top:29px; }
.lviv-site .button, .lviv-site .button.light, .lviv-site .portal-button {
 background:#68213b; color:#fce9c2; border:3px double #b99552;
}
.lviv-site .button:hover, .lviv-site .button.light:hover { background:#87334b; }
.lviv-site .button.outline { background:transparent; color:#722a40; border-color:#a98545; }
.lviv-site .dark {
 background:radial-gradient(ellipse at 20% 0,#7f364440,transparent 65%),linear-gradient(110deg,#4b192d,#321521);
 border-block:5px double #bb995c;
}
.lviv-site .dark h2 { color:#f4dfb8; }
.lviv-site .dark p, .lviv-site .dark .intro-grid p { color:#ebd8bb; }
.lviv-site .dark .eyebrow { color:#dcbd7e; }
.lviv-site .dark .inline-link { color:#edcc8c; }
.lviv-site .dark .button.outline { color:#f7e3bc; }
.lviv-site .service-hero:not(.sector-hero) {
 background:linear-gradient(120deg,#f2e7ce,#decba3); border-color:#b58e48;
}
.lviv-site .sector-hero {
 background-image:linear-gradient(90deg,#311423ee,#4a2032b8 63%,#5d263340),var(--sector-image);
 border-bottom:5px double #c1a161;
}
.lviv-site .sector-hero h1 { color:#fff3da; }
.lviv-site .sector-hero p { color:#f4e4c9; }
.lviv-site .sector-hero .button.outline { color:#ffecc3; }
.lviv-site .work-list h3 { color:#6a293d; }
.lviv-site .work-list li, .lviv-site .faq details { border-color:#bea16c; }
.lviv-site .outcome, .lviv-site .contact-note,
.lviv-site .portal-card, .lviv-site .request-panel, .lviv-site .bio-contacts {
 background:#e7d7b7; border-color:#a67d39;
}
.lviv-site .contact-item a, .lviv-site .bio-service-links a { color:#762c43; }
.lviv-site .bio-hero { background:linear-gradient(120deg,#581f36,#321521); border-color:#bd9955; }
.lviv-site .cta { background:linear-gradient(120deg,#e6d4ad,#f4e7cb); border-color:#ac8847; }
.lviv-site .cta h2 { color:#6a293d; }
.lviv-site .footer {
 background:radial-gradient(ellipse at 15% 0,#6a2d4140,transparent 70%),linear-gradient(110deg,#41192b,#25141d);
 color:#dfcba9; border-color:#b58e48;
}
.lviv-site .footer::before { filter:brightness(1.6); }
.lviv-site .footer h3 { color:#efd08b; }
.lviv-site .footer-bottom { color:#dcc49b; border-color:#9e7b45; }
.lviv-site .footer .contact-email span { color:#e0c89f; }
.lviv-site .lviv-privacy-links { border-color:#9b7844; }
.lviv-privacy-notice { background:#f4e8ce; border:3px double #b48a43; }
.lviv-privacy-ok { background:#68213b; color:#fae6bc; }
.lviv-privacy-actions a { color:#722a40; }
.lviv-legal { background:#f3e7ce; }
.lviv-legal h1, .lviv-legal h2 { color:#6b2c40; }
@media(max-width:960px) {
 .lviv-site .topic-button { gap:16px; padding-inline:17px; }
}
@media(max-width:640px) {
 .lviv-site .header { padding-bottom:17px; }
 .lviv-site .navlinks { border-color:#b9965660; }
 .lviv-site .hero.photohero { background-image:linear-gradient(90deg,#341724ed,#4b2134cc),var(--hero-image); }
 .lviv-site .topic-section { padding-top:43px; }
 .lviv-site .topic-grid { gap:15px 12px; }
 .lviv-site .topic-divider { margin-top:31px; margin-bottom:5px; }
 .lviv-site .topic-divider h3 { font-size:25px; }
 .lviv-site .topic-roman-number { width:33px; height:33px; flex-basis:33px; }
 .lviv-site .topic-button {
  flex-direction:column; gap:15px; justify-content:flex-start; min-height:190px;
  padding:26px 10px 27px; text-align:center; font-size:13px; line-height:1.5;
 }
 .lviv-site .roman-topic-picture { width:67px; height:76px; flex:0 0 76px; }
 .lviv-site .roman-topic-picture .topic-icon { width:24px; height:24px; padding:4px; }
 .lviv-site .topic-label { flex:0 0 auto; }
 .lviv-site .topic-arrow { display:none; }
}
.lviv-site .home-introduction {position:relative;padding-top:91px;}
.lviv-site .home-introduction::before {content:'';position:absolute;top:17px;left:6%;right:6%;height:34px;background:url('/assets/roman-acanthus-frieze.svg') center / 184px 34px repeat-x;pointer-events:none;}
@media(max-width:640px){.lviv-site .home-introduction{padding-top:77px;}.lviv-site .home-introduction::before{background-size:150px 28px;height:28px;top:15px;}}
