.ls-ideas-dropdown > summary { padding: 12px 14px; border: 1px solid #dce5df; border-radius: 8px; background: #eef3ef; color: #294d40; white-space: nowrap; }
.ls-ideas-dropdown > .ls-services-links { left: auto; right: 0; min-width: 310px; }
.ls-ideas-dropdown .ls-services-links small { display: block; margin-top: 3px; font-size: .78rem; color: #5c6963; font-weight: 400; }
.vw-specialist { --specialist-ink: #2d493c; --specialist-paper: #f5f7f1; --specialist-muted: #59655d; color: var(--specialist-ink); background: var(--specialist-paper); }
.vw-specialist--wedding { --specialist-ink: #55473c; --specialist-paper: #faf7f1; --specialist-muted: #72675e; }
.vw-specialist .ls-container { max-width: 1280px; }
.vw-specialist-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 70px; padding-block: clamp(54px, 7vw, 104px) 52px; }
.vw-specialist-eyebrow { margin: 0 0 23px; color: var(--specialist-muted); font-size: .74rem; font-weight: 650; text-transform: uppercase; letter-spacing: .13em; }
.vw-specialist h1 { margin: 0; font-size: clamp(2.4rem, 4.1vw, 4.3rem); font-weight: 550; line-height: 1.13; letter-spacing: -.045em; }
.vw-specialist h1 em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.05em; }
.vw-specialist-intro__copy { max-width: 420px; justify-self: end; }
.vw-specialist-intro__copy p { margin: 0 0 24px; color: var(--specialist-muted); font-size: 1.12rem; line-height: 1.75; }
.vw-specialist-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 52px; padding: 15px 23px; background: var(--specialist-ink); color: #fff; border-radius: 5px; font-size: .94rem; font-weight: 600; text-decoration: none; }
.vw-specialist-button:hover { filter: brightness(1.2); }
.vw-specialist-preview__image { display: block; position: relative; overflow: hidden; border-radius: 10px; color: #fff; text-decoration: none; isolation: isolate; }
.vw-specialist-preview__image::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #1725199c, transparent 65%), linear-gradient(0deg, #1725195e, transparent 50%); }
.vw-specialist--wedding .vw-specialist-preview__image::after { background: linear-gradient(90deg, #372c208c, transparent 65%), linear-gradient(0deg, #372c205e, transparent 50%); }
.vw-specialist-preview__image img { position: relative; z-index: -2; width: 100%; height: clamp(380px, 40vw, 610px); object-fit: cover; transition: transform .7s ease; }
.vw-specialist-preview__image:hover img { transform: scale(1.025); }
.vw-specialist-preview__label { position: absolute; left: 6%; top: 18%; max-width: 70%; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.15; }
.vw-specialist-preview__label small { display: block; margin-top: 17px; font-family: Arial, sans-serif; font-size: .78rem; line-height: 1.6; letter-spacing: .045em; }
.vw-specialist-preview__open { position: absolute; bottom: 9%; left: 6%; display: inline-flex; gap: 35px; align-items: center; padding: 16px 22px; border: 1px solid #ffffff94; border-radius: 4px; background: #ffffffed; color: #29362c; font-size: .9rem; font-weight: 600; }
.vw-specialist-caption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 25px; margin: 16px 0 0; color: var(--specialist-muted); font-size: .76rem; line-height: 1.6; }
.vw-specialist-content { display: grid; grid-template-columns: 1fr 1.2fr; gap: 100px; padding-block: clamp(65px, 8vw, 115px); }
.vw-specialist h2 { margin: 0 0 22px; font-size: clamp(1.9rem, 2.6vw, 2.7rem); line-height: 1.2; letter-spacing: -.035em; font-weight: 550; }
.vw-specialist-heading > p:last-child { max-width: 33ch; color: var(--specialist-muted); line-height: 1.8; }
.vw-specialist-features article { display: grid; grid-template-columns: 30px 1fr; gap: 20px; padding: 24px 0; border-top: 1px solid #cdd4cb; }
.vw-specialist-features article > span { padding-top: 3px; color: var(--specialist-muted); font-size: .75rem; }
.vw-specialist h3 { margin: 0 0 10px; font-size: 1.1rem; font-weight: 650; letter-spacing: -.015em; }
.vw-specialist-features article p { margin: 0; color: var(--specialist-muted); font-size: .95rem; line-height: 1.75; }
.vw-specialist-invitation { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; padding-bottom: 90px; }
.vw-specialist-invitation > img { width: 100%; height: 405px; object-fit: cover; border-radius: 8px; }
.vw-specialist-invitation > div { max-width: 460px; }
.vw-specialist-invitation p:not(.vw-specialist-eyebrow) { color: var(--specialist-muted); line-height: 1.8; font-size: .97rem; }
.vw-specialist-text-link { display: inline-flex; gap: 25px; align-items: center; padding-block: 10px; color: var(--specialist-ink); text-underline-offset: 5px; font-weight: 650; }
.vw-specialist-bottom { display: flex; flex-wrap: wrap; gap: 15px 35px; justify-content: space-between; align-items: baseline; border-top: 1px solid #cdd4cb; padding-block: 28px; font-size: .78rem; color: var(--specialist-muted); }
.vw-specialist-bottom p { margin: 0; }
.vw-specialist-bottom a { color: inherit; text-underline-offset: 4px; }
.vw-specialist :is(a, button):focus-visible { outline: 3px solid #a47641; outline-offset: 5px; }
html[data-contrast='high'] .vw-specialist { --specialist-ink: #000; --specialist-paper: #fff; --specialist-muted: #000; }
html[data-contrast='high'] .ls-ideas-dropdown > summary { background: #fff; border-color: #000; }
html[data-contrast='high'] .ls-ideas-dropdown .ls-services-links small { color: #000; }
@media (prefers-reduced-motion: reduce) { .vw-specialist-preview__image img { transition: none; } }
html[data-motion='reduced'] .vw-specialist-preview__image img { transition: none; }
@media (max-width: 980px) {
    .ls-ideas-dropdown > summary { padding: 15px 13px; }
    .ls-ideas-dropdown > .ls-services-links { min-width: 0; margin-top: 9px; }
    .vw-specialist-intro { gap: 35px; }
    .vw-specialist-content { gap: 45px; }
    .vw-specialist-invitation { gap: 35px; }
}
@media (max-width: 700px) {
    .vw-specialist-intro { grid-template-columns: 1fr; gap: 24px; padding-block: 42px 30px; }
    .vw-specialist-intro__copy { max-width: 100%; justify-self: stretch; }
    .vw-specialist-intro__copy p { font-size: 1rem; }
    .vw-specialist-preview__image img { height: 420px; object-position: 65% center; }
    .vw-specialist-preview__image::after, .vw-specialist--wedding .vw-specialist-preview__image::after { background: linear-gradient(180deg, #17251999, transparent 65%, #17251966); }
    .vw-specialist-preview__label { top: 7%; font-size: 2.1rem; max-width: 90%; }
    .vw-specialist-preview__label small { margin-top: 10px; font-size: .68rem; }
    .vw-specialist-preview__open { bottom: 6%; }
    .vw-specialist-content { grid-template-columns: 1fr; gap: 24px; padding-block: 55px; }
    .vw-specialist-heading > p:last-child { max-width: none; }
    .vw-specialist-invitation { grid-template-columns: 1fr; gap: 32px; padding-bottom: 50px; }
    .vw-specialist-invitation > img { height: 280px; }
    .vw-specialist-invitation > div { max-width: none; }
    .vw-specialist-caption { font-size: .68rem; }
}

@media (max-width: 700px) {
    .vw-specialist--wedding .vw-specialist-preview__image img { height: 460px; object-position: 100% center; }
    .vw-specialist--wedding .vw-specialist-preview__label { font-size: 1.85rem; }
    .vw-specialist--clubs .vw-specialist-preview__image img { object-position: 90% center; }
}
