/* Editorial revision: real objects, the people behind the practice, living research. */
.case-card .case-outcome{font-size:clamp(38px,3.3vw,54px);line-height:1.2;margin:22px 0 30px;letter-spacing:-.025em}
.case-detail .case-result-note{font:400 24px/1.5 var(--serif);max-width:380px;border-left:2px solid var(--gold);padding-left:22px;margin-top:35px}
/* The compact introduction leads directly into the service hierarchy. */
.brand-strip{background:#2d344d;color:var(--gold)}
.brand-strip-inner{display:grid;grid-template-columns:112px minmax(0,1fr) 272px;align-items:center;gap:32px;padding-block:22px}
.brand-strip img{width:112px;height:70px;object-fit:contain}
.brand-strip h2{font-size:clamp(24px,2.05vw,32px);line-height:1.35;letter-spacing:-.02em;margin:0;max-width:780px}
.brand-strip h2 em{font-style:normal}
.brand-story-link{display:flex;align-items:center;justify-content:space-between;gap:18px;font:400 13px/1.65 var(--sans);min-height:48px;padding:12px 17px;border:1px solid #c7b29980;color:var(--gold)}
.brand-story-link:hover{background:var(--gold);color:#2d344d;border-color:var(--gold)}
.brand-story-link>span{font-size:21px}
.solutions-home{padding-block:76px 64px}
.solutions-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:32px}
.solutions-heading .eyebrow{margin-bottom:14px;font-size:12px}
.solutions-heading h2{font-size:clamp(32px,3.25vw,49px);margin:0}
.solutions-heading>p{font-size:16px;line-height:1.7;max-width:330px;margin:0;color:var(--muted)}
.solution-cascade{border-top:1px solid #c9c4ba;padding-bottom:20px}
.solution-cascade:last-child{border-bottom:1px solid #c9c4ba}
.solution-cascade>summary{display:grid;grid-template-columns:48px minmax(0,1fr) 32px;gap:25px;align-items:center;list-style:none;cursor:pointer;padding-block:26px}
.solution-cascade>summary::-webkit-details-marker{display:none}
.solution-cascade>summary:hover h3{color:#805f3b}
.cascade-number{font:400 32px/1.1 var(--serif);color:#88785f;align-self:start;padding-top:4px}
.cascade-copy h3{font-size:clamp(26px,2.6vw,37px);line-height:1.3;margin:0 0 5px}
.cascade-copy p{font-size:16px;line-height:1.7;margin:0;color:var(--muted)}
.cascade-toggle{width:28px;height:28px;display:grid;place-items:center;font:300 27px/1 var(--sans);color:var(--oxford)}
.cascade-toggle:before{content:'+'}
.solution-cascade[open] .cascade-toggle:before{content:'−'}
.cascade-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 0 15px 73px}
.cascade-cards.count-5{grid-template-columns:repeat(6,minmax(0,1fr))}
.cascade-cards.count-5 .cascade-card{grid-column:span 2}
.cascade-cards.count-5 .cascade-card:nth-last-child(-n+2){grid-column:span 3}
.cascade-understand{--cascade-fill:#eeede6;--cascade-hover:#e4e4da}
.cascade-education{--cascade-fill:#eceef1;--cascade-hover:#e1e5ea}
.cascade-environment{--cascade-fill:#efebe6;--cascade-hover:#e5dfd8}
.cascade-future{--cascade-fill:#f0ece5;--cascade-hover:#e7e1d7}
.cascade-card{display:flex;flex-direction:column;background:var(--cascade-fill);color:var(--ink);border:0;padding:28px;transition:background .2s,border-color .2s;min-width:0}
.cascade-card:hover{background:var(--cascade-hover);border-color:var(--cascade-hover)}
.cascade-card h4{font:400 clamp(23px,1.8vw,28px)/1.3 var(--serif);letter-spacing:-.015em;margin:0 0 12px}
.cascade-card p{font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 24px}
.cascade-card-action{display:flex;align-items:center;justify-content:space-between;gap:20px;font:500 14px/1.7 var(--sans);margin-top:auto;padding-top:17px;border-top:1px solid #cfc9bf;color:var(--oxford)}
.cascade-card-action>span{font-size:22px}
.cascade-card.flagship{grid-column:1 / -1;background:var(--oxford);color:#faf7f1;border-color:var(--oxford)}
.cascade-card.flagship:hover{background:#3d4666;border-color:#3d4666}
.cascade-card.flagship h4{font-size:32px}
.cascade-card.flagship p{color:#f0ebe3;max-width:850px}
.cascade-card.flagship .cascade-card-action{max-width:330px}
.cascade-card-label{font:500 12px/1.6 var(--sans);color:var(--gold);letter-spacing:.09em;margin-bottom:14px}
.solutions-help{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:32px}
.solutions-help p{max-width:600px;margin:0;font-size:16px}
.solutions-help .button{flex-shrink:0}
body[data-page=home] .intro{padding-top:60px;border-top:1px solid var(--line)}
@media(max-width:1100px){.brand-strip-inner{grid-template-columns:90px minmax(0,1fr) 225px;gap:23px}.brand-strip img{width:90px;height:62px}.brand-strip h2{font-size:25px}.solutions-heading{align-items:flex-start;flex-direction:column;gap:15px}.solutions-heading>p{max-width:650px}.cascade-cards{padding-left:0}.cascade-card{padding:23px}.cascade-cards.count-5{grid-template-columns:repeat(2,minmax(0,1fr))}.cascade-cards.count-5 .cascade-card{grid-column:auto}.cascade-cards.count-5 .cascade-card:last-child{grid-column:1/-1}}
@media(max-width:760px){.brand-strip-inner{grid-template-columns:65px minmax(0,1fr);gap:9px 20px;padding-block:18px}.brand-strip img{width:65px;height:48px;grid-row:1/3;align-self:center}.brand-strip h2{font-size:20px;line-height:1.4;letter-spacing:0}.brand-story-link{grid-column:2;font-size:13px;gap:12px;padding-block:2px}.brand-story-link>span{font-size:18px}.solutions-home{padding-block:36px 45px}.solutions-heading{gap:14px;margin-bottom:22px}.solutions-heading h2{font-size:32px;line-height:1.25}.solutions-heading .eyebrow{font-size:12px}.solution-cascade>summary{grid-template-columns:30px minmax(0,1fr) 24px;gap:13px;padding-block:22px}.cascade-number{font-size:25px}.cascade-copy h3{font-size:26px}.cascade-copy p{font-size:16px;margin-top:9px}.cascade-toggle{width:24px}.cascade-cards,.cascade-cards.count-5{grid-template-columns:1fr;gap:12px;padding-bottom:8px}.cascade-cards.count-5 .cascade-card{grid-column:auto}.cascade-card{padding:23px}.cascade-card h4{font-size:26px}.cascade-card.flagship h4{font-size:29px}.cascade-card p{font-size:16px}.solutions-help{align-items:flex-start;flex-direction:column;gap:20px}body[data-page=home] .intro{padding-top:48px}}
@media(prefers-reduced-motion:reduce){.cascade-card{transition:none}}
.invention-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4vw;height:auto;min-height:790px;max-height:none;padding:160px 5% 130px;background:#2d344d}
.invention-hero .hero-content{max-width:650px;margin:0;padding-left:5%}
.invention-hero h1{font-size:clamp(50px,5.3vw,81px);line-height:1.15}
.invention-hero .hero-content>p:not(.eyebrow){max-width:530px;font-size:16px}
.invention-hero .hero-actions{gap:24px;flex-wrap:wrap}
.invention-hero .hero-content>.eyebrow{font-size:11px;letter-spacing:.14em}
.invention-visual{margin:0;align-self:center;position:relative;min-width:0}
.invention-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.invention-visual figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--bueze);font-size:12px;line-height:1.85;letter-spacing:.04em;padding-top:19px}
.invention-visual figcaption a{white-space:nowrap;font-size:14px;border-bottom:1px solid #c7b29970;letter-spacing:0}
.invention-hero .hero-bottom{left:7.5%;right:5%}
.legend-band{padding:76px 0;background:var(--bueze);border-bottom:1px solid #c7b29970}
.legend-layout,.telegram-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}
.legend-layout h2,.telegram-layout h2{font-size:clamp(38px,3.8vw,58px);margin-bottom:0}
.legend-layout p:not(.eyebrow){font-size:16px}
.legend-band.compact{padding:65px 0}
.age-tabs{display:flex;border-bottom:1px solid var(--line)}
.age-tabs button{flex:1;border:0;background:transparent;padding:22px 15px;font-size:16px;white-space:nowrap}
.age-tabs button[aria-selected=true]{background:var(--oxford);color:var(--paper)}
.age-panels{padding:48px 50px;background:var(--paper);min-height:535px}
.age-intro h3{font-size:40px;max-width:830px}
.age-intro .eyebrow{margin-bottom:17px}
.competency-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:37px}
.competency-grid article{border-top:1px solid var(--line);padding-top:18px}
.competency-grid h4{font-size:15px;line-height:1.55;margin-bottom:12px}
.competency-grid p{font-size:13px;line-height:1.8;color:var(--muted)}
.age-team{border-top:1px solid var(--line);padding-top:20px;margin:24px 0 0;font-size:13px;line-height:1.8}
.age-team strong{font-weight:500}
.method-library{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding:35px 0 0}
.method-library>div{display:flex;gap:27px;align-items:center}
.method-library strong{font:400 66px/1.1 var(--serif);color:var(--oxford)}
.method-library span,.method-library>p{font-size:13px;line-height:1.7}
.method-library>p{margin-bottom:0;color:var(--muted)}
.dynamics-table{width:100%;border-collapse:collapse;min-width:690px;font-size:14px}
.dynamics-table th{text-align:left;background:var(--oxford);color:white;padding:19px 22px;font-weight:500}
.dynamics-table td{padding:25px 22px;vertical-align:top;border-bottom:1px solid var(--line);width:25%}
.dynamics-table td:first-child{font-weight:500}
.readiness-list details{border-top:1px solid var(--line);padding:24px 0}
.readiness-list details:last-child{border-bottom:1px solid var(--line)}
.readiness-list summary{display:flex;gap:30px;align-items:center;cursor:pointer;list-style:none}
.readiness-list summary::-webkit-details-marker{display:none}
.readiness-list summary>span:first-child{font-size:13px;color:var(--muted)}
.readiness-list summary>span:last-child{margin-left:auto;font-size:25px}
.readiness-list h3{font-size:29px;margin:0}
.readiness-list details[open] summary>span:last-child{transform:rotate(45deg)}
.readiness-list details>p{margin:19px 0 0 48px;max-width:800px;font-size:16px}
.tailor-grid,.basis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.tailor-grid article,.basis-grid article{border-top:1px solid var(--line);padding-top:27px}
.tailor-grid p,.basis-grid p:not(.eyebrow){font-size:14px}
.tailor-grid h3,.basis-grid h3{font-size:31px;line-height:1.35}
.basis-grid .text-link{font-size:12px;gap:12px}
.casebook-magnet{background:#eeebe5;padding:90px 0}
.casebook-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:center}
.casebook-cover{aspect-ratio:3/4;max-height:470px;background:var(--oxford);color:var(--paper);padding:42px;box-shadow:12px 12px 0 #ded8cf;display:flex;flex-direction:column}
.casebook-cover .eyebrow{font-size:10px}
.casebook-cover h2{font-size:clamp(38px,3.6vw,55px);margin:auto 0}
.casebook-cover>span{font-size:11px;letter-spacing:.18em;color:var(--gold);border-top:1px solid #ffffff44;padding-top:24px}
.casebook-layout>div:last-child>p:not(.eyebrow){max-width:610px}
.practice-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 35px}
.practice-person{border-top:1px solid var(--line);padding-top:25px}
.practice-person .eyebrow{font-size:10px;min-height:34px;margin-bottom:16px}
.practice-person h3{font-size:33px;line-height:1.25;max-width:300px}
.practice-person p:not(.eyebrow){font-size:14px;color:var(--muted)}
.tutor-roster{margin-top:60px;padding-top:35px;border-top:1px solid var(--line);max-width:1000px}
.tutor-roster p{font-size:14px;line-height:1.9}
.geography-band{background:var(--bueze);padding:65px 0}
.geography-cities{font:400 clamp(26px,3vw,45px)/1.7 var(--serif);display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.geography-cities span{color:#938069}
.geography-band .wrap>p:last-child{max-width:850px;font-size:14px;margin-bottom:0}
.biography-timeline{border-top:1px solid var(--line)}
.biography-timeline article{display:grid;grid-template-columns:1fr 2.3fr;gap:55px;padding:30px 0;border-bottom:1px solid var(--line)}
.biography-timeline article>.eyebrow{padding-top:10px}
.biography-timeline h3{font-size:29px;margin-bottom:13px}
.biography-timeline article p:not(.eyebrow){font-size:14px;max-width:800px;margin-bottom:0}
.biography-note{margin-top:40px;max-width:970px}
.biography-note p{font-size:15px}
.biography-note a{margin:10px 22px 0 0}
.council-section{background:var(--oxford);color:var(--paper)}
.council-section em{color:var(--bueze)}
.council-layout{display:grid;grid-template-columns:1fr 2.3fr;gap:55px}
.council-rhythm{display:flex;flex-direction:column;padding-top:5px}
.council-rhythm strong{font:400 150px/1 var(--serif);color:var(--gold)}
.council-rhythm span{font-size:13px;margin-top:20px}
.council-layout>div:last-child p:not(.lead){font-size:15px;opacity:.84}
.council-layout .text-link{display:table;margin-top:25px;color:var(--bueze)}
.project-stories{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.project-story{padding:40px;border:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}
.project-story:hover{background:#eae4da}
.project-story:nth-child(4n+2){background:var(--oxford);color:var(--paper);border-color:var(--oxford)}
.project-story:nth-child(4n+2):hover{background:#3b4564}
.project-story h3{font-size:37px;line-height:1.24}
.project-story>p:not(.eyebrow){font-size:14px}
.project-story>.eyebrow{font-size:10px;letter-spacing:.1em}
.project-metric{display:flex;align-items:center;gap:25px;margin:auto 0 30px;padding-top:20px}
.project-metric strong{font:400 65px/1.1 var(--serif)}
.project-metric span{font-size:12px;max-width:190px;line-height:1.8}
.project-detail{padding-block:70px 110px}
.project-detail-grid{display:grid;grid-template-columns:1fr 2.3fr;gap:75px}
.project-detail-grid aside>strong{font:400 100px/1.1 var(--serif);display:block}
.project-detail-grid aside>p{font-size:14px;max-width:220px;margin-top:20px}
.project-detail-grid article h2{font-size:35px;margin-top:0}
.project-detail-grid article section{margin-bottom:50px}
.project-detail-grid article p{font-size:17px;line-height:1.95}
.project-detail-grid .article-sources p,.project-detail-grid .article-sources a{font-size:13px}
.project-detail-grid .article-sources .text-link{display:table;margin-top:14px}
.project-document{margin:0 0 60px;padding:40px;background:#eae4da}
.project-document img{max-height:500px;object-fit:contain;margin:auto}
.project-document figcaption{font-size:12px;margin-top:20px;text-align:center;color:var(--muted)}
.article-hero-photo{margin:0 0 45px}
.article-hero-photo img{width:100%;height:auto}
.article-hero-photo figcaption{font-size:12px;color:var(--muted);margin-top:15px}
.journal-masthead h1{font-size:clamp(54px,7.2vw,110px)}
.article-sidebar .sidebar-cards{max-height:70vh;overflow-y:auto;overscroll-behavior:contain;padding:5px 7px 15px 0;scrollbar-width:thin}
.telegram-section{background:#e4d7c6;padding:76px 0}
.telegram-layout>div:last-child p{font-size:15px}
.news-hero-photo{margin-block:60px 0;background:#eeebe5;padding:35px}
.news-hero-photo img{width:100%;max-height:560px;object-fit:contain}
.news-hero-photo figcaption{font-size:12px;color:var(--muted);margin-top:20px;text-align:center}
.news-row.with-photo{grid-template-columns:150px 130px 1fr 28px;gap:30px}
.news-thumb{width:150px;height:105px;object-fit:cover;background:#ebe4d8}
.news-thumb.logo{object-fit:contain;padding:12px;background:white}
.resource-card button.text-link{margin-top:10px}
.resource-card p{flex-grow:1}
#resource-download{margin:15px 0 20px;width:100%}
#resource-download+.dialog-done{background:transparent;border-color:var(--line)}
.dialog-main:has(#resource-download:not([hidden])) .dialog-done{font-size:13px}
@media(min-width:1600px){.invention-hero{gap:6vw;padding-inline:7.5%}.invention-hero .hero-content{padding-left:0}}
@media(max-width:1100px){.invention-hero{gap:3%;min-height:760px;padding-inline:5%}.invention-hero h1{font-size:57px}.invention-hero .hero-content{padding-left:0}.invention-hero .hero-actions{gap:18px}.invention-hero .button{font-size:12px;gap:18px;padding-inline:18px}.invention-visual figcaption{flex-direction:column;align-items:flex-start;gap:7px}.age-panels{padding:35px}.competency-grid{grid-template-columns:1fr 1fr}.method-library{gap:25px}.practice-people{grid-template-columns:1fr 1fr}.basis-grid,.tailor-grid{gap:24px}.project-story{padding:30px}.project-detail-grid{gap:40px}.news-row.with-photo{grid-template-columns:120px 100px 1fr 20px;gap:22px}.news-thumb{width:120px;height:100px}}
@media(max-width:760px){.invention-hero{grid-template-columns:1fr;gap:42px;padding:134px 7.5% 38px;min-height:0}.invention-hero h1{font-size:clamp(45px,10.5vw,68px);margin-bottom:27px}.invention-hero .hero-content>p:not(.eyebrow){font-size:15px}.invention-hero .hero-content>.eyebrow{font-size:9px;letter-spacing:.13em}.invention-hero .hero-actions{flex-wrap:wrap;gap:22px;margin-top:28px}.invention-hero .button{font-size:13px}.invention-visual{width:100%}.invention-visual figcaption{flex-direction:row;align-items:flex-start;font-size:9px;gap:18px}.invention-visual figcaption a{font-size:10px}.invention-hero .hero-bottom{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:22px;font-size:11px}.invention-hero .hero-bottom>span:nth-child(2){display:block}.legend-band,.legend-band.compact,.telegram-section{padding:56px 0}.legend-layout,.telegram-layout{grid-template-columns:1fr;gap:27px}.legend-layout h2,.telegram-layout h2{font-size:39px}.legend-layout p:not(.eyebrow),.telegram-layout>div:last-child p{font-size:14px}.age-tabs{overflow-x:auto;scrollbar-width:thin}.age-tabs button{padding:18px 17px;font-size:13px;min-width:100px}.age-panels{padding:30px 22px;min-height:630px}.age-intro h3{font-size:32px}.age-intro .eyebrow{font-size:10px}.competency-grid{gap:22px 17px}.competency-grid h4{font-size:13px}.competency-grid p{font-size:12px}.age-team{font-size:12px}.method-library{grid-template-columns:1fr;gap:22px}.method-library strong{font-size:62px}.method-library span{font-size:12px}.method-library>p{font-size:13px}.readiness-list summary{gap:18px}.readiness-list h3{font-size:25px}.readiness-list details>p{font-size:14px;margin-left:34px}.tailor-grid,.basis-grid{grid-template-columns:1fr;gap:30px}.tailor-grid h3,.basis-grid h3{font-size:32px}.casebook-magnet{padding:60px 0}.casebook-layout{grid-template-columns:1fr;gap:45px}.casebook-cover{aspect-ratio:3/3.4;max-width:340px;padding:32px}.casebook-cover h2{font-size:43px}.casebook-layout>div:last-child>p{font-size:14px}.practice-people{grid-template-columns:1fr;gap:22px}.practice-person h3{font-size:33px;max-width:none}.practice-person .eyebrow{min-height:0;margin-bottom:15px}.practice-person p:not(.eyebrow){font-size:14px}.tutor-roster{margin-top:35px}.geography-band{padding:50px 0}.geography-cities{font-size:30px;gap:0 15px}.geography-band .wrap>p:last-child{font-size:13px}.biography-timeline article{grid-template-columns:1fr;gap:8px;padding:25px 0}.biography-timeline article>.eyebrow{margin-bottom:10px}.biography-timeline h3{font-size:28px}.biography-note .text-link{display:table}.council-layout{grid-template-columns:1fr;gap:30px}.council-rhythm{flex-direction:row;align-items:center;gap:30px}.council-rhythm strong{font-size:100px}.council-rhythm span{margin:0;font-size:12px}.council-layout .lead{font-size:18px}.council-layout .text-link{font-size:13px}.project-stories{grid-template-columns:1fr;gap:24px}.project-story{padding:28px}.project-story h3{font-size:34px}.project-metric{margin-top:10px}.project-metric strong{font-size:59px}.project-detail{padding-block:45px 65px}.project-detail-grid{grid-template-columns:1fr;gap:38px}.project-detail-grid aside{border-bottom:1px solid var(--line);padding-bottom:28px}.project-detail-grid aside>strong{font-size:75px}.project-detail-grid aside>p{max-width:280px;font-size:13px}.project-detail-grid article h2{font-size:31px}.project-detail-grid article p{font-size:16px}.project-document{padding:17px;margin-bottom:35px}.project-document figcaption{font-size:10px}.journal-masthead h1{font-size:clamp(43px,11vw,72px)}.article-sidebar .sidebar-cards{max-height:none;overflow-y:visible;overflow-x:auto}.news-hero-photo{padding:18px;margin-top:35px}.news-hero-photo figcaption{font-size:11px}.news-row.with-photo{grid-template-columns:85px 1fr 18px;gap:16px}.news-row.with-photo .news-thumb{width:85px;height:95px;grid-column:1;grid-row:1 / 3}.news-row.with-photo .news-date{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;gap:4px 12px}.news-row.with-photo>div:not(.news-date){grid-column:2;grid-row:2}.news-row.with-photo .row-arrow{grid-column:3;grid-row:2}.news-row.with-photo h3{font-size:23px}.news-row.with-photo>div:not(.news-date)>p{display:none}.news-row.with-photo .news-date,.news-row.with-photo .news-date span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.project-story{transition:none}}

.legend-layout,.legend-band.compact .legend-layout{grid-template-columns:.8fr 1fr 1.2fr;gap:5%}
.legend-band.compact h2{font-size:clamp(32px,3vw,46px)}
.legend-reference{margin:0}
.legend-reference img{width:100%;height:auto}
.legend-reference figcaption{font-size:12px;line-height:1.7;letter-spacing:.09em;margin-top:24px;color:var(--bueze)}
.brand-mark{padding:30px;background:#2d344d;max-width:380px;width:100%;text-align:center}
.brand-mark img{display:block;object-fit:contain}
.article-hero-photo.brand-mark-feature{padding:clamp(26px,5vw,52px);background:#2d344d}
.brand-mark-feature img{max-width:420px;display:block;margin:0 auto}
.article-hero-photo.brand-mark-feature figcaption{color:var(--bueze);font:400 13px/1.7 var(--sans);text-align:center;margin-top:30px}
.article-body blockquote>p{font:inherit;margin-bottom:0}
.article-body blockquote .quote-original{font:400 14px/1.8 var(--sans);margin-top:24px;letter-spacing:0}
.article-body blockquote cite{display:block;font:400 11px/1.8 var(--sans);margin-top:16px;letter-spacing:0;max-width:560px}
@media(max-width:1000px){.legend-layout,.legend-band.compact .legend-layout{grid-template-columns:.9fr 1.2fr;gap:30px}.legend-layout>div:last-child{grid-column:1 / -1}.legend-band.compact h2{font-size:38px}}
@media(max-width:760px){.legend-layout,.legend-band.compact .legend-layout{grid-template-columns:1fr}.legend-reference{max-width:380px;padding:28px}.legend-layout p:not(.eyebrow){font-size:16px}.invention-visual figcaption{font-size:12px;flex-wrap:wrap}.invention-visual figcaption a{font-size:14px}.article-body blockquote .quote-original{font-size:12px}.article-body blockquote cite{font-size:10px}}

/* Restored cover: content determines height, so copy cannot overlap the footer. */
.family-hero{height:auto;min-height:790px;max-height:none;padding-block:152px 126px}
.family-hero .hero-content{margin-top:0;max-width:690px}
.family-hero h1{font-size:clamp(52px,5.2vw,78px);line-height:1.13;letter-spacing:-.025em;margin-bottom:25px}
.family-hero .hero-content>.eyebrow{font-size:12px;line-height:1.7;margin-bottom:23px}
.family-hero .hero-content>p:not(.eyebrow){max-width:510px;margin-bottom:0;font-size:17px;line-height:1.8}
.family-hero .hero-shade{background:linear-gradient(90deg,rgba(24,29,43,.74),rgba(24,29,43,.28) 50%,transparent 75%),linear-gradient(0deg,rgba(24,29,43,.58),transparent 35%,rgba(24,29,43,.16) 78%,rgba(24,29,43,.62))}
.family-hero .hero-bottom{align-items:center}
.cascade-copy,.cascade-card h4,.cascade-card p{hyphens:auto;-webkit-hyphens:auto}
.cascade-card:focus-visible{outline-color:var(--oxford);outline-offset:4px}

/* One portrait treatment and one name source across all team sections. */
.team-preview{background:#ece8e1}
.practice-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px;align-items:start}
.practice-person{min-width:0;border:0;padding:0;scroll-margin-top:120px}
.person-portrait{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#ddd9d0;margin-bottom:22px}
.person-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.portrait-placeholder{display:grid;place-items:center;background:#303756;color:#c7b299}
.portrait-placeholder:before{content:'';position:absolute;inset:22px;border:1px solid #c7b29960}
.portrait-initials{font:400 clamp(54px,6vw,88px)/1 var(--serif);letter-spacing:.04em;padding-bottom:10px}
.portrait-status{position:absolute;bottom:40px;left:0;right:0;text-align:center;font:400 12px/1.6 var(--sans);letter-spacing:.06em}
.practice-person h3{font-size:31px;line-height:1.25;max-width:none;margin:0 0 10px;hyphens:auto;-webkit-hyphens:auto}
.practice-person p.person-role{font-size:14px;line-height:1.65;letter-spacing:0;color:#65513c;margin:0 0 12px}
.practice-person p.person-description{font-size:16px;line-height:1.8;margin:0;color:var(--muted)}
.person-link{display:block;height:100%}
.person-link:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.team-preview .practice-people{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 25px}
.team-preview .person-portrait{margin-bottom:17px}
.team-preview .practice-person h3{font-size:27px;min-height:2.5em}
.team-preview .person-role{max-width:260px}
.tutor-roster{max-width:none;margin-top:72px;padding-top:54px}
#katya-lerman{scroll-margin-top:120px}

@media(max-width:1100px){
 .family-hero{min-height:740px;padding-block:145px 116px}
 .family-hero h1{font-size:58px}
 .family-hero .hero-content>p:not(.eyebrow){max-width:440px;font-size:16px}
 .practice-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px}
 .team-preview .practice-people{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 18px}
 .team-preview .practice-person h3{font-size:23px}
 .team-preview .practice-person p.person-role{font-size:13px}
 .portrait-placeholder:before{inset:17px}
 .portrait-status{bottom:28px}
}
@media(max-width:760px){
 .family-hero{min-height:0;padding:330px 6% 28px;display:block}
 .family-hero h1{font-size:clamp(36px,10.4vw,62px);line-height:1.14;margin-bottom:23px}
 .family-hero .hero-content>.eyebrow{font-size:10px;line-height:1.8;letter-spacing:.1em;max-width:320px;margin-bottom:20px}
 .family-hero .hero-content>p:not(.eyebrow){max-width:560px;font-size:16px;line-height:1.8}
 .family-hero .hero-shade{background:linear-gradient(180deg,#1c223450 0,#242a4310 160px,#303756 422px,#303756 100%)}
 .family-hero .hero-photo{height:430px;object-position:78% center}
 .family-hero .hero-bottom{position:static;flex-direction:column;align-items:flex-start;gap:12px;margin-top:30px;padding-top:17px;font-size:12px}
 .family-hero .hero-bottom .hero-link{font-size:12px}
 .family-hero .hero-actions{gap:18px 24px}
 .brand-strip-inner{grid-template-columns:64px minmax(0,1fr);gap:14px 20px;padding-block:22px}
 .brand-strip img{width:64px;height:55px;grid-row:1;align-self:center}
 .brand-strip h2{font-size:clamp(20px,5.5vw,22px);line-height:1.35;min-width:0;hyphens:auto;-webkit-hyphens:auto}
 .brand-story-link{grid-column:1/-1;padding:12px 15px;font-size:13px;line-height:1.6;min-height:48px;gap:22px}
 .solutions-home{padding-block:46px}
 .team-preview .practice-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
 .team-preview .practice-person h3{font-size:24px;min-height:2.5em}
 .practice-person h3{font-size:29px}
 .practice-person p.person-description{font-size:16px}
 .portrait-initials{font-size:clamp(48px,10vw,70px)}
 .portrait-status{font-size:11px;bottom:26px}
 .person-portrait{margin-bottom:18px}
 .tutor-roster{margin-top:45px;padding-top:40px}
}
@media(max-width:560px){
 .practice-people{grid-template-columns:1fr;gap:36px}
 .team-preview .practice-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}
 .team-preview .practice-person h3{font-size:22px}
 .team-preview .practice-person p.person-role{font-size:13px;line-height:1.6}
 .team-preview .portrait-placeholder:before{inset:13px}
 .team-preview .portrait-status{bottom:23px;font-size:10px}
}

/* Restore the original editorial rhythm; keep colour quiet and typography open. */
.cascade-cards{gap:24px}
.cascade-card.flagship .cascade-card-action{color:#f6ecdc;border-color:#ffffff45}
.brand-strip-inner>*{min-width:0}
.brand-story-link{max-width:100%;overflow-wrap:break-word}
.brand-story-link>span,.button>span,.text-link>span{flex-shrink:0}
.button,.text-link{max-width:100%;overflow-wrap:break-word}
.solutions-help>*,.contact-band>.wrap>*,.partner-band-bottom>*{min-width:0}
.team-feature{background:#eeebe5}
.team-signature{display:flex;align-items:center;gap:17px;margin:28px 0 23px}
.team-signature>img{width:62px;height:76px;object-fit:cover;object-position:center 20%;flex-shrink:0}
.team-signature strong{font:400 24px/1.3 var(--serif);display:block;margin-bottom:6px}
.team-signature>span>span{font-size:13px;color:var(--muted);display:block}
#practice-heads .practice-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 45px}
#practice-heads .practice-person{display:grid;grid-template-columns:145px minmax(0,1fr);gap:24px;border-top:1px solid var(--line);padding-top:26px}
#practice-heads .person-portrait{margin:0}
#practice-heads .practice-person h3{font-size:29px}
#practice-heads .portrait-initials{font-size:56px}
#practice-heads .portrait-placeholder:before{inset:14px}
#practice-heads .portrait-status{bottom:23px;font-size:12px}

/* Partner tabs read as navigation, followed by an open, continuous page. */
.partner-tabs{border:0;border-bottom:1px solid var(--line);flex-wrap:nowrap;overflow-x:auto;gap:24px;scrollbar-width:thin;scroll-padding-inline:5px}
.partner-tabs>button{flex:0 0 auto;max-width:225px;min-width:140px;min-height:68px;padding:17px 0;border:0;border-bottom:2px solid transparent;font-size:14px;background:transparent;color:var(--muted)}
.partner-tabs>button[aria-selected=true]{background:transparent;color:var(--oxford);border-color:var(--gold)}
.partnership-panel{border:0;background:transparent;padding:42px 0 0;min-width:0}
.partnership-panel>*,.partnership-cards>*,.partner-product>*,.partner-result>*{min-width:0}
.partnership-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.partnership-cards p:not(.eyebrow),.partner-flow li>p,.partner-product-detail p{font-size:16px}
.partner-flow{grid-template-columns:repeat(4,minmax(0,1fr))}
.partner-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.6fr);align-items:start;gap:35px;padding:29px 0;margin:10px 0 22px;border-top:1px solid var(--line)}
.partner-result h4{font:400 28px/1.3 var(--serif);margin:0 0 18px}
.partner-result ul{padding-left:20px;margin:0;font-size:16px;line-height:1.8}
.partner-result li+li{margin-top:9px}
.partner-result .text-link{font-size:14px;line-height:1.7;margin-top:5px;align-items:flex-start}
body[data-page=partners] .cooperation-card,body[data-page=partners] .practice-card,body[data-page=partners] .resource-card{background:transparent;border:0;border-top:1px solid var(--line);padding:29px 0}
body[data-page=partners] .resource-card .card-action{margin-top:auto}
body[data-page=partners] .resource-card .text-link{align-self:flex-start}
.partner-product-main>.text-link{display:flex;font-size:14px;line-height:1.7;align-items:flex-start}
.roles-accordion summary>span{font-size:0}
.roles-accordion summary>span:after{content:'+';font-size:22px}
.roles-accordion details[open] summary>span:after{content:'−'}
.partner-contact-side{flex:0 1 360px;display:flex;flex-direction:column;gap:25px}
.partner-contact .person-link{display:grid;grid-template-columns:85px minmax(0,1fr);gap:22px;align-items:center}
.partner-contact .person-portrait{margin:0}
.partner-contact .portrait-initials{font-size:32px;padding-bottom:19px}
.partner-contact .portrait-placeholder:before{inset:8px}
.partner-contact .portrait-status{font-size:12px;bottom:12px;letter-spacing:0}
.partner-contact .practice-person h3{font-size:28px;margin-bottom:9px;color:var(--paper)}
.partner-contact .practice-person p.person-role{font-size:14px;color:var(--bueze);margin:0}
.partner-contact .button{align-self:flex-start}
@media(max-width:1100px){
 #practice-heads .practice-person{grid-template-columns:115px minmax(0,1fr);gap:20px}
 #practice-heads .practice-people{gap:35px 25px}
 #practice-heads .practice-person h3{font-size:26px}
 #practice-heads .portrait-initials{font-size:44px}
 #practice-heads .portrait-status{bottom:18px}
 .partner-tabs{gap:22px}
 .partner-tabs>button{max-width:205px}
 .partner-contact>.wrap{gap:35px}
 .partner-contact-side{flex-basis:315px}
}
@media(max-width:900px){
 #practice-heads .practice-people{grid-template-columns:1fr}
 #practice-heads .practice-person{grid-template-columns:145px minmax(0,1fr);gap:28px}
 #practice-heads .portrait-initials{font-size:56px}
 .partner-result{grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px){
 .cascade-cards{gap:16px}
 .partner-tabs{gap:22px}
 .partner-tabs>button{min-width:140px;max-width:195px;font-size:14px;padding:13px 0;min-height:65px}
 .partnership-panel{padding:30px 0 0}
 .partnership-heading h3{font-size:31px;line-height:1.3}
 .partnership-heading>p:last-child{font-size:16px}
 .partnership-cards{grid-template-columns:1fr;gap:24px}
 .partner-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 22px}
 .partner-flow li>p{font-size:16px}
 .partner-result{padding-block:25px}
 .partner-result h4{font-size:26px}
 .partner-product-main{padding:29px 25px}
 .partner-product-main h3{font-size:clamp(33px,8vw,45px);hyphens:auto;-webkit-hyphens:auto}
 .partner-contact-side{margin-top:28px;gap:24px;max-width:400px}
 .partner-contact .practice-person h3{font-size:26px}
 .brand-story-link{font-size:14px;line-height:1.6;padding:10px 15px}
}
@media(max-width:420px){
 #practice-heads .practice-person{grid-template-columns:100px minmax(0,1fr);gap:18px}
 #practice-heads .practice-person h3{font-size:25px}
 #practice-heads .portrait-initials{font-size:39px;padding-bottom:17px}
 #practice-heads .portrait-placeholder:before{inset:8px}
 #practice-heads .portrait-status{font-size:12px;bottom:14px;letter-spacing:0}
 .partner-flow{grid-template-columns:1fr}
}

/* Правовые документы, перенесённые с you-next.ru: /privacy/, /agreement/, /cookie/ */
.legal-doc{max-width:860px;padding-block:72px 96px;font-size:15px;line-height:1.8;color:var(--ink)}
.legal-doc h2{font-size:clamp(26px,2.4vw,34px);margin:52px 0 20px;letter-spacing:-.02em}
.legal-doc h2:first-child{margin-top:0}
.legal-doc p{margin-bottom:1.15em}
.legal-doc ul{margin:0 0 1.4em;padding-left:22px;list-style:none}
.legal-doc li{position:relative;margin-bottom:.7em}
.legal-doc li:before{content:"";position:absolute;left:-18px;top:.75em;width:7px;height:1px;background:var(--gold)}
.legal-doc a{border-bottom:1px solid var(--gold)}
@media(max-width:760px){
 .legal-doc{padding-block:48px 64px;font-size:14.5px}
 .legal-doc h2{margin:40px 0 16px}
}

/* Подвал на узких экранах.
   Переполнение лечится тем, что в styles.css больше не скрываются <br> в
   слогане: без них «Образование.Взросление.Семейный» склеивалось в одно
   неразрывное слово шириной 396px. Стоявший здесь overflow-wrap:anywhere
   рвал ссылки и почту посреди слова — убран. */

/* Горизонтальная лента карточек в статье журнала. Без min-width:0 грид-колонка
   растягивается под всю несвёрнутую ленту (1845px при экране 360px), и вместо
   прокрутки ломается вся страница. */

/* Новостная строка: без min-width:0 текстовая колонка распирается содержимым
   и выталкивает стрелку за пределы экрана. */

/* Навигация по СМИ: на узких экранах ссылки должны переноситься, а не
   выезжать за край. */
.media-nav{flex-wrap:wrap}

/* Грид-элементы по умолчанию получают min-width:auto и распирают колонку под
   ширину содержимого вместо того, чтобы сжаться. В этой вёрстке ошибка
   повторялась в подвале, в статье журнала, в новостной строке и на главной:
   страница уезжала вправо на 44–1505px. Правило снимает её сразу везде.
   Список собран из всех контейнеров с display:grid в styles.css и revision.css. */
#practice-heads .practice-person>*,
.article-layout>*,
.basis-grid>*,
.biography-timeline article>*,
.brand-strip-inner>*,
.cascade-cards>*,
.cascade-toggle>*,
.case-detail>*,
.case-grid>*,
.casebook-layout>*,
.competency-grid>*,
.cooperation-grid>*,
.council-layout>*,
.entry-ribbon>*,
.event-feature>*,
.footer-top>*,
.founder>*,
.inquiry-dialog>*,
.intro-grid>*,
.invention-hero>*,
.invitation-inner>*,
.journal-home-grid>*,
.journal-stack>*,
.legend-layout>*,
.level-tab>*,
.levels-layout>*,
.method-library>*,
.news-row>*,
.offer-excerpt>*,
.office-case-feature>*,
.office-case-key>*,
.office-tabs>*,
.office-team-grid>*,
.partner-contact .person-link>*,
.partner-flow>*,
.partner-logo-grid>*,
.partner-photo-grid>*,
.partner-product>*,
.partner-result>*,
.partnership-cards>*,
.portrait-placeholder>*,
.practice-grid>*,
.practice-people>*,
.principles>*,
.process-grid>*,
.product-grid>*,
.project-detail-grid>*,
.project-stories>*,
.research-feature>*,
.resource-grid>*,
.scope-list>*,
.solution-cascade>summary>*,
.tailor-grid>*,
.team-feature>*,
.telegram-layout>*,
.two-column>* { min-width: 0 }

/* Мобильная раскладка карточных блоков.
   На узких экранах несколько блоков оставались в одной строке и сжимались до
   нечитаемой ширины. */
@media(max-width:760px){
 /* Правило `.cascade-cards.count-5 .cascade-card:nth-last-child(-n+2){grid-column:span 3}`
    специфичнее мобильного сброса `grid-column:auto`, поэтому две последние
    карточки продолжали занимать по три колонки. Грид достраивал недостающие
    треки и получалось «46px 130px 130px»: три карточки в строке, одна шириной
    46 пикселей. Сбрасываем на полную ширину тем же уровнем специфичности. */
 .cascade-cards.count-5 .cascade-card,
 .cascade-cards.count-5 .cascade-card:nth-last-child(-n+2),
 .cascade-cards.count-5 .cascade-card:last-child{grid-column:1 / -1}
}

@media(max-width:560px){
 /* Две колонки по ~135–156px — это карточка с номером, заголовком и абзацем
    в ширину пары слов. На телефоне такие блоки идут друг под другом. */
 .process-grid,
 .competency-grid,
 .office-team-grid{grid-template-columns:1fr}
}

/* Длинные русские слова в крупных засечных заголовках не помещаются на узких
   экранах и выталкивают страницу вбок («Персональная ответственность» на
   /partners/ при 320px).
   Переносим ТОЛЬКО по слогам, с дефисом. overflow-wrap:break-word здесь
   использовать нельзя: он рвёт слово в произвольном месте и оставляет на
   строке одну букву — так «Образовательный» превращался в «Образовательны»
   и «й». */
@media(max-width:480px){
 h1,h2,h3,.subhero h1{hyphens:auto;-webkit-hyphens:auto}
}

/* ===== Мобильная вёрстка: блоки, которые не перестраивались под узкий экран.
   Найдено аудитом по ширинам 360/390/768. ===== */

@media(max-width:560px){
 /* Карточки команды держали сетку «фото 100px + текст», из-за чего на текст
    оставалось 186px — биография шла по два слова в строку. Фото наверх,
    текст на всю ширину. */
 #practice-heads .practice-person{grid-template-columns:1fr;gap:16px}
 #practice-heads .practice-person>img,
 #practice-heads .practice-person .portrait-placeholder{width:130px;height:auto}

 /* Новостная строка: было «фото 85px + текст 169px + стрелка», заголовок в
    такую колонку не помещался. Фото на всю ширину, под ним дата и заголовок. */
 .news-row.with-photo{grid-template-columns:1fr 18px;gap:12px 14px}
 .news-row.with-photo .news-thumb{grid-column:1/-1;grid-row:1;width:100%;height:180px;object-fit:cover}
 .news-row.with-photo .news-date{grid-column:1/-1;grid-row:2}
 .news-row.with-photo>div:not(.news-date){grid-column:1;grid-row:3}
 .news-row.with-photo .row-arrow{grid-column:2;grid-row:3;align-self:start}

 /* Цифра и подпись рядом зажимали подпись в 120–143px: «диагностических /
    инструментов / в методической / библиотеке на / возраст». Ставим в столбик. */
 .method-library>div,
 .project-metric{flex-direction:column;align-items:flex-start;gap:8px}
 .method-library>div>span,
 .project-metric>span{max-width:none}

 /* Заголовки в узких карточках были крупнее своего бокса и обрезались его
    краем. Уменьшаем кегль до ширины карточки. */
 .reading-scroll>.article-card h3{font-size:26px}
 .sidebar-cards>.article-card.mini h3{font-size:23px}
 .research-cover h2{font-size:46px}
 #project-studies .project-story>h3{font-size:25px}
}

@media(min-width:761px) and (max-width:1100px){
 /* На планшете пять элементов юридической строки не помещались в одну линию
    и ломались внутри себя: «Политика обработки / данных». Разрешаем перенос. */
 .footer-bottom{flex-wrap:wrap;gap:10px 26px;justify-content:flex-start}

 /* Четыре колонки процесса на 768 давали по два слова в строке. */
 .process-grid{grid-template-columns:1fr 1fr}

 /* Заголовок вылезал из карточки ресурса. */
 .resource-card>h3{font-size:27px}
}

/* Горизонтальные таблицы: на телефоне системная полоса прокрутки невидима, и
   пользователь не понимает, что справа есть продолжение. Затенение у правого
   края показывает, что таблица листается. */
@media(max-width:760px){
 .table-scroll{position:relative;background:
   linear-gradient(to right, var(--paper) 30%, rgba(246,243,238,0)) left / 24px 100% no-repeat local,
   linear-gradient(to left, var(--paper) 30%, rgba(246,243,238,0)) right / 24px 100% no-repeat local,
   linear-gradient(to right, rgba(39,43,60,.16), rgba(39,43,60,0)) left / 12px 100% no-repeat scroll,
   linear-gradient(to left, rgba(39,43,60,.16), rgba(39,43,60,0)) right / 12px 100% no-repeat scroll;
   -webkit-overflow-scrolling:touch}
}

@media(max-width:760px){
 /* Крестик закрытия был прижат к началу содержимого, а диалог на телефоне
    прокручивается на 1000+px: долистав до кнопки отправки, пользователь
    терял способ закрыть окно. Фиксируем его в углу экрана. */
 .inquiry-dialog .dialog-close{position:fixed;top:calc(env(safe-area-inset-top,0px) + 22px);right:22px;z-index:5}

 /* 10px в юридической строке — самый мелкий текст на сайте, на телефоне
    нечитаемо. */
 .footer-bottom{font-size:12px}
 .footer-bottom a{padding-block:4px}
}

/* ===== Журнал: боковая колонка и полосы прокрутки ===== */

/* Было два вложенных скролла: max-height + overflow-y у самой .article-sidebar
   и ещё один, со своим max-height:70vh, у .sidebar-cards внутри неё. Из-за
   этого в колонке висели две полосы прокрутки сразу, а нижняя карточка
   обрезалась по границе контейнера — ровно на строке «N минут».
   Убираем оба: колонка просто едет вместе со страницей, все карточки целые.
   Липкое позиционирование здесь всё равно не работало как задумано — колонка
   выше экрана, и в залипшем состоянии её низ был недостижим. */
@media(min-width:761px){
 .article-sidebar{position:static;max-height:none;overflow:visible}
 .article-sidebar .sidebar-cards{max-height:none;overflow:visible;overscroll-behavior:auto;padding:0}
}

/* Заголовок карточки в узкой колонке вылезал за её край и наезжал на строку
   со временем чтения. Переносим по слогам и чуть уменьшаем кегль. */
.sidebar-cards .article-card.mini h3,
.reading-scroll>.article-card h3{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:normal}
@media(min-width:1181px){.sidebar-cards .article-card.mini h3{font-size:23px;line-height:1.22}}
@media(min-width:761px) and (max-width:1180px){.sidebar-cards .article-card.mini h3{font-size:21px;line-height:1.22}}

/* Строка со временем чтения не должна схлопываться или налезать на заголовок. */
.article-card.mini .card-bottom{flex-shrink:0;margin-top:auto}
.article-card.mini h3{margin-bottom:18px}

/* Полосы прокрутки у горизонтальных лент не показываем: это элементы
   оформления, а не окна с прокруткой, и системная полоса под ними выглядит
   как дефект. Прокрутка сохраняется — пальцем, колесом и с клавиатуры.
   Что лента листается, видно по выглядывающей следующей карточке, а у таблиц
   по затенению у края. */
.sidebar-cards,.reading-scroll,.archive-scroll,.partner-photo-grid,
.age-tabs,.partner-tabs,.subnav,.media-nav,.table-scroll{
 scrollbar-width:none;-ms-overflow-style:none}
.sidebar-cards::-webkit-scrollbar,.reading-scroll::-webkit-scrollbar,
.archive-scroll::-webkit-scrollbar,.partner-photo-grid::-webkit-scrollbar,
.age-tabs::-webkit-scrollbar,.partner-tabs::-webkit-scrollbar,
.subnav::-webkit-scrollbar,.media-nav::-webkit-scrollbar,
.table-scroll::-webkit-scrollbar{width:0;height:0;display:none}

/* ===== Главная: вводный текст и кнопки в герое ===== */

/* Вводный абзац разбит на два — между ними нужен воздух. Мобильное правило
   в styles.css обнуляет margin-bottom у этих абзацев, поэтому задаём отступ
   у второго, а не у первого: так он не зависит от порядка правил. */
.hero-content>p:not(.eyebrow)+p:not(.eyebrow){margin-top:15px}
@media(max-width:760px){.hero-content>p:not(.eyebrow)+p:not(.eyebrow){margin-top:12px}}

/* «Знакомство с офисом» переехало из нижней строки героя к кнопке и
   «Услугам UNEXT». В строке стало три элемента, поэтому разрешаем перенос
   на любой ширине: между 760 и 1100px переноса не было и они бы сжались. */
.hero-actions{flex-wrap:wrap;row-gap:16px}

/* В нижней строке героя остался один элемент: space-between больше не нужен. */
.hero-bottom{justify-content:flex-start}

/* ===== Фирменные формы в углах блоков с заливкой =====
   Формы взяты из брендбука (/assets/icons, раздел «Контейнеры»).

   Первая попытка была неудачной: форма крепилась к колонке с кнопкой и
   наезжала на неё. Здесь она крепится к самому блоку и прижата к его углу,
   а содержимое лежит слоем выше — наехать на текст или кнопку физически
   не может. У блока overflow:hidden, поэтому форма не вылезает наружу.

   Размер небольшой и прозрачность низкая: форма должна читаться как текстура
   на заливке, а не как картинка. Углы и формы у блоков разные — иначе приём
   превращается в повторяющийся штамп. */

.has-mark{position:relative;overflow:hidden;isolation:isolate}

.block-mark{
 position:absolute;
 width:clamp(52px,5vw,84px);
 height:auto;
 z-index:0;
 pointer-events:none;
 /* Отступ внутрь, а не за край: при отрицательном смещении форму срезало
    границей блока и от широких вроде banner оставалась полоска. */
 --mark-offset:22px;
}
.mark-tr{top:var(--mark-offset);right:var(--mark-offset)}
.mark-br{bottom:var(--mark-offset);right:var(--mark-offset)}
.mark-bl{bottom:var(--mark-offset);left:var(--mark-offset)}
.mark-tl{top:var(--mark-offset);left:var(--mark-offset)}

/* Содержимое поднимаем над маркой. Перечисляем блоки прямо, а не через
   универсальный селектор: в герое и других блоках есть свои слои. */
.invitation>.wrap,
.partner-band>.wrap,
.contact-band>.wrap,
.process-section>.wrap,
.brand-strip>.wrap{position:relative;z-index:1}

/* Цвет и прозрачность — под фон блока. На тёмных заливках работает золото,
   на светлых — тёплый коричневый; иначе форма либо исчезает, либо лезет в глаза. */
.invitation .block-mark{color:#8c6f4e;opacity:.13}
.partner-band .block-mark{color:var(--gold);opacity:.16}
.contact-band .block-mark{color:var(--gold);opacity:.14}
.process-section .block-mark{color:var(--gold);opacity:.12}
.brand-strip .block-mark{color:var(--gold);opacity:.14}

@media(max-width:760px){
 /* На телефоне блоки узкие: форма должна стать заметно мельче, иначе
    начинает конкурировать с текстом. */
 .block-mark{width:clamp(40px,11vw,58px);--mark-offset:14px}
}

/* ===== Угол наклона фирменных форм =====
   Формы одинаково ориентированы выглядят как повторяющийся штамп. Наклон
   разный у каждого блока и небольшой: форма должна казаться положенной от
   руки, а не съехавшей. */
.block-mark{transform:rotate(var(--mark-turn,0deg));transform-origin:center}
.brand-strip .block-mark{--mark-turn:-13deg}
.process-section .block-mark{--mark-turn:9deg}
.partner-band .block-mark{--mark-turn:-7deg}
.invitation .block-mark{--mark-turn:16deg}
.contact-band .block-mark{--mark-turn:-18deg}
.partner-contact .block-mark{--mark-turn:11deg}

/* ===== Бургунди как акцент =====
   По брендбуку #5B2029 — «акцент, выделения, срочные CTA». На сайте он был
   только на карточках, а в крупных заливках отсутствовал: их занял oxford,
   которому брендбук отводит роль поддерживающего цвета. */

/* Приглашение на завтрак — самый «срочный» призыв на сайте: личная встреча,
   список формируется. Блок был бледно-бежевым и проваливался между двумя
   светлыми секциями. */
.invitation{background:var(--burgundy);color:var(--paper)}
.invitation .eyebrow{color:var(--gold)}
.invitation h2,
.invitation p:not(.eyebrow){color:var(--paper)}
.invitation .event-status{color:#e3cfc6;border-top-color:#ffffff33}
/* Тёмная кнопка на бордовом почти не видна — на этом фоне работает золото. */
.invitation .button.dark-button{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.invitation .button.dark-button:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.invitation .text-link{color:var(--paper)}
.invitation .block-mark{color:var(--gold);opacity:.15}

/* Билет на встречу — то же назначение, что у блока приглашения. */
.event-ticket{background:var(--burgundy);color:var(--paper)}
.event-ticket .eyebrow{color:var(--gold)}
.event-ticket h2,
.event-ticket p:not(.eyebrow){color:var(--paper)}
.event-ticket .ticket-line{border-top-color:#ffffff40}
/* В билете тот же .event-status, что в блоке приглашения: без этого он
   остался бы тёмно-коричневым на бордовом. */
.event-ticket .event-status{color:#e3cfc6;border-top-color:#ffffff33}

/* Наведение на главную кнопку. Было: золото меняется на ещё более светлый
   bueze — состояние покоя и наведения почти не различались. */
.button:hover{background:var(--burgundy);border-color:var(--burgundy);color:var(--paper)}
.button:focus-visible{background:var(--burgundy);border-color:var(--burgundy);color:var(--paper)}
/* Тёмные кнопки на светлых блоках тоже уходят в акцент. */
.dark-button:hover{background:var(--burgundy);border-color:var(--burgundy);color:var(--paper)}

/* Активный фильтр был того же цвета, что фоны секций. Акцент здесь уместнее
   по определению: он показывает выбор пользователя. */
.filter.active,
.filter[aria-pressed="true"]{background:var(--burgundy);color:var(--paper);border-color:var(--burgundy)}
.filter:hover{border-color:var(--burgundy);color:var(--burgundy);background:transparent}
.filter.active:hover,
.filter[aria-pressed="true"]:hover{background:var(--burgundy);color:var(--paper)}

/* ===== Нижняя строка героя =====
   Кегль выровнен с вводным абзацем: было 12px против 17px, строка читалась
   как сноска, хотя несёт три главных утверждения о работе офиса.
   Значения повторяют .hero-content>p — при правке менять оба места.
   Точки в конце фраз заменены на разделители: три предложения из двух слов
   выглядели как обрывки, а не как перечисление. */
.hero-claims{margin:0;font-size:17px;line-height:1.8;color:#fff}
.hero-claims>span{color:var(--gold);margin-inline:14px}
@media(max-width:1100px){.hero-claims{font-size:16px}}
@media(max-width:760px){
 .hero-claims{font-size:16px;line-height:1.7}
 .hero-claims>span{margin-inline:10px}
}

/* ===== Партнёрам: дубль разделительной линии =====
   У .roles-accordion details стоит border-block — рамка и сверху, и снизу.
   Следующий блок .partner-result рисует свою рамку сверху. Между ними
   35px отступов, и снизу аккордеона получались две линии подряд.
   Нижнюю убираем: линию перед «Что фиксируем на старте» рисует сам блок. */
.roles-accordion details{border-bottom:0}
