/* One visual rhythm across the two languages and the different page families. */
@media print {
  .practice-topic::details-content,.practice-directory::details-content { content-visibility:visible!important;display:block!important; }
}
@media screen {
  body.premium-page .label { font-size:12px;line-height:1.6;font-weight:600;letter-spacing:.08em;opacity:1; }
  html[lang="el"] body.premium-page .label { letter-spacing:.045em; }
  body.premium-page .btn { font-size:12px;font-weight:600;letter-spacing:.035em;min-height:50px;line-height:1.5; }
  body.premium-page :is(.btn,summary,a,input,select,textarea):focus-visible { outline:2px solid #8c4f30;outline-offset:4px; }
  body.premium-page .masthead { padding-top:56px;padding-bottom:56px; }
  body.premium-page .masthead > .mmeta { display:none; }
  body.premium-page .masthead h1 { text-wrap:balance; }
  body.premium-page .masthead .stand { color:#dedbd8; }
  body.premium-page .sub-nav { margin-top:32px;gap:8px 24px;padding-top:20px;border-top:1px solid #383633; }
  body.premium-page .sub-nav a { min-height:36px;font-size:13px;letter-spacing:0; }
  body.premium-page .sumlab { font-size:12px;letter-spacing:.055em;font-weight:600; }
  /* Standalone enquiry and related-page notes follow their section width. */
  body.premium-page .sheet .contactbox:not(.service-inline-enquiry) { max-width:none;width:100%;box-sizing:border-box;padding:28px 32px; }
  body.premium-page .sheet .contactbox:not(.service-inline-enquiry) p { max-width:none;font-size:16px;line-height:1.85;overflow-wrap:anywhere; }
  body.premium-page .sheet .rel { max-width:none;width:100%;line-height:1.85; }
  @media(max-width:600px) {
    body.premium-page .sheet .contactbox:not(.service-inline-enquiry) { padding:22px 20px; }
  }
  body.premium-page .invite .two { align-items:center;column-gap:72px; }
  body.premium-page .invite .two > div:last-child > p { max-width:46ch; }
  body.premium-page .invite .two .btn { margin-top:22px; }
  body.premium-page footer .fgrid { gap:48px; }
  body.premium-page footer .fgrid > div { min-width:0; }
  body.premium-page footer :is(p,li,address) { line-height:1.8; }
  body.premium-page footer .fbar { margin-top:8px;padding-top:28px; }

  /* A decision first: concise scope, a named route in, then optional depth. */
  body.service-page main { padding-top:48px!important; }
  body.service-page .two { column-gap:72px; }
  body.service-page .two > div:first-child > .big { font-size:clamp(27px,2.35vw,36px);line-height:1.4;max-width:24ch; }
  body.service-page .two > div:last-child > p { line-height:1.85; }
  body.service-page .sheet .contactbox.service-inline-enquiry { max-width:none;margin:28px 0 0;padding:24px 0 0;border:0;border-top:1px solid #ddd9d5;background:transparent;box-shadow:none; }
  body.service-page .service-inline-enquiry p { font-size:15px;line-height:1.85; }
  body.service-page .service-overview { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px 80px;padding:48px 0!important;border-top:1px solid #ddd9d5; }
  body.service-page .service-overview h2 { font-size:clamp(28px,2.6vw,38px);line-height:1.4;max-width:23ch;margin:0 0 28px; }
  body.service-page .service-overview .btn { display:inline-flex;align-items:center;justify-content:center;background:#8c4f30;border:1px solid #8c4f30;color:#fff;text-decoration:none;padding:14px 20px; }
  body.service-page .service-assurance { font-size:13px;line-height:1.7;margin:12px 0 0;color:#5b5550; }
  body.service-page .service-overview-copy .sumlab { margin:0 0 12px; }
  body.service-page .service-overview-copy .checklist { padding:0;list-style:none;margin:0; }
  body.service-page .service-overview-copy .checklist li { font-size:17px;line-height:1.8;padding:16px 0;border-bottom:1px solid #e4e0dc;margin:0; }
  body.service-page .service-overview-copy .checklist li::before { display:none; }
  body.service-page .service-overview-copy .checklist li:first-child { padding-top:0; }
  body.service-page .service-overview-copy .checklist li:last-child { border-bottom:0; }
  body.service-page .service-scope { grid-column:1/-1;border:0;margin:0; }
  body.service-page .service-scope > summary { font:500 15px/1.7 var(--sans,Inter,Arial,sans-serif);padding:20px 36px 20px 0;cursor:pointer;position:relative;list-style:none; }
  body.service-page .service-scope > summary::-webkit-details-marker { display:none; }
  body.service-page .service-scope > summary::after { content:'+';position:absolute;right:4px;top:18px;color:#744425;font-size:20px; }
  body.service-page .service-scope[open] > summary::after { content:'\2212'; }
  body.service-page .service-scope > div { max-width:76ch;margin:0 auto;padding:20px 0 36px; }
  body.service-page .service-scope :is(p,li) { font-size:16px;line-height:1.85; }
  body.service-page .service-people { padding:32px 0 48px!important;border-bottom:1px solid #ddd9d5;margin-bottom:40px; }
  body.service-page .service-people > .stand { font-size:15px;line-height:1.8; }
  body.service-page .service-people .leads { gap:40px; }
  body.service-page .service-people .lead { border:0;padding:0; }
  body.service-page .route .step { padding-top:18px;padding-bottom:18px; }
  body.service-page .route .step p { font-size:15px;line-height:1.75; }
  body.service-page .route-phases .step > div { min-width:0; }
  body.service-page .route-phases .step p { margin:0 0 8px; }
  body.service-page .route-phases .step p:last-child { margin-bottom:0; }
  body.service-page .reading .art { padding-top:24px;padding-bottom:24px; }
  body.service-page .reading .art .h4 { font-size:21px;line-height:1.45; }
  body.service-page .jumps { gap:8px 24px; }
  body.service-page .jumps a { border:0;border-radius:0;padding:8px 0;font-size:14px;line-height:1.7;text-decoration:underline;text-underline-offset:4px; }
  body.service-page .jumps a::before { display:none; }

  /* Whole practice pages: selection, people and process precede the detail. */
  body.practice-composition main { padding-top:0!important; }
  body.practice-composition :is(.practice-section,.practice-start,.practice-process,.practice-resources) { padding:48px 0!important;margin:0;border-top:1px solid #ddd9d5; }
  body.practice-composition .service-people { padding:40px 0!important;margin:0;border:0;border-top:1px solid #ddd9d5; }
  body.practice-composition .service-overview { border-top:0;padding:40px 0!important; }
  body.practice-composition .two { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start; }
  body.practice-composition .two > div:first-child > .label { margin:0 0 20px; }
  body.practice-composition .two > div:first-child > :is(.big,.mid) { font-size:30px;line-height:1.4;max-width:25ch;margin-top:0; }
  body.practice-composition .two > div:last-child > :is(p,ul,ol) { font-size:16px;line-height:1.85; }
  body.practice-composition .two > div:last-child > p:first-child { margin-top:0; }
  body.practice-composition .practice-start .reading { gap:0 32px;border-top:0; }
  body.practice-composition .practice-start + .service-people { border-top:0; }
  body.practice-composition .practice-start .art { padding:20px 0; }
  body.practice-composition .practice-start .art .d { font-size:14px;line-height:1.75; }
  body.practice-composition .jumps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 28px;padding:28px 0;margin:0;border-top:1px solid #ddd9d5; }
  body.practice-composition .jumps > span { grid-column:1/-1;margin-bottom:6px; }
  body.practice-composition .jumps a { font-size:13px;line-height:1.7;padding:6px 0; }
  body.practice-composition .practice-topic { margin:0;border:0;border-bottom:1px solid #ddd9d5; }
  body.practice-composition .practice-topic:first-child { border-top:0; }
  body.practice-composition .practice-topic:last-of-type { border-bottom:0; }
  body.practice-composition .practice-topic > summary { position:relative;display:block;list-style:none;cursor:pointer;padding:20px 34px 20px 0; }
  body.practice-composition .practice-topic > summary::-webkit-details-marker { display:none; }
  body.practice-composition .practice-topic > summary h3 { margin:0;font:400 20px/1.5 var(--serif,Literata,Georgia,serif);letter-spacing:0; }
  body.practice-composition .practice-topic > summary::after { content:'+';position:absolute;right:2px;top:20px;color:#744425;font:400 20px/1.5 var(--sans,Inter,Arial,sans-serif); }
  body.practice-composition .practice-topic[open] > summary::after { content:'\2212'; }
  body.practice-composition .practice-topic > div { padding:0 0 24px; }
  body.practice-composition .practice-topic > div :is(p,li) { font-size:16px;line-height:1.85; }
  body.practice-composition .practice-topic > div > :last-child { margin-bottom:0; }
  body.practice-composition .practice-topic > summary:hover h3 { color:#744425; }
  body.practice-composition .resource-group { margin:0;border:0;border-bottom:1px solid #ddd9d5; }
  body.practice-composition .resource-group:last-of-type { border-bottom:0; }
  body.practice-composition .resource-group > summary { padding:18px 32px 18px 0; }
  body.practice-composition .resource-group > summary h3 { font:500 16px/1.7 var(--sans,Inter,Arial,sans-serif);margin:0;letter-spacing:0; }
  body.practice-composition .resource-group > summary::after { top:18px; }
  body.practice-composition .practice-resources .label { margin:0 0 20px; }
  body.practice-composition .practice-section > .reading { gap:0 32px; }
  body.practice-composition .practice-section > .reading .art { padding:20px 0; }
  body.practice-composition .practice-section > .reading .art .d { font-size:14px;line-height:1.75; }
  body.practice-composition .practice-directory { border:0;margin:0; }
  body.practice-composition .practice-directory > summary { padding:0 32px 0 0; }
  body.practice-composition .practice-directory > summary .label { font:400 23px/1.5 var(--serif,Literata,Georgia,serif);letter-spacing:0;text-transform:none;margin:0; }
  body.practice-composition .practice-directory > summary .label i { display:none; }
  body.practice-composition .practice-directory > summary::after { top:2px; }
  body.practice-composition .practice-directory > div { padding-top:24px; }
  body.practice-composition .practice-directory .reading { gap:0 32px; }
  body.practice-composition .practice-directory .art .d { font-size:14px;line-height:1.75; }
  /* A section boundary owns the divider; its first/last row need no frame. */
  body.practice-composition .practice-process .route { border-top:0; }
  body.practice-composition .practice-process .route .step:last-child { border-bottom:0; }
  body.premium-page .reading-faq-rows details:first-child { border-top:0; }
  body.premium-page .reading-faq-rows details:last-child { border-bottom:0; }
  body.premium-page .support-reading .reading { border-top:0; }

  /* The form takes priority over explanatory copy. The optional fields remain
     native controls, including telephone-only enquiries without JavaScript. */
  body.contact-page .masthead { padding-top:40px;padding-bottom:40px; }
  body.contact-page .contact-layout { gap:80px;align-items:start; }
  body.contact-page .contact-intro { margin-bottom:24px; }
  body.contact-page .contact-intro h2 { font-size:26px; }
  body.contact-page .contact-intro p { display:none; }
  body.contact-page #form > .row { display:block; }
  body.contact-page #form .field { margin-bottom:20px; }
  body.contact-page #form label { font-size:14px;font-weight:500;line-height:1.6;margin-bottom:8px; }
  body.contact-page #form label { text-transform:none;letter-spacing:0; }
  body.contact-page #form :is(input,select,textarea) { font-size:16px;border-radius:0;background:#fff;border-color:#aaa49e; }
  body.contact-page #form input,body.contact-page #form select { min-height:50px; }
  body.contact-page #form textarea { min-height:136px;height:136px; }
  body.contact-page #form .help { font-size:12px;line-height:1.7;margin-top:6px; }
  body.contact-page .contact-options { border-top:1px solid #dedad6;border-bottom:1px solid #dedad6;margin:4px 0 24px; }
  body.contact-page .contact-options > summary { font:500 14px/1.6 var(--sans,Inter,Arial,sans-serif);padding:16px 28px 16px 0;cursor:pointer; }
  body.contact-page .contact-options > div { padding-top:12px; }
  body.contact-page .contact-details { padding-top:24px; }
  body.contact-page .contact-details h2 { font-size:30px;line-height:1.4;margin-bottom:12px; }
  body.contact-page .contact-details .contact-fact { padding:16px 0; }
  body.contact-page .contact-details dd { font-size:15px;line-height:1.8; }
  body.contact-page #form > .legal { font-size:12px;line-height:1.75;max-width:70ch; }

  /* Calculators open on the task, without the unrelated practice menu. */
  body.calculator-journey-page .masthead { padding-top:36px;padding-bottom:36px; }
  body.calculator-journey-page .masthead h1 { font-size:clamp(30px,3.1vw,44px);line-height:1.3; }
  body.calculator-journey-page .masthead .stand { font-size:16px;line-height:1.75; }
  body.calculator-journey-page main.calculator-page .calc-tool { padding-top:28px!important; }
  body.calculator-journey-page .calc-workspace { gap:56px; }
  body.calculator-journey-page .calc-heading { font-size:25px;line-height:1.4; }
  body.calculator-journey-page .calc-intro { font-size:14px;line-height:1.8;margin-bottom:22px; }
  body.calculator-journey-page .calc-result-column { border-left:1px solid #dedad6;padding-left:40px; }
  body.calculator-journey-page .calc-placeholder { background:#fff;border:0;border-top:2px solid #8c4f30;padding:24px 0; }
  body.calculator-journey-page #calculator-result { border:0;border-top:2px solid #8c4f30;padding:24px 0;background:#fff; }
  body.calculator-journey-page .kr { background:#fff;border:0;border-top:1px solid #dedad6;padding:24px 0 0;margin-top:24px; }
  body.calculator-journey-page .calc-support { margin-top:40px; }

  /* Selected guides introduce the library. Filters stay accessible without
     occupying an entire screen before the first article. */
  body.news-page .featured-guides { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin:0;padding:32px 0 20px;border:0; }
  body.news-page .featured-guides > span { grid-column:1/-1;font-size:12px;letter-spacing:.06em;font-weight:600;margin:0 0 14px; }
  body.news-page .featured-guides > a { display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 0;min-height:48px;font-family:var(--serif,Literata,Georgia,serif);font-size:23px;line-height:1.4;border:0;text-decoration:none; }
  body.news-page .featured-guides > a:hover { text-decoration:underline;text-underline-offset:5px; }
  body.news-page .featured-guides > a > span { font-family:var(--sans,Inter,Arial,sans-serif);font-size:17px;color:#744425; }
  body.news-page .tools,body.news-page .sheet:has(#list > .year) .tools { position:static;padding:12px 0 24px;background:#fff;border:0; }
  body.news-page .tools + main { padding-top:8px!important; }
  body.news-page .news-filters + .elgrp > .reading { border-top:0; }
  body.news-page .tools > .row { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 32px;align-items:start; }
  body.news-page .tools > .row > .search { grid-column:auto;min-width:0; }
  body.news-page .tools .count { margin-left:0; }
  body.news-page .news-filters { min-width:0;margin:0;border:0; }
  body.news-page .news-filters > summary { cursor:pointer;font:500 14px/1.6 var(--sans,Inter,Arial,sans-serif);padding:14px 0;min-height:50px; }
  body.news-page .filter-state { font-size:12px;font-weight:400;color:#615a54; }
  body.news-page .news-filters[open] { grid-column:1/-1; }
  body.news-page .news-filters > div { padding:8px 0 20px; }
  body.news-page .news-filters .pills { margin:0 0 12px;gap:8px; }
  body.news-page .news-filters #langpills { padding-left:0!important;border-left:0!important; }
  body.news-page #ola { margin:0; }
  body.news-page #elq { min-height:50px;font-size:16px!important; }
  body.news-page .elfind { margin-top:12px!important; }
  body.news-page .post { padding-top:26px;padding-bottom:26px; }
  body.news-page .post h3 { max-width:42ch;line-height:1.45;font-size:25px; }
  body.news-page .post p { max-width:74ch;font-size:15px;line-height:1.8; }
  body.news-page .elgrp .reading { grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px; }
  body.news-page .elgrp .art { padding:24px 0; }
  body.news-page .elgrp .art .h4 { font-size:24px;line-height:1.45; }

  body.publication-page .masthead h1 { max-width:29ch;font-size:clamp(32px,3.3vw,48px);line-height:1.3;letter-spacing:-.025em; }
  body.publication-page .byline { max-width:80ch;line-height:1.9;row-gap:8px;margin-top:24px; }
  body.publication-page .article-copy { min-width:0; }
  body.publication-page .article-copy > :is(p,ul,ol) { font-size:17px;line-height:1.9; }
  body.publication-page .article-copy > h2 { text-wrap:balance; }
  body.publication-page .article-layout > .quick { border:0;border-top:2px solid #8c4f30;background:#fff;padding:26px 0;margin-top:0; }
  body.publication-page .article-layout > .quick p { font-size:16px;line-height:1.9; }
  body.publication-page .contents-menu a { line-height:1.75;font-size:13px; }
  body.partners-page .bio-details { margin-top:28px; }
  body.partners-page .team-detail { margin-top:28px; }
  body.partners-page .team-profiles .bio > h2 { font-size:30px;line-height:1.4; }
  body.partners-page .team-profiles .bio > .lead { font-size:16px;line-height:1.85; }
  body.partners-page .team-profiles .portrait { position:static; }
  body.partners-page main > section + section { padding-top:56px; }
}
@media screen and (min-width:1734px) {
  body.premium-page .k-b { writing-mode:horizontal-tb;transform:none;top:auto;bottom:24px;right:24px;padding:14px 18px;width:auto;height:auto;white-space:nowrap;border-radius:0;box-shadow:none;border:1px solid #8c4f30;font-size:12px;letter-spacing:.035em; }
  body.premium-page .k-b[data-away="1"] { transform:translateY(calc(100% + 30px)); }
}
/* The sticky header already offers the enquiry action. Keep the auxiliary
   widget out of the reading column when there is no outside margin for it. */
@media screen and (min-width:1024px) and (max-width:1733px) {
  body.premium-page .k-b { display:none; }
}
@media screen and (max-width:900px) {
  body.practice-composition .two { grid-template-columns:minmax(0,1fr);gap:24px; }
  body.practice-composition :is(.practice-section,.practice-start,.practice-process,.practice-resources) { padding:32px 0!important; }
  body.practice-composition .two > div:first-child > :is(.big,.mid) { font-size:27px;max-width:30ch; }
  body.practice-composition .jumps { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px; }
  body.premium-page .masthead { padding-top:36px;padding-bottom:36px; }
  body.service-page .service-overview { grid-template-columns:minmax(0,1fr);gap:28px;padding:32px 0!important; }
  body.service-page .service-overview h2 { max-width:28ch;margin-bottom:22px; }
  body.service-page .service-overview-copy .checklist li { font-size:16px; }
  body.service-page .service-scope { grid-column:auto; }
  body.contact-page .contact-layout { gap:40px; }
  body.calculator-journey-page .calc-result-column { border-left:0;padding-left:0; }
  body.news-page .featured-guides { gap:0 22px; }
  body.news-page .featured-guides > a { font-size:20px; }
  body.premium-page .invite .two { gap:28px; }
}
@media screen and (max-width:600px) {
  body.practice-composition .practice-topic > summary h3 { font-size:19px; }
  body.practice-composition .practice-start .reading { grid-template-columns:minmax(0,1fr); }
  body.practice-composition .service-people { padding:32px 0!important; }
  body.premium-page .masthead { padding-top:28px;padding-bottom:32px; }
  body.premium-page .masthead h1 { font-size:34px;line-height:1.3; }
  body.premium-page .masthead .stand { font-size:16px;line-height:1.75;margin-top:18px; }
  body.premium-page .sub-nav { margin-top:24px; }
  body.premium-page footer .fgrid { gap:28px; }
  body.premium-page footer .fgrid > div + div { padding-top:24px; }
  body.premium-page .invite .two > div:last-child { padding-top:0;border-top:0; }
  body.premium-page .invite .two .btn { margin-top:4px; }
  body.service-page main { padding-top:28px!important; }
  body.service-page .service-overview .btn { width:100%; }
  body.service-page .service-people .leads { gap:28px; }
  body.service-page .service-people { margin-bottom:28px;padding-bottom:32px!important; }
  body.service-page .service-scope > div { padding-top:8px; }
  body.contact-page .masthead { padding-top:24px;padding-bottom:24px; }
  body.contact-page .masthead h1 { font-size:30px; }
  body.contact-page .masthead .stand { font-size:14px;line-height:1.7;margin-top:14px; }
  body.contact-page .contact-intro { margin-bottom:20px; }
  body.contact-page .contact-intro h2 { font-size:23px; }
  body.contact-page #form .field { margin-bottom:18px; }
  body.contact-page #form > button[type="submit"] { width:100%; }
  body.calculator-journey-page .masthead { padding-top:24px;padding-bottom:24px; }
  body.calculator-journey-page .masthead h1 { font-size:29px; }
  body.calculator-journey-page .masthead .stand { font-size:14px;line-height:1.7;margin-top:14px; }
  body.calculator-journey-page .calc-steps { margin-bottom:22px;gap:12px;font-size:11px; }
  body.calculator-journey-page .calc-heading { font-size:23px; }
  body.calculator-journey-page .calc-intro { margin-bottom:18px; }
  body.news-page .featured-guides { grid-template-columns:minmax(0,1fr);padding:24px 0; }
  body.news-page .featured-guides > span { margin-bottom:8px; }
  body.news-page .featured-guides > a { font-size:20px;padding:12px 0;border:0; }
  body.news-page .featured-guides > a:last-child { border:0; }
  body.news-page .tools > .row { grid-template-columns:minmax(0,1fr);gap:4px; }
  body.news-page .tools { padding-top:24px; }
  body.news-page .news-filters > summary { padding:12px 0; }
  body.news-page .post h3 { font-size:23px; }
  body.news-page .elgrp .reading { grid-template-columns:minmax(0,1fr); }
  body.publication-page .masthead h1 { font-size:31px;line-height:1.35;letter-spacing:-.015em; }
  body.publication-page .byline { font-size:12px; }
  body.publication-page .article-copy > :is(p,ul,ol) { font-size:16px;line-height:1.85; }
  body.publication-page .article-layout > .quick { padding:22px 0; }
  body.publication-page .article-layout > .quick p { font-size:15px; }
}
