/* The same visual language continues through every public template. */
.page-header-framed {
  margin-block: 24px 0; padding: 42px 50px; min-height: 320px;
  grid-template-columns: minmax(0, 1.5fr) minmax(230px, .65fr); gap: 55px;
  border: 1px solid var(--line); border-radius: 24px;
  background: linear-gradient(120deg, var(--paper), var(--surface)); overflow: hidden;
}
.page-header-framed .eyebrow { margin-bottom: 22px; font-size: 10px; color: var(--accent-text); }
.page-header-framed h1 { font-size: clamp(39px, 4vw, 55px); line-height: 1.13; max-width: 820px; }
.page-header-framed p { margin-top: 22px; font-size: 14px; max-width: 610px; color: var(--muted); }
.page-hero-copy > * { animation: page-copy-enter .7s var(--ease) both; }
.page-hero-copy > h1 { animation-delay: .07s; }
.page-hero-copy > p { animation-delay: .14s; }
.page-header-art { width: 100%; max-width: 300px; height: 250px; position: relative; justify-self: center; }
.page-header-art::before { content: ''; position: absolute; inset: 20% 13% 0; background: url('/assets/lattice.svg') center / 75px; opacity: .25; border-radius: 50% 50% 0 0; }
.page-art-geometry { position: absolute; width: 100%; height: 100%; inset: 0; color: var(--accent-text); }
.page-art-geometry path, .page-art-geometry circle { stroke: currentColor; stroke-width: 1; }
.page-art-geometry circle { stroke-opacity: .2; }
.page-art-geometry .art-draw { stroke-dasharray: 1; stroke-dashoffset: 1; animation: geometry-draw 1.8s var(--ease) .2s forwards; }
.page-art-geometry .art-draw-secondary { opacity: .3; animation-delay: .4s; }
.page-art-geometry .art-connector { stroke-dasharray: 4 5; stroke-opacity: .35; }
.page-art-mark { width: 97px; height: 97px; border-radius: 27px; position: absolute; inset: 38% auto auto 34%; display: grid; place-items: center; background: var(--raised); border: 1px solid var(--line); box-shadow: var(--shadow); transform: rotate(-6deg); transition: transform .6s var(--ease), box-shadow .4s; }
.page-art-mark img { width: 63px; height: 60px; object-fit: contain; }
.page-header-framed:hover .page-art-mark { transform: rotate(0) translateY(-4px); box-shadow: 0 15px 35px #163e2a17; }
.page-art-chip { position: absolute; width: 51px; height: 51px; display: grid; place-items: center; background: var(--raised); color: var(--accent-text); border: 1px solid var(--line); border-radius: 50%; box-shadow: var(--shadow); animation: page-copy-enter .7s var(--ease) .7s both; }
.page-art-chip svg { width: 24px; height: 24px; }
.page-art-chip.chip-a { inset: auto auto 10% 2%; }
.page-art-chip.chip-b { inset: 21% 0 auto auto; animation-delay: .85s; }
.page-header-framed + .section-space { border-top: 0; }
.section-space { padding-block: 75px; }
.section-heading h2, .editorial-copy h2, .faq-layout h2 { font-size: 39px; line-height: 1.2; }
html[lang=en] :is(.managed-product-card h2, .sector-details h3, .branch-entry h2, .leadership-group h2, .leadership-list h3, .contact-panel h2, .branch-visit h2, .apply-summary h2, .faq-layout h2, .feature-grid h3, .timeline h3, .empty-state h2, .profile-layout h2) { font-family: var(--display); font-weight: 700; letter-spacing: -.025em; }

/* Lightweight product diagrams shift on hover/focus, as in the reference's illustrations. */
.product-diagram { width: 100%; height: 100%; color: var(--accent-text); }
.diagram-line, .diagram-soft { stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.diagram-soft { opacity: .35; }
.diagram-paper { fill: var(--raised); stroke: currentColor; stroke-width: 1.3; stroke-linejoin: round; }
.diagram-soft-fill { fill: color-mix(in srgb, var(--accent-text) 12%, var(--paper)); stroke: currentColor; stroke-width: 1.1; stroke-opacity: .6; }
.diagram-shift { transform-box: fill-box; transform-origin: center; transition: transform .8s var(--ease); }
:is(.product-tile, .managed-product-card):is(:hover, :focus-visible) .diagram-shift { transform: translateY(-7px) rotate(-3deg); }
.product-tile-top { position: relative; height: 135px; margin: -8px -10px 20px; background: var(--surface); border-radius: 12px; }
.product-tile-top .product-glyph { display: none; }
.product-tile-top .product-tile-index { position: absolute; inset: 12px 13px auto auto; font-size: 9px; }
.product-tile .product-diagram { padding: 5px; }
.managed-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.managed-product-card { padding: 20px 23px 25px; border-radius: 18px; background: var(--raised); box-shadow: var(--shadow); }
.managed-product-visual { width: 100%; aspect-ratio: 1.7; border-radius: 12px; background: var(--surface); margin-bottom: 23px; }
.managed-product-visual > img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.managed-product-card .eyebrow { font-size: 9px; letter-spacing: .035em; }
.managed-product-card h2 { font-size: 26px; line-height: 1.2; letter-spacing: -.025em; margin-block: 15px; }
.managed-product-card p { font-size: 13px; line-height: 1.85; margin-bottom: 20px; }
.managed-product-card .text-link { font-size: 11px; }
.managed-product-card:hover { box-shadow: 0 20px 38px #163e2a17; }
.sector-details { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; border: 0; }
.sector-details article { display: grid; grid-template-columns: 110px 18px 1fr; gap: 17px; padding: 23px; background: var(--raised); border: 1px solid var(--line); border-radius: 17px; position: relative; align-items: center; box-shadow: var(--shadow); overflow: hidden; }
.sector-detail-image { width: 110px; height: 120px; overflow: hidden; border-radius: 11px; position: relative; grid-row: span 2; }
.sector-detail-image > img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.sector-detail-image > span { position: absolute; inset: auto 0 0; padding: 20px 6px 6px; font-size: 6px; line-height: 1.5; text-align: center; background: linear-gradient(transparent, #10281dcc); color: #fff; }
.sector-details article:hover .sector-detail-image > img { transform: scale(1.06); }
.sector-details h3 { font-size: 23px; margin-bottom: 10px; line-height: 1.25; }
.sector-details p { font-size: 12px; line-height: 1.8; max-width: none; }
.sector-details .sector-number { padding: 0; align-self: start; margin-top: 4px; }
.sector-details .circle-link { grid-column: 3; margin-top: 7px; justify-self: end; width: 32px; height: 32px; min-height: 32px; padding: 0; border-color: var(--line); color: var(--accent-text); }
.sector-details .circle-link > span:first-child { display: none; }
.sector-details .circle-link svg { width: 16px; height: 16px; }
.sector-details .circle-link:hover { background: var(--accent-text); color: var(--paper); }

/* Institutional story: an arch for the real emblem and readable purpose statements. */
.identity-hero { background: linear-gradient(115deg, var(--paper), var(--surface)); padding-block: 36px 45px; border-bottom: 1px solid var(--line); }
.identity-top { padding-bottom: 25px; }
.identity-main { grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: center; }
.identity-main h1 { font-size: clamp(43px, 4.8vw, 65px); line-height: 1.15; }
.identity-art { min-height: 300px; background: var(--paper-dark); border: 1px solid var(--line); border-radius: 48% 48% 15px 15px; overflow: hidden; }
.identity-art::before { content: ''; position: absolute; inset: 0; background: url('/assets/lattice.svg') center / 100px; opacity: .16; pointer-events: none; }
.identity-art .brand-sculpture { max-width: 88%; width: 300px; transform: rotate(-7deg); transition: transform .8s var(--ease); }
.identity-art:hover .brand-sculpture { transform: rotate(0) translateY(-5px); }
.identity-art > span { font-size: 7px; inset-inline: 20px; bottom: 20px; }
.identity-bottom { padding-top: 30px; margin-top: 25px; border-color: var(--line); gap: 65px; }
.identity-bottom > p { font-size: 15px; max-width: 700px; color: var(--muted); }
.identity-established { padding: 15px 20px; border: 1px solid var(--line); border-radius: 13px; gap: 17px; background: var(--raised); }
.identity-established strong { font-size: 36px; color: var(--accent-text); }
.identity-established > span { font-size: 8px; }
.story-navigation { background: var(--surface); border-block-color: var(--line); }
.story-navigation > .container { padding-block: 17px; gap: 25px; }
.story-navigation a { padding: 9px 15px; border: 1px solid var(--line); border-radius: 999px; font-size: 11px; background: var(--raised); }
.story-navigation a:hover { border-color: var(--accent-text); box-shadow: 0 4px 15px #163e2a0d; }
.story-navigation a > span { color: var(--accent-text); font-size: 8px; }
.page-story .institution-section { padding-block: 66px 45px; }
.page-story .manifesto { font-family: var(--display); font-size: 28px; letter-spacing: -.025em; line-height: 1.4; margin-top: 35px; padding-top: 23px; display: flex; gap: 10px; flex-wrap: wrap; }
.page-story .manifesto > span:nth-child(2) { -webkit-text-stroke: 0; color: var(--accent-text); }
.page-story .manifesto-arrow { display: none; }
.page-story .section-text { padding-block: 45px 66px; background: var(--surface); }
.page-story .text-section { gap: 65px; padding: 36px; background: var(--raised); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.page-story .text-section h2 { font-size: 36px; }
.page-story .text-section .prose { font-size: 18px; line-height: 1.8; }
.feature-grid { gap: 20px; }
.feature-grid article, .page-story .feature-grid article:nth-child(n) { padding: 31px; border: 1px solid var(--line); border-radius: 18px; min-height: 260px; background: var(--raised); color: var(--ink); box-shadow: var(--shadow); }
.feature-grid article h3, .page-story .feature-grid article:nth-child(n) h3 { font-size: 27px; color: var(--ink); margin-block: 25px 18px; }
.feature-grid article p, .page-story .feature-grid article:nth-child(n) p { font-size: 14px; line-height: 1.85; color: var(--muted); }
.feature-grid article .feature-number { border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; width: 43px; height: 43px; background: var(--paper-dark); color: var(--accent-text); font-size: 11px; }
.feature-grid article:hover { transform: translateY(-6px); box-shadow: 0 20px 40px #163e2a12; border-color: var(--accent-text); }
.timeline { gap: 24px; }
.timeline article { position: relative; padding: 28px; border: 1px solid var(--line); border-radius: 17px; background: var(--raised); box-shadow: var(--shadow); }
.timeline .feature-number { width: 45px; height: 45px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; background: var(--paper-dark); color: var(--accent-text); font-size: 12px; margin-bottom: 24px; }
.timeline h3 { font-size: 26px; line-height: 1.25; }
.timeline p { margin-top: 15px; font-size: 13px; color: var(--muted); line-height: 1.85; }
.timeline article::after { content: ''; position: absolute; height: 2px; width: 44px; inset: 50px -34px auto auto; z-index: 2; background: repeating-linear-gradient(90deg, var(--accent-text) 0 5px, transparent 5px 11px); background-size: 22px 2px; }
.timeline article:last-child::after { display: none; }
.timeline article.revealed::after { animation: process-flow 1.3s linear 3; }
.timeline article:hover { border-color: var(--accent-text); }
.faq-list details { padding: 0 22px; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 12px; background: var(--raised); }
.faq-list summary { padding-block: 22px; font-size: 15px; }
.faq-list details[open] { border-color: var(--accent-text); box-shadow: var(--shadow); }
.faq-list details[open] p { animation: page-copy-enter .3s var(--ease) both; }
.faq-list p { font-size: 14px; line-height: 1.85; padding-bottom: 23px; }

/* Presence is a map-and-directory experience, backed by the same five branch records. */
.branch-directory { display: grid; grid-template-columns: 1.05fr 1fr; gap: 45px; padding-block: 65px 80px; align-items: start; }
.branch-directory-map { position: sticky; top: 115px; }
.branch-directory-map .presence-map { padding: 24px; }
.branch-directory-list { display: grid; gap: 15px; }
.branch-entry { gap: 18px; border: 1px solid var(--line); padding: 23px; border-radius: 16px; align-items: start; background: var(--raised); box-shadow: var(--shadow); }
.branch-entry .branch-index { display: grid; justify-items: center; gap: 8px; padding-top: 3px; color: var(--accent-text); }
.branch-index svg { width: 22px; height: 22px; }
.branch-index small { font-size: 8px; }
.branch-entry h2 { font-size: 28px; margin-bottom: 9px; }
.branch-entry p { font-size: 12px; line-height: 1.8; }
.branch-entry .branch-cta { font-size: 0; gap: 0; margin-inline-start: auto; padding: 5px; }
.branch-entry .branch-cta svg { width: 17px; height: 17px; }
.branch-entry:hover, .branch-entry.active { box-shadow: 0 15px 30px #163e2a12; background: var(--surface); border-color: var(--accent-text); }

/* Publishing, people and contact use the same type, surfaces and interaction detail. */
.collection-section { padding-block: 45px 75px; }
.collection-toolbar { gap: 15px; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); margin-bottom: 35px; }
.collection-toolbar .search-field { border-radius: 999px; background: var(--raised); border: 1px solid var(--line); padding-inline: 17px; }
.collection-toolbar select { border: 1px solid var(--line); border-radius: 999px; background: var(--raised); min-height: 46px; padding-inline: 18px; font-size: 12px; }
.collection-toolbar .button { border-radius: 999px; min-height: 46px; }
.empty-state { background: var(--surface); border: 1px dashed var(--line); border-radius: 20px; padding: 55px 30px; }
.empty-state h2 { font-size: 34px; }
.empty-state p { font-size: 14px; line-height: 1.8; }
.empty-symbol { background: var(--raised); border: 1px solid var(--line); border-radius: 50%; padding: 16px; display: inline-flex; margin-bottom: 20px; }
.gallery-grid { gap: 24px; }
.gallery-item { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--raised); box-shadow: var(--shadow); transition: transform .5s var(--ease), box-shadow .5s; }
.gallery-item > img { transition: transform .75s var(--ease), filter .5s; }
.gallery-item > span { padding: 18px 20px; font-size: 12px; }
.gallery-item:hover { transform: translateY(-5px); box-shadow: 0 18px 38px #163e2a1a; }
.gallery-item:hover img { transform: scale(1.025); filter: none; }
.leadership-group > h2 { font-size: 32px; margin-bottom: 25px; }
.leadership-list { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.leadership-list > a { border: 1px solid var(--line); padding: 24px; border-radius: 17px; gap: 19px; background: var(--raised); box-shadow: var(--shadow); transition: transform .4s, border-color .4s; }
.leadership-list > a:hover { transform: translateY(-4px); border-color: var(--accent-text); }
.leadership-list .profile-monogram { width: 65px; height: 72px; border-radius: 40% 40% 12px 12px; font-size: 29px; }
.leadership-list h3 { font-size: 23px; line-height: 1.25; }
.leadership-list p { font-size: 12px; line-height: 1.7; color: var(--muted); }
.profile-layout { padding-top: 50px; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.profile-identity { border: 1px solid var(--line); border-radius: 45% 45% 17px 17px; overflow: hidden; padding: 25px; }
.profile-identity:has(> img) { position: relative; padding: 0; }
.profile-identity > img { display: block; width: 100%; aspect-ratio: 1.5; object-fit: cover; object-position: center 23%; }
.profile-identity:has(> img) > .eyebrow { position: absolute; inset: auto 0 0; margin: 0; padding: 45px 20px 22px; color: #fff; background: linear-gradient(transparent, #092b1dd9); text-align: center; }
.leadership-list .profile-monogram { overflow: hidden; }
.leadership-list .profile-monogram img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.profile-layout > .prose { font-size: 17px; line-height: 1.9; }
.contact-layout, .apply-layout { gap: 45px; padding-top: 55px; }
.contact-panel, .apply-summary { padding: 32px; border: 1px solid var(--line); border-radius: 19px; background: var(--surface); box-shadow: var(--shadow); }
.contact-panel h2, .apply-summary h2 { font-size: 35px; line-height: 1.2; margin-block: 16px 25px; }
.branch-visit h2 { font-size: 39px; line-height: 1.2; }
.contact-panel .contact-email { font-family: var(--display); font-size: 29px; }
.contact-panel .contact-phone { font-size: 19px; }
.contact-panel p, .branch-visit > p, .apply-summary > p { font-size: 14px; line-height: 1.85; }
.contact-panel .contact-detail { margin-top: 28px; }
.enquiry-form { border: 1px solid var(--line); border-radius: 19px; padding: 32px; background: var(--raised); box-shadow: var(--shadow); }
.enquiry-form :is(input, textarea, select):not([type=checkbox]) { border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); padding: 13px 15px; min-height: 48px; font-size: 14px; box-shadow: inset 0 1px 2px #153c2a03; }
.enquiry-form :is(input, textarea, select):focus { border-color: var(--accent-text); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-text) 12%, transparent); outline: none; }
.enquiry-form textarea { min-height: 145px; }
.enquiry-form .field > span, .enquiry-form .field > label { font-size: 12px; }
.enquiry-form .form-grid { gap: 19px; }
.calculator-preview { border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.calculator-preview strong { color: var(--accent-text); }
.product-facts { border-radius: 17px; background: var(--surface); border: 1px solid var(--line); padding: 30px; margin-top: 45px; gap: 25px; }
.product-facts strong { font-size: 32px; }
.article-layout { padding-top: 45px; }
.article-lead-image { border-radius: 19px; }
.article-aside { padding: 25px; background: var(--surface); border: 1px solid var(--line); border-radius: 15px; }
.page-article .section-text > .container { max-width: 850px; }
.page-article .text-section { grid-template-columns: 1fr; gap: 25px; }
.page-article .text-section h2 { font-size: 35px; }
.page-article .text-section .prose { font-size: 17px; line-height: 1.95; }
.download-list > a { padding: 23px; border: 1px solid var(--line); border-radius: 13px; margin-top: 14px; background: var(--raised); box-shadow: var(--shadow); }
.download-list > a:hover { background: var(--surface); border-color: var(--accent-text); }
.js [data-reveal=rise] { transform: translateY(22px); }
.js [data-reveal=fade] { transform: none; }
.js :is(.feature-grid, .managed-product-grid, .leadership-list) > [data-reveal]:nth-child(2) { transition-delay: .07s; }
.js :is(.feature-grid, .managed-product-grid, .leadership-list) > [data-reveal]:nth-child(3) { transition-delay: .12s; }
.js :is(.feature-grid, .managed-product-grid, .leadership-list) > [data-reveal]:nth-child(4) { transition-delay: .17s; }
.js [data-reveal=rise].revealed { transform: none; }
html[dir=rtl] .timeline article::after { inset-inline-end: -34px; inset-inline-start: auto; animation-direction: reverse; }
html[dir=rtl] .page-header-framed h1 { font-size: 40px; line-height: 1.6; }
html[dir=rtl] .page-story .manifesto { font-family: var(--sans); font-size: 24px; letter-spacing: 0; }
@keyframes geometry-draw { to { stroke-dashoffset: 0; } }
@keyframes process-flow { to { background-position: 22px 0; } }
@keyframes page-copy-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

@media (max-width:1000px) {
  .page-header-framed { padding: 35px; gap: 25px; grid-template-columns: 1.5fr .7fr; }
  .page-header-framed h1 { font-size: 42px; }
  .page-header-art { height: 200px; }
  .page-art-mark { width: 76px; height: 76px; border-radius: 23px; }
  .page-art-mark img { width: 51px; height: 49px; }
  .page-art-chip { width: 40px; height: 40px; }
  .page-art-chip svg { width: 19px; height: 19px; }
  .managed-product-grid { grid-template-columns: 1fr 1fr; }
  .managed-product-visual { aspect-ratio: 2; }
  .sector-details article { grid-template-columns: 80px 1fr; gap: 13px; padding: 19px; }
  .sector-detail-image { width: 80px; height: 105px; }
  .sector-details .sector-number { display: none; }
  .sector-details h3 { font-size: 22px; }
  .sector-details .circle-link { grid-column: 2; }
  .identity-main { gap: 45px; grid-template-columns: 1.2fr .8fr; }
  .identity-art { min-height: 245px; }
  .identity-main h1 { font-size: 48px; }
  .identity-bottom { gap: 35px; }
  .identity-established { padding: 12px; }
  .identity-established strong { font-size: 31px; }
  .page-story .text-section { padding: 28px; gap: 35px; }
  .feature-grid article, .page-story .feature-grid article:nth-child(n) { padding: 25px; }
  .timeline article { padding: 23px; }
  .timeline h3 { font-size: 23px; }
  .timeline article::after { top: 45px; }
  .branch-directory { gap: 25px; grid-template-columns: 1fr 1fr; }
  .branch-entry { padding: 20px; gap: 13px; }
  .branch-entry h2 { font-size: 25px; }
  .branch-entry p { font-size: 11px; }
  .leadership-list > a { padding: 20px; gap: 13px; }
  .leadership-list h3 { font-size: 21px; }
  .contact-layout { grid-template-columns: .85fr 1.15fr; gap: 25px; }
  .contact-panel, .enquiry-form, .apply-summary { padding: 25px; }
  .contact-panel .contact-email { font-size: 23px; }
  .contact-panel .contact-phone { font-size: 17px; }
  html[dir=rtl] .page-header-framed h1 { font-size: 34px; }
}
@media (max-width:719px) {
  .page-header-framed { display: block; padding: 30px 25px; margin-top: 16px; border-radius: 18px; min-height: 0; }
  .page-header-framed h1 { font-size: 36px; line-height: 1.17; }
  .page-header-framed .eyebrow { font-size: 8px; margin-bottom: 19px; }
  .page-header-framed p { font-size: 13px; line-height: 1.85; margin-top: 20px; }
  .page-header-art { display: none; }
  .section-space { padding-block: 45px; }
  .section-heading h2, .editorial-copy h2, .faq-layout h2 { font-size: 32px; }
  .product-tile-top { height: 105px; margin: -5px -4px 17px; }
  .managed-product-grid { grid-template-columns: 1fr; gap: 19px; }
  .managed-product-card { padding: 21px 25px 26px; }
  .managed-product-visual { aspect-ratio: 2.1; margin-bottom: 21px; }
  .managed-product-card h2 { font-size: 29px; }
  .managed-product-card p { font-size: 13px; }
  .sector-details { grid-template-columns: 1fr; gap: 15px; }
  .sector-details article { padding: 20px; gap: 15px; grid-template-columns: 85px 1fr; }
  .sector-detail-image { width: 85px; height: 110px; }
  .sector-details h3 { font-size: 23px; }
  .sector-details p { font-size: 11px; }
  .identity-hero { padding-block: 25px 30px; }
  .identity-top { padding-bottom: 22px; }
  .identity-main { display: grid; grid-template-columns: 1fr; gap: 27px; }
  .identity-main h1 { font-size: 39px; }
  .identity-art { min-height: 230px; max-width: 270px; width: 85%; justify-self: center; }
  .identity-art .brand-sculpture { width: 220px; }
  .identity-bottom { display: block; margin-top: 25px; padding-top: 25px; }
  .identity-bottom > p { font-size: 13px; }
  .identity-established { margin-top: 22px; display: inline-flex; padding: 13px 17px; }
  .identity-established strong { font-size: 32px; }
  .story-navigation > .container { padding-block: 14px; }
  .story-navigation > .container > div { gap: 8px; flex-wrap: wrap; }
  .story-navigation a { padding: 9px 12px; font-size: 9px; gap: 7px; }
  .story-navigation a > span { font-size: 7px; }
  .story-nav-label, .story-nav-arrow { display: none; }
  .page-story .institution-section { padding-block: 43px 30px; }
  .page-story .manifesto { display: block; font-size: 25px; margin-top: 25px; padding-top: 21px; }
  .page-story .manifesto > span { display: block; }
  .page-story .section-text { padding-block: 30px 43px; }
  .page-story .text-section { display: block; padding: 25px; }
  .page-story .text-section h2 { font-size: 31px; margin-bottom: 22px; }
  .page-story .text-section .prose { font-size: 16px; }
  .feature-grid { gap: 16px; }
  .feature-grid article, .page-story .feature-grid article:nth-child(n) { min-height: 0; padding: 26px; }
  .feature-grid article h3, .page-story .feature-grid article:nth-child(n) h3 { font-size: 26px; margin-block: 21px 14px; }
  .feature-grid article p, .page-story .feature-grid article:nth-child(n) p { font-size: 13px; }
  .timeline { gap: 17px; }
  .timeline article { padding: 25px; }
  .timeline article::after { display: none; }
  .timeline h3 { font-size: 26px; }
  .timeline .feature-number { margin-bottom: 21px; }
  .faq-list details { padding-inline: 18px; }
  .faq-list summary { font-size: 14px; }
  .faq-list p { font-size: 13px; }
  .branch-directory { display: block; padding-block: 35px 50px; }
  .branch-directory-map { position: static; margin-bottom: 23px; }
  .branch-directory-map .presence-map { padding: 18px; }
  .branch-entry { padding: 23px; }
  .branch-entry h2 { font-size: 28px; }
  .branch-entry p { font-size: 12px; }
  .collection-section { padding-block: 28px 45px; }
  .collection-toolbar { padding: 14px; gap: 10px; border-radius: 14px; }
  .collection-toolbar .search-field { min-width: 0; }
  .collection-toolbar select { min-width: 0; width: 100%; }
  .empty-state { padding: 35px 22px; }
  .empty-state h2 { font-size: 29px; }
  .empty-state p { font-size: 13px; }
  .gallery-grid { gap: 18px; }
  .gallery-item > span { padding: 15px 17px; font-size: 11px; }
  .leadership-list { grid-template-columns: 1fr; gap: 15px; }
  .leadership-group > h2 { font-size: 29px; }
  .leadership-list h3 { font-size: 23px; }
  .leadership-list > a { padding: 23px; }
  .profile-layout { padding-top: 30px; }
  .profile-identity { max-width: 320px; margin-inline: auto; margin-bottom: 30px; }
  .profile-layout > .prose { font-size: 15px; }
  .contact-layout, .apply-layout { display: block; padding-top: 30px; }
  .contact-panel, .apply-summary, .enquiry-form { padding: 25px; border-radius: 16px; }
  .contact-panel h2, .apply-summary h2 { font-size: 31px; }
  .branch-visit h2 { font-size: 32px; }
  .contact-panel, .apply-summary { margin-bottom: 25px; }
  .contact-panel .contact-email { font-size: 27px; }
  .contact-panel .contact-phone { font-size: 18px; }
  .contact-panel p, .branch-visit > p, .apply-summary > p { font-size: 13px; }
  .enquiry-form :is(input, textarea, select):not([type=checkbox]) { font-size: 16px; }
  .product-facts { padding: 25px; margin-top: 30px; }
  .product-facts strong { font-size: 29px; }
  .article-layout { padding-top: 30px; }
  .article-aside { padding: 20px; }
  .page-article .text-section h2 { font-size: 31px; }
  .page-article .text-section .prose { font-size: 16px; }
  html[dir=rtl] .page-header-framed h1 { font-size: 29px; line-height: 1.65; }
  html[dir=rtl] .page-story .manifesto { font-size: 21px; }
}
@media (max-width:370px) {
  .page-header-framed { padding: 25px 22px; }
  .page-header-framed h1 { font-size: 32px; }
  .product-tile-top { height: 140px; }
  .sector-details article { grid-template-columns: 70px 1fr; padding: 18px; gap: 13px; }
  .sector-detail-image { width: 70px; height: 100px; }
  .sector-details h3 { font-size: 21px; }
  .contact-panel, .apply-summary, .enquiry-form { padding: 21px; }
  .contact-panel .contact-email { font-size: 24px; }
}
@media (prefers-reduced-motion:reduce) {
  .page-art-geometry .art-draw { stroke-dashoffset: 0; animation: none; }
  .page-art-chip, .page-hero-copy > *, .timeline article.revealed::after, .faq-list details[open] p { animation: none; }
  .diagram-shift, .page-art-mark, .identity-art .brand-sculpture, .gallery-item, .gallery-item > img, .leadership-list > a { transition: none; }
  :is(.product-tile, .managed-product-card):is(:hover, :focus-visible) .diagram-shift, .identity-art:hover .brand-sculpture, .gallery-item:hover, .leadership-list > a:hover, .feature-grid article:hover { transform: none; }
  .js [data-reveal] { transition: none; opacity: 1; transform: none; }
}
