/* IBS SIGNATURE — editorial presentation for the current bilingual website.
 * Load order: homepage → site/contact → identity → experience → signature →
 * signature-opening. The opening markup and scroll controller are maintained
 * separately; this file intentionally supplies no opening/hero-stage rules.
 *
 * Maintenance map
 * 01  Shared palette, editorial type and section rhythm
 * 02  Masthead, authentic transparent logo, navigation and actions
 * 03  Original catalogue identity artwork and Home introductions
 * 04  Inner-page openings, copy, company timeline and project archive
 * 05  Collections, product cards, specifications and catalogue downloads
 * 06  Contact forms, footer and owner-created content
 * 07  Tablet, phone, Arabic, reduced-motion and print refinements
 *
 * Artwork is the existing --ibsh-identity-art native SVG. No substituted logo,
 * synthetic texture, new illustration or paid dependency is used.
 */

/* 01 — Warm catalogue paper, crisp charcoal and restrained bronze. */
.ibsh-page {
  --ibsh-serif:var(--ibsh-font-heading);
  --ibsh-sans:var(--ibsh-font-body);
  --ibsh-paper:#f7f1e7;
  --ibsh-stone:#e8e0d2;
  --ibsh-sand:#efe6d8;
  --ibsh-ink:#24231f;
  --ibsh-charcoal:#24231f;
  --ibsh-navy:var(--ibsh-charcoal);
  --ibsh-accent:#785a39;
  --ibsh-orange:var(--ibsh-accent);
  --ibsh-muted:#635d56;
  --ibsh-line:#cbbda9;
  --ibsh-gutter:clamp(24px,5.5vw,96px);
  font-family:var(--ibsh-sans);
  line-height:1.75;
}
.ibsh-wrap { max-width:1660px; }
.ibsh-section { padding-block:clamp(80px,8.4vw,140px); }
.ibsh-page .ibsh-site h1,.ibsh-page .ibsh-site h2,.ibsh-page .ibsh-site h3,
.ibsh-page .ibsh-home>.ibsh-section h2,.ibsh-page .ibsh-home>.ibsh-section h3 {
  font-family:var(--ibsh-serif);
  font-weight:400;
}
.ibsh-site h1,.ibsh-site h2,.ibsh-site h3,
.ibsh-home>.ibsh-section h2,.ibsh-home>.ibsh-section h3 {
  letter-spacing:-.045em;
  line-height:1.08;
  text-wrap:balance;
}
.ibsh-site h2,.ibsh-home>.ibsh-section h2 {
  font-size:clamp(40px,4.55vw,70px);
}
.ibsh-site h3,.ibsh-home>.ibsh-section h3 {
  font-size:clamp(27px,2.7vw,41px);
  letter-spacing:-.03em;
  line-height:1.15;
}
.ibsh-section-head { gap:clamp(32px,5vw,80px); margin-bottom:clamp(36px,5vw,74px); }
.ibsh-section-head h2 { max-width:15ch; }
.ibsh-section-head>.ibsh-lead { max-width:490px; font-size:15px; line-height:1.95; }
.ibsh-kicker { font-size:10px; font-weight:600; letter-spacing:.17em; line-height:1.7; }
.ibsh-kicker::before { width:25px; margin-inline-end:13px; }
.ibsh-copy p { font-size:15px; line-height:1.95; }
.ibsh-copy p+p { margin-top:18px; }
.ibsh-caption,.ibsh-image-note,.ibsh-home-caption { font-family:var(--ibsh-sans); letter-spacing:.015em; }
.ibsh-page ::selection { background:#d2b996; color:var(--ibsh-ink); }

/* 02 — A quiet masthead and the unaltered original RGBA logo. */
.ibsh-header {
  border-bottom:1px solid var(--ibsh-line);
  background:rgba(247,241,231,.97);
  backdrop-filter:blur(14px);
  gap:25px;
}
.ibsh-brand {
  display:block;
  width:116px;
  min-width:0;
  flex-shrink:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.ibsh-brand img {
  display:block;
  width:100%;
  height:auto;
  max-height:78px;
  object-fit:contain;
  object-position:center;
  background:transparent;
  border:0;
  border-radius:0;
  filter:none;
  opacity:1;
}
.ibsh-nav { gap:clamp(15px,1.75vw,31px); }
.ibsh-nav a,.ibsh-language,.ibsh-header-connect {
  font:600 10px/1.6 var(--ibsh-sans);
  text-transform:uppercase;
  letter-spacing:.105em;
}
.ibsh-nav a { position:relative; padding-block:14px; }
.ibsh-nav a[aria-current=page] { border-bottom:0; }
.ibsh-nav a::after {
  content:'';
  position:absolute;
  inset-inline:0;
  bottom:5px;
  height:1px;
  background:var(--ibsh-accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.ibsh-nav a:hover::after,.ibsh-nav a[aria-current=page]::after { transform:scaleX(1); }
.ibsh-header-actions { gap:24px; }
.ibsh-header-connect { border:1px solid var(--ibsh-ink); padding:10px 15px; gap:18px; }
.ibsh-header-connect:hover { background:var(--ibsh-ink); color:var(--ibsh-paper); }
.ibsh-button {
  gap:30px;
  justify-content:space-between;
  min-height:50px;
  padding:15px 21px;
  border:1px solid var(--ibsh-ink);
  background:transparent;
  color:var(--ibsh-ink)!important;
  font:600 10px/1.5 var(--ibsh-sans);
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.ibsh-button::after { content:'↗'; font:400 20px/1 var(--ibsh-sans); }
.ibsh-button:hover { background:var(--ibsh-ink); color:var(--ibsh-paper)!important; border-color:var(--ibsh-ink); }
.ibsh-button.is-light { background:var(--ibsh-paper); color:var(--ibsh-ink)!important; border-color:var(--ibsh-paper); }
.ibsh-button.is-light:hover { background:#fffaf2; border-color:#fffaf2; }
.ibsh-button.is-outline { background:transparent; color:var(--ibsh-ink)!important; }
.ibsh-button.is-outline:hover { background:var(--ibsh-ink); color:var(--ibsh-paper)!important; }
.ibsh-link,.ibsh-pdf-link {
  gap:22px;
  font:500 11px/1.65 var(--ibsh-sans);
  letter-spacing:.055em;
  text-transform:uppercase;
  padding-block:10px;
  border-bottom-color:var(--ibsh-accent);
}
.ibsh-link::after { font-size:20px; }
.ibsh-page a:focus-visible,.ibsh-page button:focus-visible { outline-width:2px; outline-offset:5px; }

/* 03 — Recompose the approved native artwork around quiet reading areas.
 * Keep the SVG's aspect ratio, paths and colours. Never put art above controls.
 */
.ibsh-home-overview,.ibsh-home-catalogues,.ibsh-home-spc {
  position:relative;
  isolation:isolate;
}
.ibsh-home-overview::before,.ibsh-home-catalogues::before,.ibsh-home-spc::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:var(--ibsh-identity-art);
  background-repeat:no-repeat;
  background-size:max(1060px,100%) auto;
  background-position:center 36%;
}
.ibsh-home-overview::before { background-position:center 25%; opacity:.8; }
.ibsh-home-catalogues::before { background-position:center 77%; opacity:.65; }
.ibsh-home-spc::before { background-position:center 46%; opacity:.8; }
.ibsh-page-hero::before { background-size:max(1060px,100%) auto; background-position:center 24%; opacity:1; }
.ibsh-story-section::before { background-size:max(1060px,100%) auto; background-position:center 39%; opacity:1; }
.ibsh-story-journey::before { background-size:max(1060px,100%) auto; background-position:center 55%; opacity:1; }
.ibsh-contact-section::before { background-size:max(1060px,100%) auto; background-position:center 83%; opacity:1; }
.ibsh-home-overview .ibsh-section-head { margin-bottom:38px; }
.ibsh-home-overview .ibsh-section-head h2 { max-width:19ch; }
.ibsh-reading-line { font-family:var(--ibsh-serif); font-size:clamp(31px,3.6vw,55px); line-height:1.35; letter-spacing:-.035em; max-width:1150px; }
.ibsh-overview-grid { gap:clamp(30px,4.2vw,70px); }
.ibsh-overview-card { padding-top:32px; }
.ibsh-overview-card h3 { margin-bottom:20px; }
.ibsh-overview-card p { font-size:14px; line-height:1.95; }
.ibsh-home-feature { gap:clamp(38px,7vw,110px); }
.ibsh-home-feature-copy h2 { max-width:12ch; margin-bottom:29px; }
.ibsh-home-feature-copy>p:not(.ibsh-kicker) { font-size:15px; line-height:1.95; }
.ibsh-home-photo-frame { background:var(--ibsh-stone); }
.ibsh-home-photo-frame img { transition-duration:1.2s; }
.ibsh-home-photo-frame:hover img { transform:scale(1.035); }
.ibsh-home-caption { font-size:10px; line-height:1.8; padding-top:14px; }
.ibsh-home-collection-links { gap:9px 24px; margin-block:28px; }
.ibsh-home-collection-link { font-size:12px; padding-block:8px; }
.ibsh-home-reliance { background:var(--ibsh-stone); }
.ibsh-home-other-materials { padding-top:35px; margin-top:65px; }
.ibsh-home-material-link { font-size:12px; letter-spacing:.02em; }
.ibsh-home-downloads { gap:clamp(35px,6vw,95px); }
.ibsh-home-download { padding-top:34px; }
.ibsh-home-download h3 { margin-bottom:17px; }
.ibsh-home-download p { font-size:12px; line-height:1.8; }
.ibsh-home>.ibsh-project-section h2 { font-size:clamp(43px,4.7vw,72px); }
.ibsh-reference h3 { font:400 clamp(26px,2.7vw,40px)/1.18 var(--ibsh-serif); letter-spacing:-.025em; }
.ibsh-reference { padding-block:30px; }
.ibsh-reference p { font-size:11px; letter-spacing:.02em; }
.ibsh-story-copy h2 { max-width:14ch; }
.ibsh-story-copy>p:not(.ibsh-kicker) { font-size:15px; line-height:1.95; }
.ibsh-year { font-family:var(--ibsh-serif); font-size:clamp(110px,12vw,184px); font-weight:400; letter-spacing:-.07em; color:var(--ibsh-accent); }
.ibsh-year-caption { font-size:9px; letter-spacing:.16em; }
.ibsh-contact-section h2 { font-size:clamp(44px,5.4vw,82px); max-width:18ch; margin-inline:auto; }
.ibsh-contact-section>.ibsh-wrap>p:not(.ibsh-kicker) { max-width:610px; font-size:15px; line-height:1.9; }
.ibsh-contact-section .ibsh-actions { gap:22px; margin-top:34px; }

/* 04 — Editorial page openings, company chapters and the historical archive. */
.ibsh-page-hero { padding-block:clamp(96px,9.5vw,150px) clamp(80px,8vw,125px); }
.ibsh-site .ibsh-page-hero h1 { font-size:clamp(55px,6.7vw,106px); max-width:17ch; line-height:1.04; letter-spacing:-.055em; }
.ibsh-page-hero .ibsh-kicker { margin-bottom:30px!important; }
.ibsh-page-intro { font-size:17px; line-height:1.9; max-width:700px; margin-top:34px!important; }
.ibsh-page-hero.has-image>.ibsh-wrap { gap:clamp(40px,6.7vw,108px); }
.ibsh-site .ibsh-page-hero.has-image h1 { font-size:clamp(49px,5.2vw,82px); max-width:12ch; }
.ibsh-page-hero.has-image .ibsh-page-intro { font-size:15px; line-height:1.95; }
.ibsh-reliance-page-hero .ibsh-page-hero-image { aspect-ratio:3/2; }
.ibsh-reliance-page-hero .ibsh-page-hero-image img { object-position:50% 50%; }
.ibsh-copy-grid,.ibsh-feature,.ibsh-product-detail { gap:clamp(40px,7.5vw,120px); }
.ibsh-copy-grid .ibsh-section-head h2 { max-width:13ch; }
.ibsh-feature .ibsh-copy h2 { max-width:13ch; }
.ibsh-card-grid { column-gap:clamp(30px,4vw,64px); }
.ibsh-card { padding-block:34px; }
.ibsh-card h2,.ibsh-card h3 { margin-bottom:22px; }
.ibsh-card p { font-size:14px; line-height:1.95; }
.ibsh-people,.ibsh-people-section {
  background:var(--ibsh-charcoal);
  color:var(--ibsh-paper);
  --ibsh-muted:#c6bdb0;
  --ibsh-accent:#bea17b;
  --ibsh-orange:var(--ibsh-accent);
  --ibsh-line:#6c6255;
}
.ibsh-timeline { display:block; padding:0; border-top:1px solid var(--ibsh-line); border-inline:0; }
.ibsh-milestone {
  display:grid;
  grid-template-columns:minmax(120px,.6fr) minmax(180px,.9fr) minmax(0,1.35fr);
  gap:clamp(28px,4.8vw,78px);
  padding-block:49px;
  border-bottom:1px solid var(--ibsh-line);
  align-items:start;
}
.ibsh-milestone::before { display:none; }
.ibsh-milestone-year { font:400 clamp(48px,5.7vw,88px)/1 var(--ibsh-serif); color:var(--ibsh-accent); letter-spacing:-.06em; margin-bottom:0!important; }
.ibsh-milestone h3 { max-width:13ch; font-size:clamp(27px,2.8vw,42px); line-height:1.14; margin-bottom:0; }
.ibsh-milestone p:not(.ibsh-milestone-year) { font-size:14px; line-height:1.95; }
.ibsh-story-evidence { margin-bottom:50px!important; }
.ibsh-sector-nav { gap:10px 25px; }
.ibsh-sector-nav a,.ibsh-sector-nav button {
  min-height:44px;
  padding:10px 0;
  border:0;
  border-bottom:1px solid transparent;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  background:transparent;
  color:var(--ibsh-muted);
}
.ibsh-sector-nav button[aria-pressed=true],.ibsh-sector-nav a:hover,.ibsh-sector-nav button:hover {
  background:transparent;
  color:var(--ibsh-ink);
  border-color:var(--ibsh-accent);
}
.ibsh-sector { margin-top:45px; padding-top:42px; }
.ibsh-sector>h2 { font-size:clamp(34px,3.6vw,54px); margin-bottom:32px; }
.ibsh-project-grid { column-gap:clamp(32px,4.5vw,72px); }
.ibsh-project-grid>article { padding-block:30px; }
.ibsh-project-grid h3 { font-size:clamp(25px,2.5vw,37px); line-height:1.25; }
.ibsh-project-grid p { font-size:12px; line-height:1.9; }
.ibsh-brand-groups { gap:42px 55px; }
.ibsh-brand-group h3 { font-size:27px; line-height:1.25; }
.ibsh-brand-list { gap:11px 23px; }
.ibsh-brand-list span { font-size:13px; }
.ibsh-system-grid { column-gap:clamp(35px,5vw,80px); }
.ibsh-system-card { padding-block:38px; }
.ibsh-system-card h2,.ibsh-system-card h3 { font-size:clamp(30px,3vw,45px); max-width:17ch; }
.ibsh-system-card p { max-width:560px; font-size:14px; line-height:1.95; }
.ibsh-system-points { gap:9px 20px; line-height:1.8; }

/* 05 — Material imagery remains accurate; cards align for useful comparison. */
.ibsh-product-grid { gap:57px clamp(24px,3vw,48px); }
.ibsh-product-image { background:var(--ibsh-stone); aspect-ratio:4/5; }
.ibsh-product-image img { transition:transform 1s cubic-bezier(.22,1,.36,1); }
.ibsh-product-image:hover img { transform:scale(1.035); }
.ibsh-product-info { padding-top:25px; }
.ibsh-product-info h2,.ibsh-product-info h3 { font-size:clamp(29px,2.9vw,43px); margin-bottom:11px; }
.ibsh-product-info p { font-size:12px; line-height:1.9; }
.ibsh-product-info .ibsh-actions { gap:18px; margin-top:22px; }
.ibsh-product-info button { min-height:44px; font-size:10px; padding:10px 13px; border-color:#9b8972; }
.ibsh-product-info .ibsh-link { font-size:10px; letter-spacing:.04em; }
.ibsh-product-info button:hover { background:var(--ibsh-stone); }
.ibsh-save[aria-pressed=true] { color:var(--ibsh-accent); border-color:var(--ibsh-accent); }
.ibsh-product-code { font:11px/1.7 var(--ibsh-sans)!important; letter-spacing:.09em; }
.ibsh-product-detail>.ibsh-product-image { aspect-ratio:auto; }
.ibsh-product-detail>.ibsh-product-image img { object-fit:contain; transform:none; }
.ibsh-spec strong,.ibsh-spec dd { font-family:var(--ibsh-serif); font-weight:400; font-size:27px; }
.ibsh-spec dt,.ibsh-spec span { font-size:10px; letter-spacing:.06em; line-height:1.8; }
.ibsh-collection-spec>.ibsh-actions { margin-top:34px; }
.ibsh-download-band { padding-block:38px; }
.ibsh-download-band h2,.ibsh-download-band h3 { font-size:clamp(31px,3.3vw,48px); }
.ibsh-download-band p { font-size:13px; line-height:1.9; }
.ibsh-resource-grid { gap:60px clamp(30px,5vw,80px); }
.ibsh-resource-card>figure { aspect-ratio:4/5; max-height:620px; background:var(--ibsh-sand); margin-bottom:28px; }
.ibsh-resource-card img { object-fit:contain; transition:transform 1s cubic-bezier(.22,1,.36,1); }
.ibsh-resource-card>figure:hover img { transform:scale(1.02); }
.ibsh-resource-card h2 { font-size:clamp(33px,3.8vw,56px); margin-bottom:17px; }
.ibsh-resource-card p { font-size:12px; line-height:1.9; }
.ibsh-shortlist-row { padding-block:29px; }
.ibsh-shortlist-row h2 { font-size:29px; }
.ibsh-product-search { min-height:49px; padding:13px 15px; background:#faf6ef; border-color:#9b8972; }

/* 06 — Calm fields and visible submit actions, followed by a quiet footer. */
.ibsh-contact-information .ibsh-wrap { align-items:start; gap:clamp(35px,6vw,95px); }
.ibsh-contact-overview h2 { max-width:15ch; }
.ibsh-contact-details { gap:30px 45px; margin-top:35px; }
.ibsh-contact-details dt { font-size:10px; letter-spacing:.11em; margin-bottom:12px; }
.ibsh-contact-details dd { font-size:14px; line-height:1.9; }
.ibsh-contact-routes { padding-top:10px; gap:17px; }
.ibsh-contact-forms { background:var(--ibsh-sand); --ibsh-form-bg:#faf6ef; }
.ibsh-contact-forms .ibsh-wrap { gap:clamp(35px,5vw,80px); }
.ibsh-contact-panel h2 { font-size:clamp(36px,4.1vw,62px); line-height:1.08; margin-bottom:25px; }
.ibsh-form-intro { font-size:14px; line-height:1.9; opacity:1; color:var(--ibsh-muted); margin-bottom:30px; }
.ibsh-form-fields { gap:25px 22px; }
.ibsh-field label { font:500 10px/1.7 var(--ibsh-sans); letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
.ibsh-field label span { font-size:10px; letter-spacing:0; }
.ibsh-field input,.ibsh-field select,.ibsh-field textarea {
  min-height:49px;
  padding:13px 15px;
  border:1px solid #9b8972;
  background:var(--ibsh-form-bg,#faf6ef);
  font:400 15px/1.6 var(--ibsh-sans);
  color:var(--ibsh-ink);
  letter-spacing:0;
}
.ibsh-field input::placeholder,.ibsh-field textarea::placeholder { color:var(--ibsh-muted); opacity:1; }
.ibsh-form-privacy { opacity:1; color:var(--ibsh-muted); line-height:1.9; }
.ibsh-form-submit { background:var(--ibsh-ink); color:var(--ibsh-paper)!important; margin-top:12px; }
.ibsh-form-submit:hover { background:#453a2e; color:var(--ibsh-paper)!important; }
.ibsh-footer { background:var(--ibsh-sand); padding-block:65px 28px; }
.ibsh-footer .ibsh-brand { width:130px; }
.ibsh-footer .ibsh-brand img { max-height:90px; }
.ibsh-footer-top { grid-template-columns:1fr 1.4fr 1fr; gap:45px; margin-bottom:42px; }
.ibsh-footer-top>p { font-size:13px; line-height:1.9; }
.ibsh-footer-top>div { font-size:12px; line-height:1.9; }
.ibsh-footer-nav { gap:12px 27px; margin-bottom:32px; }
.ibsh-footer-nav a { font-size:10px; letter-spacing:.08em; text-transform:uppercase; padding-block:8px; }
.ibsh-footer-bottom { font-size:10px; gap:22px; padding-top:23px; }
.ibsh-custom-page>.ibsh-wrap { padding-block:clamp(75px,8vw,130px); }
.ibsh-custom-page>.ibsh-wrap>h1 { font-family:var(--ibsh-serif); font-weight:400; font-size:clamp(50px,6vw,94px); line-height:1.06; letter-spacing:-.045em; max-width:17ch; }
.ibsh-custom-page>.ibsh-wrap>p { font-size:16px; line-height:1.95; }

/* 07 — Responsive composition: preserve routes, controls and image proportions. */
@media (max-width:1100px) {
  .ibsh-nav { gap:15px; }
  .ibsh-header-actions { gap:18px; }
  .ibsh-site .ibsh-page-hero h1 { font-size:clamp(54px,6.5vw,78px); }
  .ibsh-site .ibsh-page-hero.has-image h1 { font-size:clamp(47px,5.2vw,65px); }
  .ibsh-site h2,.ibsh-home>.ibsh-section h2 { font-size:clamp(38px,4.6vw,54px); }
  .ibsh-home-feature-copy h2 { max-width:14ch; }
  .ibsh-milestone { grid-template-columns:105px minmax(0,1fr); gap:22px 35px; padding-block:38px; }
  .ibsh-milestone h3 { max-width:22ch; }
  .ibsh-milestone>p:last-child { grid-column:2; }
  .ibsh-milestone-year { grid-row:1/3; font-size:59px; }
  .ibsh-product-info .ibsh-actions { align-items:start; gap:13px; }
  .ibsh-brand-groups { gap:35px; }
}
@media (max-width:900px) {
  .ibsh-brand { width:98px; }
  .ibsh-brand img { max-height:66px; }
  .ibsh-header-actions { gap:20px; }
  .ibsh-nav { background:var(--ibsh-paper); padding:24px var(--ibsh-gutter) 30px; }
  .ibsh-nav a { font:400 28px/1.25 var(--ibsh-serif); letter-spacing:-.025em; text-transform:none; padding-block:16px; }
  .ibsh-nav a::after { display:none; }
  .ibsh-nav a[aria-current=page] { color:var(--ibsh-accent); }
  .ibsh-home-feature { gap:35px; }
  .ibsh-overview-grid { gap:26px; }
  .ibsh-card h2,.ibsh-card h3 { font-size:30px; }
  .ibsh-resource-card h2 { font-size:38px; }
  .ibsh-footer-top { gap:30px; }
}
@media (max-width:700px) {
  .ibsh-page { --ibsh-gutter:24px; }
  .ibsh-section { padding-block:66px; }
  .ibsh-section-head { display:block; margin-bottom:34px; }
  .ibsh-section-head>.ibsh-lead { margin-top:24px; font-size:14px; line-height:1.95; }
  .ibsh-section-head h2,.ibsh-copy-grid .ibsh-section-head h2 { max-width:17ch; }
  .ibsh-site h2,.ibsh-home>.ibsh-section h2 { font-size:clamp(36px,8.8vw,48px); line-height:1.12; }
  .ibsh-site h3,.ibsh-home>.ibsh-section h3 { font-size:29px; line-height:1.2; }
  .ibsh-kicker { font-size:9px; letter-spacing:.12em; }
  .ibsh-page-hero { padding-block:67px 63px; }
  .ibsh-site .ibsh-page-hero h1,.ibsh-site .ibsh-page-hero.has-image h1 { font-size:clamp(45px,10vw,65px); line-height:1.06; max-width:15ch; }
  .ibsh-page-intro,.ibsh-page-hero.has-image .ibsh-page-intro { font-size:15px; line-height:1.9; margin-top:27px!important; }
  .ibsh-page-hero.has-image>.ibsh-wrap { gap:35px; }
  .ibsh-reliance-page-hero .ibsh-page-hero-image { aspect-ratio:3/2; }
  .ibsh-overview-grid,.ibsh-home-downloads { grid-template-columns:1fr; gap:31px; }
  .ibsh-reading-line { font-size:clamp(29px,7.2vw,38px); line-height:1.4; margin-bottom:38px!important; }
  .ibsh-overview-card { padding-top:26px; }
  .ibsh-overview-card h3 { margin-bottom:15px; }
  .ibsh-home-feature,.ibsh-home-feature.is-reverse { gap:30px; }
  .ibsh-home-feature-copy h2 { max-width:14ch; margin-bottom:23px; }
  .ibsh-home-feature-copy>p:not(.ibsh-kicker),.ibsh-story-copy>p:not(.ibsh-kicker),.ibsh-copy p { font-size:14px; line-height:1.95; }
  .ibsh-home-other-materials { margin-top:39px; }
  .ibsh-home-other-links { gap:13px 25px; }
  .ibsh-home-download { padding-top:27px; }
  .ibsh-home-downloads { margin-bottom:29px; }
  .ibsh-year { font-size:116px; }
  .ibsh-contact-section h2 { max-width:15ch; }
  .ibsh-contact-section .ibsh-actions { gap:15px; }
  .ibsh-button { min-height:49px; padding:14px 18px; gap:25px; font-size:10px; letter-spacing:.07em; }
  .ibsh-link,.ibsh-pdf-link { font-size:10px; gap:18px; }
  .ibsh-page-hero::before,.ibsh-story-section::before,.ibsh-story-journey::before,.ibsh-contact-section::before,
  .ibsh-home-overview::before,.ibsh-home-catalogues::before,.ibsh-home-spc::before {
    background-size:100% auto;
    background-position:center bottom;
    opacity:.8;
  }
  .ibsh-copy-grid,.ibsh-feature,.ibsh-product-detail { gap:30px; }
  .ibsh-card-grid { column-gap:0; }
  .ibsh-card { padding-block:27px; }
  .ibsh-card h2,.ibsh-card h3 { margin-bottom:19px; }
  .ibsh-timeline { border-inline:0; padding:0; }
  .ibsh-milestone { grid-template-columns:1fr; gap:17px; padding-block:32px; }
  .ibsh-milestone-year { grid-row:auto; font-size:59px; }
  .ibsh-milestone>p:last-child { grid-column:auto; }
  .ibsh-milestone h3 { max-width:17ch; font-size:31px; }
  .ibsh-milestone p:not(.ibsh-milestone-year) { font-size:14px; line-height:1.95; }
  .ibsh-sector { margin-top:33px; padding-top:30px; }
  .ibsh-sector-nav { gap:8px 19px; }
  .ibsh-sector-nav a,.ibsh-sector-nav button { font-size:9px; letter-spacing:.045em; }
  .ibsh-sector>h2 { margin-bottom:25px; }
  .ibsh-project-grid>article { padding-block:26px; }
  .ibsh-project-grid h3 { font-size:29px; line-height:1.25; }
  .ibsh-brand-groups { gap:0; }
  .ibsh-brand-group { padding-block:27px; }
  .ibsh-brand-group h3 { font-size:27px; }
  .ibsh-system-card { padding-block:29px; }
  .ibsh-system-card h2,.ibsh-system-card h3 { font-size:32px; }
  .ibsh-product-grid { gap:36px 19px; }
  .ibsh-product-info { padding-top:19px; }
  .ibsh-product-info h2,.ibsh-product-info h3 { font-size:29px; line-height:1.15; overflow-wrap:anywhere; }
  .ibsh-product-info .ibsh-actions { gap:10px; }
  .ibsh-product-info .ibsh-link { font-size:10px; letter-spacing:0; gap:10px; }
  .ibsh-product-info button { font-size:10px; }
  .ibsh-spec strong,.ibsh-spec dd { font-size:23px; }
  .ibsh-spec dt,.ibsh-spec span { letter-spacing:0; }
  .ibsh-resource-grid { gap:45px; }
  .ibsh-resource-card>figure { aspect-ratio:4/4.4; max-height:540px; margin-bottom:25px; }
  .ibsh-resource-card h2 { font-size:39px; }
  .ibsh-download-band { padding-block:31px; }
  .ibsh-download-band h2,.ibsh-download-band h3 { font-size:32px; }
  .ibsh-shortlist-row h2 { font-size:27px; }
  .ibsh-contact-panel h2 { font-size:39px; margin-bottom:23px; }
  .ibsh-contact-details { gap:25px; }
  .ibsh-contact-routes { gap:13px; }
  .ibsh-field input,.ibsh-field select,.ibsh-field textarea { font-size:16px; }
  .ibsh-footer { padding-block:47px 25px; }
  .ibsh-footer-top { grid-template-columns:1fr; gap:25px; margin-bottom:30px; }
  .ibsh-footer .ibsh-brand { width:118px; }
  .ibsh-footer-nav { gap:10px 22px; margin-bottom:25px; }
  .ibsh-footer-nav a { font-size:9px; letter-spacing:.06em; }
  .ibsh-footer-bottom { font-size:10px; gap:14px; }
  .ibsh-custom-page>.ibsh-wrap { padding-block:65px; }
  .ibsh-custom-page>.ibsh-wrap>h1 { font-size:clamp(44px,10vw,61px); }
}
@media (max-width:420px) {
  .ibsh-page { --ibsh-gutter:21px; }
  .ibsh-brand { width:91px; }
  .ibsh-header-actions { gap:15px; }
  .ibsh-language { font-size:9px; letter-spacing:.04em; }
  .ibsh-product-grid { grid-template-columns:1fr; gap:40px; }
  .ibsh-product-info h2,.ibsh-product-info h3 { font-size:34px; }
  .ibsh-product-info .ibsh-actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:20px; }
  .ibsh-product-image { aspect-ratio:4/4.7; }
  .ibsh-contact-section .ibsh-actions { align-items:stretch; flex-direction:column; }
  .ibsh-contact-section .ibsh-button { width:100%; }
}
@media (min-width:901px) and (max-height:720px) {
  .ibsh-page-hero { padding-block:68px; }
  .ibsh-site .ibsh-page-hero h1 { font-size:clamp(54px,5.5vw,83px); }
  .ibsh-page-hero.has-image .ibsh-page-hero-image { max-height:470px; }
}

/* Arabic has its own type rhythm; do not apply Latin tracking or serif glyphs. */
.ibsh-page[dir=rtl] { font-family:var(--ibsh-sans); }
.ibsh-page[dir=rtl] .ibsh-site h1,.ibsh-page[dir=rtl] .ibsh-site h2,.ibsh-page[dir=rtl] .ibsh-site h3,
.ibsh-page[dir=rtl] .ibsh-home>.ibsh-section h2,.ibsh-page[dir=rtl] .ibsh-home>.ibsh-section h3 {
  font-family:var(--ibsh-sans);
  font-weight:400;
  letter-spacing:0;
  line-height:1.5;
}
.ibsh-page[dir=rtl] .ibsh-site .ibsh-page-hero h1 { font-size:clamp(43px,4.8vw,75px); line-height:1.5; max-width:19ch; }
.ibsh-page[dir=rtl] .ibsh-site .ibsh-page-hero.has-image h1 { font-size:clamp(37px,4.1vw,60px); }
.ibsh-page[dir=rtl] .ibsh-site h2,.ibsh-page[dir=rtl] .ibsh-home>.ibsh-section h2 { font-size:clamp(34px,3.5vw,54px); }
.ibsh-page[dir=rtl] .ibsh-site h3,.ibsh-page[dir=rtl] .ibsh-home>.ibsh-section h3 { font-size:clamp(25px,2.4vw,36px); }
.ibsh-page[dir=rtl] .ibsh-section-head h2,.ibsh-page[dir=rtl] .ibsh-home-feature-copy h2 { max-width:19ch; }
.ibsh-page[dir=rtl] .ibsh-reading-line { font-family:var(--ibsh-sans); font-size:clamp(27px,2.9vw,44px); line-height:1.85; letter-spacing:0; }
.ibsh-page[dir=rtl] .ibsh-kicker,.ibsh-page[dir=rtl] .ibsh-nav a,.ibsh-page[dir=rtl] .ibsh-language,
.ibsh-page[dir=rtl] .ibsh-button,.ibsh-page[dir=rtl] .ibsh-header-connect,.ibsh-page[dir=rtl] .ibsh-link,
.ibsh-page[dir=rtl] .ibsh-pdf-link,.ibsh-page[dir=rtl] .ibsh-footer-nav a,.ibsh-page[dir=rtl] .ibsh-sector-nav button {
  font-family:var(--ibsh-sans);
  letter-spacing:0;
  text-transform:none;
}
.ibsh-page[dir=rtl] .ibsh-nav a,.ibsh-page[dir=rtl] .ibsh-header-connect { font-size:12px; }
.ibsh-page[dir=rtl] .ibsh-button,.ibsh-page[dir=rtl] .ibsh-link,.ibsh-page[dir=rtl] .ibsh-pdf-link { font-size:12px; line-height:1.75; }
.ibsh-page[dir=rtl] .ibsh-nav a::after { transform-origin:right; }
.ibsh-page[dir=rtl] .ibsh-page-intro,.ibsh-page[dir=rtl] .ibsh-copy p,.ibsh-page[dir=rtl] .ibsh-card p { line-height:2; }
.ibsh-page[dir=rtl] .ibsh-milestone-year { font-family:var(--ibsh-serif); letter-spacing:-.045em; line-height:1; }
.ibsh-page[dir=rtl] .ibsh-timeline { padding:0; }
.ibsh-page[dir=rtl] .ibsh-milestone h3 { max-width:16ch; }
.ibsh-page[dir=rtl] .ibsh-spec dt,.ibsh-page[dir=rtl] .ibsh-spec span { letter-spacing:0; }
.ibsh-page[dir=rtl] .ibsh-field label { font:400 13px/1.9 var(--ibsh-sans); letter-spacing:0; text-transform:none; }
.ibsh-page[dir=rtl] .ibsh-field label span { font-size:11px; }
.ibsh-page[dir=rtl] .ibsh-field input,.ibsh-page[dir=rtl] .ibsh-field textarea,.ibsh-page[dir=rtl] .ibsh-field select { font-family:var(--ibsh-sans); }
.ibsh-page[dir=rtl] .ibsh-contact-details dt { font-size:12px; letter-spacing:0; }
.ibsh-page[dir=rtl] .ibsh-footer-nav a { font-size:11px; }
.ibsh-page[dir=rtl] .ibsh-home-overview::before,.ibsh-page[dir=rtl] .ibsh-home-catalogues::before,
.ibsh-page[dir=rtl] .ibsh-home-spc::before { transform:scaleX(-1); }
.ibsh-page[dir=rtl] .ibsh-custom-page>.ibsh-wrap>h1 { font-family:var(--ibsh-sans); font-size:clamp(40px,4.5vw,69px); line-height:1.5; letter-spacing:0; }
@media (max-width:900px) {
  .ibsh-page[dir=rtl] .ibsh-nav a { font:400 23px/1.6 var(--ibsh-sans); }
}
@media (max-width:700px) {
  .ibsh-page[dir=rtl] .ibsh-site .ibsh-page-hero h1,.ibsh-page[dir=rtl] .ibsh-site .ibsh-page-hero.has-image h1 { font-size:clamp(33px,8.1vw,45px); line-height:1.55; }
  .ibsh-page[dir=rtl] .ibsh-site h2,.ibsh-page[dir=rtl] .ibsh-home>.ibsh-section h2 { font-size:32px; line-height:1.55; }
  .ibsh-page[dir=rtl] .ibsh-site h3,.ibsh-page[dir=rtl] .ibsh-home>.ibsh-section h3 { font-size:25px; line-height:1.55; }
  .ibsh-page[dir=rtl] .ibsh-reading-line { font-size:26px; line-height:1.9; }
  .ibsh-page[dir=rtl] .ibsh-milestone h3 { max-width:19ch; }
  .ibsh-page[dir=rtl] .ibsh-field input,.ibsh-page[dir=rtl] .ibsh-field textarea,.ibsh-page[dir=rtl] .ibsh-field select { font-size:16px; }
  .ibsh-page[dir=rtl] .ibsh-custom-page>.ibsh-wrap>h1 { font-size:35px; }
}
@media (prefers-reduced-motion:reduce) {
  .ibsh-nav a::after,.ibsh-button,.ibsh-link::after,.ibsh-product-image img,.ibsh-resource-card img,.ibsh-home-photo-frame img { transition:none!important; }
  .ibsh-product-image:hover img,.ibsh-resource-card>figure:hover img,.ibsh-home-photo-frame:hover img { transform:none; }
}
@media print {
  .ibsh-home-overview::before,.ibsh-home-catalogues::before,.ibsh-home-spc::before { display:none; }
  .ibsh-site .ibsh-page-hero h1 { font-size:42pt; }
  .ibsh-section { padding-block:25pt; }
  .ibsh-milestone,.ibsh-card,.ibsh-product-card { break-inside:avoid; }
}
