.portfolio-reader{display:grid;grid-template-columns:185px minmax(0,1fr);gap:24px;max-width:1800px;margin-inline:auto;padding-inline:22px}.portfolio-reader>main{min-width:0}.portfolio-contents{align-self:start;position:sticky;top:140px;padding:30px 0 22px;max-height:calc(100vh - 160px);overflow-y:auto}.portfolio-contents-title{margin:0 0 18px;font-size:10px;line-height:1.4;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.portfolio-contents a{position:relative;display:block;padding:8px 0 8px 17px;font-size:12px;line-height:1.5;text-decoration:none;color:var(--muted)}.portfolio-contents a:before{content:"";position:absolute;left:0;top:17px;width:7px;height:1px;background:currentColor}.portfolio-contents a:hover,.portfolio-contents a:focus-visible,.portfolio-contents a[aria-current="location"]{color:var(--ink)}.portfolio-contents a[aria-current="location"]{font-weight:700}.portfolio-contents a[aria-current="location"]:before{width:10px;height:2px;background:#ff650d}.portfolio-contents [hidden]{display:none!important}.portfolio-reader main [data-contents-anchor]{scroll-margin-top:145px}@media(max-width:1100px){.portfolio-reader{display:block;padding:0}.portfolio-contents{position:relative;top:auto;padding:22px 24px 0;max-height:none}.portfolio-contents nav{display:flex;flex-wrap:wrap;gap:0 18px}.portfolio-contents-title{flex-basis:100%;margin-bottom:7px}.portfolio-contents a{font-size:12px;padding-block:6px}.portfolio-contents a:before{top:15px}}

.portfolio-contents a[aria-current="page"]{color:var(--ink);font-weight:700}.portfolio-contents a[aria-current="page"]:before{background:#ff650d;width:10px;height:2px}.portfolio-contents .contents-project{padding:5px 0 5px 29px;font-size:11px}.portfolio-contents .contents-project:before{left:15px;top:13px;width:5px}.portfolio-contents .contents-section-link{padding:4px 0 4px 41px;font-size:10px;line-height:1.45}.portfolio-contents .contents-section-link:before{left:28px;top:11px;width:4px}.portfolio-contents .contents-parent-current{color:var(--ink)}.portfolio-contents .contents-category{margin-top:5px}@media(max-width:1100px){.portfolio-contents nav{display:block;columns:2;column-gap:24px}.portfolio-contents-title{column-span:all}.portfolio-contents a{break-inside:avoid}}@media(max-width:480px){.portfolio-contents nav{columns:1}}

/* Clear editorial hierarchy for the shared contents. */
.portfolio-reader{grid-template-columns:215px minmax(0,1fr)}
.portfolio-contents-title{font-size:10px;font-weight:600;letter-spacing:.13em;margin-bottom:22px}
.portfolio-contents .contents-category,.portfolio-contents .contents-root{font-size:16px;font-weight:700;line-height:1.25;letter-spacing:-.025em;color:var(--ink);padding:10px 0 10px 16px;margin-top:15px}
.portfolio-contents .contents-root{margin-top:0;margin-bottom:12px}
.portfolio-contents .contents-category:before,.portfolio-contents .contents-root:before{top:19px;width:7px;height:2px;background:var(--violet)}
.portfolio-contents .contents-project{font-size:12px;font-weight:400;line-height:1.45;padding:7px 4px 7px 30px;letter-spacing:0}
.portfolio-contents .contents-project:before{top:15px;left:16px;opacity:.55}
.portfolio-contents .contents-project-current{color:var(--ink);font-weight:700}
.portfolio-contents .contents-project-current:before{background:#ff650d;opacity:1}
.portfolio-contents .contents-section-link{font-size:11px;line-height:1.5;padding:5px 0 5px 42px}
.portfolio-contents .contents-section-link:before{top:13px}
.portfolio-contents .contents-contact{margin-top:22px;padding-top:17px;border-top:1px solid var(--line);font-size:12px}
.portfolio-contents .contents-contact:before{top:25px}
.portfolio-contents a:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:3px}
.portfolio-contents .contents-back{padding:8px 0;color:var(--muted);font-size:13px}
.portfolio-contents .contents-back:before,.portfolio-contents .contents-case-resume:before{display:none}
.portfolio-contents .contents-current-title{margin:24px 0 10px;color:var(--ink);font-size:16px;line-height:1.3;font-weight:700}
.portfolio-contents .contents-section-link{padding-left:16px;font-size:13px}
.portfolio-contents .contents-section-link:before{left:0}
.portfolio-contents .contents-case-resume{margin-top:24px;padding:14px 0 0;border-top:1px solid var(--line);font-size:13px}
@media(max-width:1100px){.portfolio-reader{display:block}.portfolio-contents .contents-category,.portfolio-contents .contents-root{font-size:16px}.portfolio-contents nav{columns:2;column-gap:30px}}
@media(max-width:480px){.portfolio-contents nav{columns:1}}

/* Separate portfolio and company-overview returns. */
.portfolio-contents .contents-company-back{font-weight:600;color:var(--ink);margin-top:2px;padding:8px 0;font-size:13px;line-height:1.5}
.portfolio-contents .contents-company-back:before{display:none}
.footer-return-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;min-width:0}
.footer .footer-return-links a{line-height:1.5;text-underline-offset:4px}
.footer .footer-return-links a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:600px){.footer-return-links{align-items:flex-start;flex-direction:column;gap:12px}}


/* Временно скрыто по просьбе Вероники; для возврата удалить только этот блок. */
.portfolio-reader{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.portfolio-contents{display:none!important}

/* Единый просмотр изображений: спокойная кнопка закрытия и переключение масштаба кликом. */
dialog.lightbox{overflow:auto!important}
dialog.lightbox button#close-lightbox{position:fixed!important;inset:14px 20px auto auto!important;z-index:10!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:9px 16px!important;border:1px solid rgba(255,255,255,.52)!important;border-radius:999px!important;background:rgba(37,33,42,.92)!important;color:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.22)!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;line-height:1.2!important;cursor:pointer!important;transition:background-color .18s ease,border-color .18s ease!important}
dialog.lightbox button#close-lightbox:hover{background:#39343f!important;border-color:rgba(255,255,255,.82)!important}
dialog.lightbox button#close-lightbox:focus-visible{outline:2px solid #d9f33f!important;outline-offset:3px!important}
dialog.lightbox #lightbox-image{cursor:pointer}
@media(max-width:600px){dialog.lightbox button#close-lightbox{inset:10px 10px auto auto!important;min-height:40px!important;padding:8px 13px!important}}

/* Единое правило сайта: тонкие горизонтальные разделители не использовать. Обводки кнопок, карточек, полей ввода и меню сохраняются. */
html.has-portfolio-catalog :is(
 hr,
 .topbar,
 .site-breadcrumb-bar,
 .intro-strip,
 .job,
 .education-item,
 .media-block,
 .content-case,
 .ab-dolce-next-step,
 .ab-method-rules,
 .ab-test,
 .artdeco-model,
 .soul-funnel-pending,
 .portfolio-contents .contents-disclosure>summary,
 #ab-tests .ab-brand-preview:first-child,
 .serious-intro,
 .resume-next,
 #work>.wrap>.section-head,
 #work .dm-case-story .dm-story-section,
 #work .dm-metrics-brief,
 .dm-question-map,
 .dm-question-row,
 .artdeco-ab,
 .artdeco-page .artdeco-rich,
 .artdeco-source-brief,
 .artdeco-page .artdeco-main-photo-item:not(:nth-child(3)),
 .artdeco-ab th,
 .artdeco-ab td,
 .artdeco-pvalue-result,
 .artdeco-choice-note,
 .tcfs-task,
 .tcfs-ab-table-wrap th,
 .tcfs-ab-table-wrap td,
 .tcfs-pvalue-explainer,
 .tcfs-pvalue-result,
 .tcfs-process-item,
 .tcfs-process-item>summary,
 .preview-process-row,
 .letoile-responsibilities p,
 .letoile-metric,
 .letoile-tool-groups,
 .letoile-material-section,
 .mea-card-details>summary,
 .portfolio-contents .contents-contact,
 .portfolio-contents .contents-case-resume
){border-top:0!important;border-bottom:0!important}

/* DOLCE MILK: readability, product fidelity and responsive original-frame slider. */
html.has-portfolio-catalog .dm-reference-panel .section-head p,
html.has-portfolio-catalog .dm-reference-panel .dm-story-section p,
html.has-portfolio-catalog .dm-reference-panel .dm-story-section li{font-size:14px;line-height:1.5}
html.has-portfolio-catalog .dm-reference-panel .dm-story-section h2,
html.has-portfolio-catalog .dm-reference-tools h3{margin-bottom:8px}
html.has-portfolio-catalog .dm-before-controls button{position:relative;border:0!important;border-radius:50%;background:#eeeeF3;color:#25222b;font-size:0;line-height:0}
html.has-portfolio-catalog .dm-before-controls button::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translate(-65%,-50%) rotate(45deg)}
html.has-portfolio-catalog .dm-before-controls button[data-dm-before-prev]::before{transform:translate(-35%,-50%) rotate(-135deg)}
html.has-portfolio-catalog .dm-before-controls button:disabled{background:#eeeeF3;color:#aaa9b0;opacity:1}
html.has-portfolio-catalog .dm-before-controls button:hover:not(:disabled){background:#e9e9e9;border-color:transparent}
html.has-portfolio-catalog .dm-before-controls button:focus-visible{outline:2px solid #d9f33f;outline-offset:3px}
@media(max-width:760px){html.has-portfolio-catalog .dm-before-slide{grid-template-columns:repeat(3,minmax(0,1fr))}html.has-portfolio-catalog .dm-before-slide figure:last-child:nth-child(odd){grid-column:auto;width:auto;justify-self:stretch}}
@media(max-width:850px){html.has-portfolio-catalog .dm-reference-panel .section-head p,html.has-portfolio-catalog .dm-reference-panel .dm-story-section p,html.has-portfolio-catalog .dm-reference-panel .dm-story-section li{font-size:15px;line-height:1.55}}
@media(prefers-reduced-motion:reduce){html.has-portfolio-catalog .dm-before-track,html.has-portfolio-catalog .dm-before-slide{transition:none}}

/* DOLCE MILK:explicit vertical rhythm; nested sections must not inherit page-section padding. */
html.has-portfolio-catalog #work:has(.dm-reference-cover) .dm-before-section{padding:0;margin:32px 0 0;min-height:0}
html.has-portfolio-catalog #work:has(.dm-reference-cover) .media-block{padding-block:0;margin-top:32px}
html.has-portfolio-catalog #work:has(.dm-reference-cover) .media-title{margin-top:0;margin-bottom:12px}
html.has-portfolio-catalog #work:has(.dm-reference-cover) .media-title h3{margin:0;line-height:1.3}
html.has-portfolio-catalog #work:has(.dm-reference-cover) .dm-before-intro{margin:0 0 16px;font-size:16px;line-height:1.5}
html.has-portfolio-catalog #work:has(.dm-reference-cover) .product-caption{margin-top:12px;line-height:1.5}
html.has-portfolio-catalog #work:has(.dm-reference-cover) .product-caption strong{display:block;line-height:1.35;margin-bottom:6px}
html.has-portfolio-catalog #work:has(.dm-reference-cover) .product-caption span{line-height:1.5}
@media(max-width:600px){html.has-portfolio-catalog #work:has(.dm-reference-cover) .dm-before-section,html.has-portfolio-catalog #work:has(.dm-reference-cover) .media-block{margin-top:24px}}
/* Закреплённое содержание портфолио и кейсов. */
@media(min-width:851px){body:not([data-page-view="home"]) .portfolio-reader{display:grid;grid-template-columns:225px minmax(0,1fr)!important;gap:28px!important;padding-inline:22px}body:not([data-page-view="home"]) .portfolio-contents{display:block!important;position:sticky;top:calc(var(--portfolio-header-height,72px) + 20px);max-height:calc(100dvh - var(--portfolio-header-height,72px) - 42px);overflow-y:auto;padding:16px 0}}
body:not([data-page-view="home"]) .portfolio-contents nav{display:block;columns:auto}body:not([data-page-view="home"]) .portfolio-contents-title{display:none}body:not([data-page-view="home"]) .portfolio-contents a{display:block;padding:14px 2px!important;margin:0!important;border-bottom:1px solid #777!important;font-size:15px!important;line-height:1.4;letter-spacing:0;font-weight:400;color:#4a4a4a;text-decoration:none}body:not([data-page-view="home"]) .portfolio-contents a:before{display:none}body:not([data-page-view="home"]) .portfolio-contents a:is([aria-current="page"],[aria-current="location"]){font-weight:750;color:#171717;border-bottom-color:#171717!important}body:not([data-page-view="home"]) .portfolio-contents a:hover{color:#171717}body:not([data-page-view="home"]) .portfolio-contents a:focus-visible{outline:2px solid currentColor;outline-offset:-2px}:root[data-theme="dark"] body:not([data-page-view="home"]) .portfolio-contents a{color:#c8c8c8;border-bottom-color:#777!important}:root[data-theme="dark"] body:not([data-page-view="home"]) .portfolio-contents a:is([aria-current="page"],[aria-current="location"]),:root[data-theme="dark"] body:not([data-page-view="home"]) .portfolio-contents a:hover{color:#fff;border-bottom-color:#fff!important}
@media(max-width:850px){body:not([data-page-view="home"]) .portfolio-reader{display:block!important;padding:0}body:not([data-page-view="home"]) .portfolio-contents{display:block!important;position:sticky;top:var(--portfolio-header-height,112px);z-index:90;max-height:none;overflow:hidden;padding:4px 15px;background:#fff!important}body:not([data-page-view="home"]) .portfolio-contents nav{display:flex;align-items:center;gap:18px;overflow-x:auto}body:not([data-page-view="home"]) .portfolio-contents a{flex:none;white-space:nowrap;font-size:14px!important;padding:10px 2px!important}body:not([data-page-view="home"]) .portfolio-contents .contents-current-title{display:none}:root[data-theme="dark"] body:not([data-page-view="home"]) .portfolio-contents{background:#0b0b0d!important}}

/* Единое положение меню на всех страницах, включая ARTDECO. */
@media(min-width:851px){html body .portfolio-reader{box-sizing:border-box;width:100%;max-width:1800px!important;margin-inline:auto!important;padding-inline:clamp(24px,3vw,48px)!important;grid-template-columns:225px minmax(0,1fr)!important;gap:28px!important}html body .portfolio-reader>.portfolio-contents{margin:0!important;left:auto;right:auto;transform:none;top:calc(var(--portfolio-header-height,72px) + 20px)!important;padding:16px 0!important;max-height:calc(100dvh - var(--portfolio-header-height,72px) - 42px)!important}}
@media(max-width:850px){html body .portfolio-reader{box-sizing:border-box;width:100%;max-width:100%!important;margin-inline:auto!important;padding-inline:0!important}html body .portfolio-reader>.portfolio-contents{top:var(--portfolio-header-height,112px)!important}}

/* Меню выровнено по началу имени в общей шапке: печать 38 px + промежуток 10 px. */
@media(min-width:851px){html body .portfolio-reader{width:min(1780px,calc(100% - 48px))!important;max-width:1780px!important;padding-left:48px!important;padding-right:0!important;margin-inline:auto!important}}
