/* Approved layout: preserve composition without fixed-height cropping on wide screens. */
body.layout27 main .hero-visual21{height:auto;aspect-ratio:3/2;align-self:center}
body.layout27 main .hero-visual21>img{width:100%;height:100%;object-fit:cover;object-position:center}
body.layout27 main .visual-card21 figure{aspect-ratio:3/2}
body.layout27 main .visual-card21 figure img{width:100%;height:100%;object-fit:cover;object-position:center}
body.layout27 main .grade-hero15>figure{height:auto;aspect-ratio:3/2;align-self:center;overflow:hidden}
body.layout27 main .grade-hero15>figure img{width:100%;height:100%;object-fit:cover;object-position:center}
body.layout27 main .grade-hero15>figure figcaption{display:none}
body.layout27 main .grade-main15{grid-template-columns:minmax(0,1fr)}
body.layout27 main .grade-information15{max-width:1100px}
body.layout27 main .grade-main15>aside:empty{display:none}
@media(max-width:760px){body.layout27 main .hero-visual21,body.layout27 main .grade-hero15>figure{width:100%;min-height:0;aspect-ratio:3/2}}

/* Homepage review: clearer branding and compact, consistent controls. */
body.layout27 header .logo{width:280px;min-width:0;max-width:none;flex:0 0 auto}
body.layout27 header .logo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
body.layout27 header .language-switch{gap:10px}
body.layout27 header :is(.language-switch button,.locale-links a){font-size:1rem;line-height:1.4;font-weight:500;min-height:44px;min-width:32px;display:inline-flex;align-items:center;justify-content:center}
body.layout27 .flow-scroll-note,body.layout27 .pure-material-card .pure-card-top{display:none}

/* The same vector is mirrored for both directions, independent of the font. */
body.layout27 main :is(.pure-arrow,.logo-controls20 button){width:44px;height:44px;min-width:44px;flex:0 0 44px;position:relative;display:grid;place-items:center;padding:0;line-height:1}
body.layout27 main :is([data-material-dir],[data-industry-dir],[data-logo-direction]){font-size:0!important}
body.layout27 main :is([data-material-dir],[data-industry-dir],[data-logo-direction])::before{content:"";position:absolute;inset:0;margin:auto;display:block;width:22px;height:22px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
body.layout27 main :is([data-material-dir="-1"],[data-industry-dir="-1"],[data-logo-direction="-1"])::before{transform:rotate(180deg)}

/* Lock logo artwork inside its frame; intrinsic SVG height must not crop. */
body.layout27 main .logo-set20 a{height:112px;padding:12px;box-sizing:border-box}
body.layout27 main .logo-set20 a img{width:100%;height:100%;max-width:100%;max-height:100%;min-height:0;aspect-ratio:auto;object-fit:contain;object-position:center}

/* Keep equal card frames while letting every heading use its natural height. */
body.layout27 main .news-card30 .news-copy30{gap:14px}
body.layout27 main .news-card30 .news-copy30 h3{height:auto;min-height:0;min-block-size:0;margin:0!important}
body.layout27 .mobile-groups27 details>div{padding-block:0}
body.layout27 .mobile-groups27 details>div:last-child{padding-bottom:12px}
@media(max-width:1100px){body.layout27 header .logo{width:250px}}
@media(max-width:700px){
 body.layout27 header .bar .logo,body.layout27 header.site-header .logo{width:190px;max-width:none;min-width:0;flex:0 0 auto}
 body.layout27 main .logo-set20 a{height:96px;padding:12px}
 body.layout27 .menu-locales27 a{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}
 body.layout27 main .wide-heading14{flex-wrap:wrap;gap:16px;align-items:flex-start}
}
@media(max-width:400px){body.layout27 header .bar .logo,body.layout27 header.site-header .logo{width:170px}}
@media(max-width:360px){body.layout27 header .bar .logo,body.layout27 header.site-header .logo{width:150px}}
@media(max-width:340px){body.layout27 header .bar .logo,body.layout27 header.site-header .logo{width:132px}}
