/* Glorek-inspired layout, using Sawaed's own content, identity, and catalog. */
@font-face {
  font-family: sawaed-cairo;
  src: url('../fonts/Cairo-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: sawaed-cairo;
  src: url('../fonts/Cairo-Bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root {
  --blue: #004aad;
  --blue-dark: #003983;
  --green: #128c52;
  --green-dark: #0d7342;
  --yellow: var(--blue);
  --yellow-dark: var(--blue-dark);
  --ink: #1e293b;
  --muted: #526174;
  --soft: #f8fafc;
  --line: #e2e8f0;
  --dark: #0f172a;
}
html, body, h1, h2, h3, h4, h5, h6, button, input, select, textarea, a,
label, dt, dd, span, strong, b {
  font-family: sawaed-cairo, arabic-kufi, sans-serif;
  letter-spacing: normal;
}
html { scroll-padding-top: 108px; }
body { color: var(--ink); font-size: 16px; line-height: 1.8; }
.container { width: min(1280px, calc(100% - 64px)); }
button, input, select, textarea { font: inherit; }
button, a, input, textarea, select, summary { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
body [hidden] { display: none !important; }
body :focus-visible { outline: 3px solid #2876df; outline-offset: 4px; }
.skip { background: var(--blue); color: white; border-radius: 8px; }

/* One-line desktop header; the original menu bindings remain intact. */
.site-header {
  border-bottom: 1px solid var(--line);
  box-shadow: 0 2px 12px #0f172a05;
  background: #fff;
}
.site-header > .container {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 26px;
  min-height: 96px;
  padding-block: 13px;
}
.brand-row { display: contents; }
.brand { grid-column: 1; grid-row: 1; gap: 11px; min-width: 0; }
.brand img { width: 58px; height: 58px; border-radius: 9px; }
.brand strong { color: #1b2b44; font-size: 24px; font-weight: 700; line-height: 1.35; }
html body .brand .brand-tagline {
  margin-top: 4px; color: #526174; font-size: 13px; line-height: 1.55; font-weight: 400;
}
.nav {
  grid-column: 2; grid-row: 1; justify-content: center;
  gap: clamp(12px, 1.6vw, 24px); min-height: 0; padding: 0;
}
html body .nav a {
  border-bottom: 2px solid transparent; padding: 9px 0;
  color: #26354c; font-size: 15px; line-height: 26px; font-weight: 700;
}
.nav a:hover, .nav a[aria-current='page'] { color: var(--blue); border-bottom-color: var(--blue); }
.header-phone {
  grid-column: 3; grid-row: 1; display: flex; gap: 8px;
  padding: 9px 15px; min-height: 47px; border: 1px solid var(--blue);
  border-radius: 9px; background: var(--blue); color: #fff; font-size: 11px;
}
.header-phone svg { width: 21px; height: 21px; color: #fff; animation: none; }
.header-phone bdi { color: #fff; font-size: 16px; font-weight: 700; }
.header-phone:hover { background: var(--blue-dark); }
.menu-toggle { display: none; }

/* Main banner mirrors the reference's centered image treatment. */
.home-hero {
  display: flex; align-items: center; justify-content: center;
  min-height: min(85vh, 820px); min-height: min(85svh, 820px);
  background: #17283d; color: white; isolation: isolate;
}
.home-hero::after {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, #0f1b2c80, #0a182ba6);
  pointer-events: none;
}
.hero-media {
  position: absolute; inset: 0; z-index: -2; overflow: hidden;
  display: flex; align-items: stretch; background: #405163;
}
.hero-media img {
  width: 100%; height: 100%; object-fit: cover; object-position: center;
  min-width: 0; flex: 1;
}
.home-hero .hero-inner {
  display: block; min-height: 0; padding-block: 92px; position: relative;
}
.home-hero .hero-copy { max-width: 970px; margin-inline: auto; text-align: center; }
html body .home-hero .hero-copy h1 {
  font-size: clamp(36px, 4.6vw, 60px); line-height: 1.3; font-weight: 700;
  margin: 0 auto 17px; max-width: 940px; color: white;
}
html body .home-hero .hero-copy > p,
html body .home-hero .hero-copy > p.business-intro {
  font-size: 21px; line-height: 1.8; font-weight: 400;
  max-width: 760px; margin-inline: auto; color: #fff;
}
html body .home-hero .hero-copy h2 { font-size: 23px; line-height: 1.6; margin-top: 20px; }
.home-hero .hero-actions { justify-content: center; gap: 16px; margin-top: 32px; }
html body .home-hero .hero-copy > p.hero-eyebrow {
  font-size: 17px; line-height: 1.7; margin-bottom: 16px; color: #e7eef8;
}
.hero-catalog-link { display: inline-flex; gap: 9px; margin-top: 26px; color: #fff; font-size: 16px; border-bottom: 1px solid #ffffff60; }
.hero-catalog-link:hover { border-bottom-color: white; }
.home-hero :focus-visible { outline-color: #fff; }
html body .button {
  background: var(--blue); border: 2px solid var(--blue); color: white;
  border-radius: 11px; min-height: 48px; padding: 11px 24px;
  font-size: 15px; line-height: 1.4; font-weight: 700;
}
html body .button:hover { background: var(--blue-dark); border-color: var(--blue-dark); color: white; }
html body .button.outline { background: #ffffff12; border-color: white; color: white; }
html body .button.outline:hover { background: white; color: var(--blue); }
html body .button.secondary { background: white; color: var(--blue); border-color: #cbd5e1; }
html body .button.secondary:hover { background: #eff6ff; border-color: var(--blue); }
html body .button[href*='wa.me'], html body .button.whatsapp {
  color: white; background: var(--green); border-color: var(--green);
}
html body .button[href*='wa.me']:hover, html body .button.whatsapp:hover {
  background: var(--green-dark); border-color: var(--green-dark);
}

/* Equipment categories occupy the trusted-partners band. */
.trust-strip { background: #fff; border-bottom: 1px solid var(--line); padding-top: 56px; }
.trust-strip h2 { text-align: center; color: var(--ink); font-size: 32px; font-weight: 700; }
.trust-strip .category-strip { border: 0; padding-block: 36px 56px; }
.category-strip { gap: 18px; }
.category-strip a { color: #536274; gap: 10px; font-size: 17px; }
.category-strip svg { width: 40px; height: 40px; color: #64748b; }
.category-strip a:hover, .category-strip a:hover svg { color: var(--blue); }

/* Wide, alternating text-and-image panels match the reference structure. */
.section { padding-block: 80px; }
.section-heading { margin-bottom: 42px; }
html body .section-heading h2, html body .page-heading h1 {
  font-size: clamp(28px, 3vw, 38px); line-height: 1.4; color: var(--ink); font-weight: 700;
}
.section-heading > p { color: var(--muted); margin-top: 10px; }
.heading-line { width: 54px; border-radius: 3px; background: var(--blue); margin-top: 16px; }
.feature-section { padding-block: 42px; }
.feature-section + .feature-section { padding-top: 0; padding-bottom: 80px; }
.feature-layout {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center; gap: 48px; padding: 40px;
  background: #f8fafcb3; border: 1px solid #edf1f5; border-radius: 16px;
  box-shadow: 0 1px 3px #0f172a06;
}
.feature-copy { min-width: 0; }
.feature-copy h2, .feature-copy h3 {
  font-size: clamp(27px, 2.7vw, 36px); line-height: 1.45;
  font-weight: 700; color: var(--ink); margin-bottom: 14px;
}
.feature-copy p { color: var(--muted); font-size: 18px; line-height: 1.85; margin-bottom: 16px; }
.feature-copy .button { margin-top: 5px; }
.feature-copy ul { color: var(--muted); line-height: 1.9; padding-inline-start: 22px; }
.feature-media { min-width: 0; border-radius: 12px; overflow: hidden; background: #eef2f6; position: relative; }
.feature-media img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: contain; background: #fff; padding: 18px; }
.feature-media > span, .feature-media > figcaption {
  display: block; padding: 10px 16px; font-size: 13px; line-height: 1.7;
  color: #64748b; background: #fff;
}
.feature-layout .feature-copy { grid-column: 2; grid-row: 1; }
.feature-layout .feature-media { grid-column: 1; grid-row: 1; }
.feature-layout.reverse .feature-copy { grid-column: 1; grid-row: 1; }
.feature-layout.reverse .feature-media { grid-column: 2; grid-row: 1; }

/* Product details stay readable in all catalog and featured cards. */
.equipment-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; align-items: start; }
.equipment-card { border-color: #e5eaf0; border-radius: 16px; box-shadow: 0 5px 18px #17345309; }
.equipment-image { border-bottom: 1px solid #edf1f5; background: #fff; }
.equipment-image img, .catalog-product .equipment-image img {
  width: 100%; aspect-ratio: 1.12 / 1; height: auto; object-fit: contain; padding: 17px;
}
.equipment-image > span {
  top: 13px; right: 13px; border: 1px solid #dbeafe; border-radius: 6px;
  background: #eff6ff; color: var(--blue); font-size: 12px; padding: 4px 9px;
}
.card-body, .catalog-product .card-body { padding: 22px 20px; gap: 11px; text-align: start; }
html body .card-body h3, html body .catalog-product .card-body h3 {
  color: var(--ink); font-size: 19px; font-weight: 700; line-height: 1.55;
}
html body .card-body p, html body .catalog-product .catalog-name-en,
html body .catalog-product .model-code { color: var(--muted); font-size: 15px; line-height: 1.8; }
.catalog-product .model-code { color: #425773; }
html body .card-body .button, html body .equipment-featured .card-body .button {
  min-height: 45px; width: 100%; align-self: stretch; margin-top: 7px;
  border-radius: 9px; padding: 10px 12px; font-size: 14px; line-height: 1.5;
  font-weight: 700; color: white; background: var(--green); border: 2px solid var(--green);
}
html body .equipment-featured .card-body .button:hover { color: white; background: var(--green-dark); border-color: var(--green-dark); }
.equipment-details { border-color: var(--line); padding-top: 11px; }
html body .equipment-details summary { color: var(--blue); text-decoration-color: #93b4e3; font-size: 14px; line-height: 1.8; }
.equipment-details[open] summary { color: var(--blue-dark); }
.equipment-specs > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 10px; }
html body .equipment-specs dt, html body .equipment-specs dd { font-size: 14px; line-height: 1.8; }
.equipment-specs dt { color: #64748b; }
.equipment-specs dd { color: #334155; }
html body .card-body .reference-note { color: #64748b; font-size: 12px; line-height: 1.9; }
.image-note { color: #64748b; font-size: 14px; margin-top: 24px; }
.center-action { margin-top: 30px; }
html body .center-action .button { font-size: 16px; line-height: 1.5; }
.service-showcase { background: var(--soft); }
.service-showcase .equipment-grid { align-items: stretch; }
.service-card { min-width: 0; overflow: hidden; border-radius: 16px; box-shadow: 0 8px 24px #0f172a16; background: #fff; }
.service-card > a { display: block; position: relative; height: 430px; overflow: hidden; border-radius: inherit; }
.service-card img { width: 100%; height: 100%; object-fit: contain; padding: 18px 16px 100px; transition: transform .3s ease; }
.service-card > a::after { content: ''; position: absolute; inset: 20% 0 0; background: linear-gradient(180deg, transparent, #030d1dcc 48%, #030d1d 100%); pointer-events: none; }
.service-card-content { position: absolute; inset: auto 0 0; z-index: 1; padding: 24px 21px; color: #fff; }
.service-card h3 { color: #fff; font-size: 20px; line-height: 1.5; margin-bottom: 10px; }
.service-card p { color: #e2e8f0; font-size: 15px; line-height: 1.8; margin-bottom: 12px; }
.service-card-link { display: inline-flex; gap: 8px; align-items: center; color: #fff; font-size: 14px; font-weight: 700; }
.service-card:hover img { transform: scale(1.04); }
.service-card > a:focus-visible { outline-offset: -5px; }
.service-showcase .equipment-image img { aspect-ratio: 1.05 / 1; }
.service-showcase .equipment-card { background: #12243b; border-color: #12243b; box-shadow: 0 8px 24px #0f172a16; }
.service-showcase .equipment-image { border-bottom: 0; }
.service-showcase .equipment-image::after {
  content: ''; position: absolute; inset: auto 0 0; height: 84px;
  background: linear-gradient(180deg, transparent, #152841); pointer-events: none;
}
.service-showcase .card-body { background: linear-gradient(180deg, #152841, #0d1c2f); }
html body .service-showcase .card-body h3 { color: #fff; }
html body .service-showcase .card-body p { color: #d7e0ec; }
.service-showcase .equipment-details { border-color: #ffffff24; }
html body .service-showcase .equipment-details summary { color: #f1f5f9; text-decoration-color: #9fbedf; }
.service-showcase .equipment-specs > div { border-bottom-color: #ffffff18; }
html body .service-showcase .equipment-specs dt { color: #b5c7df; }
html body .service-showcase .equipment-specs dd { color: #fff; }
html body .service-showcase .card-body .reference-note { color: #b5c7df; }

/* The contact form sits in a white card on the reference blue background. */
.rental-contact {
  position: relative; background-color: var(--blue); padding-block: 76px;
  background-image: linear-gradient(135deg, #ffffff05 25%, transparent 25%, transparent 75%, #ffffff05 75%);
  background-size: 64px 64px;
}
html body .rental-contact .section-heading h2 { color: white; }
.rental-contact .section-heading > p { color: #e8f0fc; }
.rental-contact .section-heading > .eyebrow { color: #d2e4fc; }
.rental-contact .heading-line { background: #fff; }
.contact-shell {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  background: white; border-radius: 16px; overflow: hidden; box-shadow: 0 15px 35px #00275b30;
  max-width: 1152px; color: var(--ink); align-items: start;
}
.contact-info, .contact-form { padding: 40px; min-width: 0; }
.contact-info { background: #fafcff; height: 100%; border-inline-start: 1px solid var(--line); }
.contact-info h2, .contact-info h3, .contact-form h2, .contact-form h3 {
  color: var(--ink); font-size: 28px; line-height: 1.4; margin-bottom: 15px; font-weight: 700;
}
.contact-info p, .contact-form > p { color: var(--muted); font-size: 16px; line-height: 1.8; margin-bottom: 18px; }
.contact-info dl { margin: 18px 0; }
.contact-info dt { color: #64748b; font-size: 14px; margin-top: 14px; }
.contact-info dd { margin: 4px 0 0; font-size: 18px; line-height: 1.7; }
.contact-info a:not(.button) { color: var(--blue); }
.contact-info .phone-large { font-size: 30px; line-height: 1.4; margin-top: 8px; }
.contact-info .contact-phone { display: inline-block; font-size: 34px; font-weight: 700; line-height: 1.4; margin: 2px 0 30px; }
.contact-address { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 27px; margin-bottom: 23px; }
.contact-address h3 { font-size: 21px; margin-bottom: 12px; }
.contact-map-link { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; }
.contact-registration { font-size: 14px !important; }
.contact-info .button { margin-top: 12px; }
.contact-info .contact-map, .contact-info iframe { width: 100%; border: 1px solid var(--line); border-radius: 12px; min-height: 230px; }
.contact-form { display: flex; flex-direction: column; gap: 17px; }
.contact-form label { display: block; color: #334155; font-size: 15px; font-weight: 700; margin-bottom: -10px; }
.contact-form label .optional { color: #64748b; font-size: 13px; font-weight: 400; }
.contact-form label > span[aria-hidden='true'] { color: #b91c1c; }
.form-row label { margin-bottom: 7px; }
.contact-form input, .contact-form textarea, .contact-form select {
  display: block; min-width: 0; width: 100%; min-height: 49px;
  border: 1px solid #cbd5e1; background: white; color: var(--ink);
  border-radius: 9px; padding: 11px 13px; font-size: 16px; line-height: 1.6; font-weight: 400;
}
.contact-form textarea { resize: vertical; min-height: 105px; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #7b8a9e; }
.contact-form input:focus-visible, .contact-form textarea:focus-visible, .contact-form select:focus-visible {
  border-color: var(--blue); outline: 3px solid #004aad1a; outline-offset: 1px;
}
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.contact-form .button { align-self: flex-start; min-width: 180px; }
.contact-form .button[type='submit'] { background: var(--green); border-color: var(--green); }
.contact-form .button[type='submit']:hover { background: var(--green-dark); border-color: var(--green-dark); }
.contact-form .button:disabled { cursor: wait; opacity: .65; }
.contact-form p.form-note { margin: 0; font-size: 13px; color: #64748b; line-height: 1.9; }
.form-status { font-size: 14px; line-height: 1.8; color: var(--blue); }

/* Consistent styling for the existing secondary pages. */
.page-heading { padding-top: 52px; }
html body .page-heading > p { font-size: 18px; line-height: 1.8; color: var(--muted); }
.eyebrow { color: var(--blue); }
html body .page-heading > p.catalog-brief-note { border-color: #93b4e3; font-size: 14px; color: #64748b; }
.search-form { border: 1px solid #cbd5e1; border-radius: 12px; padding: 6px; margin-top: 24px; }
.search-form input { padding: 9px 14px; font-size: 16px; color: var(--ink); }
.results-line { margin-block: 24px; }
.results-line p { color: #64748b; }
.results-line button { color: var(--blue); }
.catalog-section { padding-top: 0; }
.catalog-notice { background: #eff6ff; border-color: #dbeafe; border-inline-start-color: var(--blue); border-radius: 10px; }
.catalog-notice strong, .catalog-notice p { color: #355681; }
.empty-state { background: var(--soft); border-color: #cbd5e1; border-radius: 12px; }
.prose-card { border-color: var(--line); border-top-color: var(--blue); border-radius: 14px; }
.prose-card p, .prose-card li { color: var(--muted); }
.prose-card a:not(.button) { color: var(--blue); text-decoration-color: #93b4e3; }
html body .prose-card h2, html body .prose-card h3 { font-weight: 700; line-height: 1.5; }
.business-card dt { color: #64748b; }
.business-card dd { color: #334155; }
.policy-review-note { background: #eff6ff; border-color: #dbeafe; border-radius: 10px; }
.policy-review-note strong, .policy-review-note p { color: #355681; }
.contact-panel { border-color: var(--line); border-radius: 14px; }
.contact-panel.dark { background: var(--blue); }
.contact-panel.dark p { color: #e7effb; }
.contact-panel.dark .phone-large { color: #fff; }
.contact-panel.dark .button { background: white; color: var(--blue); border-color: white; }
.contact-detail { border-color: var(--line); }
.text-link { color: var(--blue); border-bottom-color: #93b4e3; }
.phone-large { color: var(--blue); }
.contact-strip { padding-block: 34px 54px; border-top-color: var(--line); }
html body .contact-strip h2, html body .cta-section h2 { font-size: 29px; line-height: 1.5; font-weight: 700; }
.cta-section { padding-block: 45px; }
.benefits-grid svg, .step-visual > svg { color: var(--blue); }
.step-visual { border-color: #dbeafe; background: #eff6ff; }
.step-visual > span { background: var(--blue); color: white; }
html body .step h3 { font-weight: 700; }
.faq { gap: 24px; }
.faq article { border-color: var(--line); border-top-color: var(--blue); border-radius: 12px; }
html body .faq h3 { font-size: 21px; line-height: 1.5; font-weight: 700; }

/* The reference uses a light footer with spacious link columns. */
.site-footer { background: #fff; color: #334155; border-top: 1px solid var(--line); padding-top: 54px; }
.footer-inner { padding-bottom: 42px; align-items: start; gap: 55px; }
html body .footer-inner strong { color: var(--ink); font-size: 19px; line-height: 1.7; font-weight: 700; }
html body .footer-inner p { color: #64748b; font-size: 15px; line-height: 1.9; margin-top: 8px; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 34px; max-width: 550px; }
html body .footer-links a { color: #334155; font-size: 16px; line-height: 1.8; }
.footer-links a:hover { color: var(--blue); }
html body .copyright { border-top-color: var(--line); color: #64748b; font-size: 14px; line-height: 1.8; padding-block: 20px 90px; }
.floating-contact { gap: 10px; }
html body .floating-contact .whatsapp-float,
html body .floating-contact .call-float {
  color: white; background: var(--green); border: 2px solid white;
  border-radius: 999px; min-height: 50px; padding: 11px 17px; font-size: 14px; line-height: 1.4;
  font-weight: 700; box-shadow: 0 4px 18px #0f172a25;
}
html body .floating-contact .call-float { background: var(--blue); }
html body .floating-contact .whatsapp-float:hover { background: var(--green-dark); }
html body .floating-contact .call-float:hover { background: var(--blue-dark); }
.floating-contact svg { animation: none; }
html body .measurement-strip, html body .measurement-preferences { font-family: sawaed-cairo, arabic-kufi, sans-serif; border-top-color: var(--blue); }
html body .measurement-strip-actions button, html body .measurement-actions button {
  border-color: #bfd2ec; border-radius: 7px; background: #eff6ff; color: var(--blue-dark);
}
html body .measurement-strip-actions .measurement-strip-settings { background: transparent; border-color: transparent; }
html body .measurement-actions button:hover { background: #dbeafe; }
html body .measurement-preferences a { color: var(--blue); }
html body .measurement-preferences input { accent-color: var(--blue); }

@media (max-width: 1180px) and (min-width: 1024px) {
  .site-header > .container { gap: 18px; }
  .brand strong { font-size: 22px; }
  .brand img { width: 50px; height: 50px; }
  .nav { gap: 16px; }
  html body .nav a { font-size: 14px; }
  .header-phone { padding-inline: 11px; }
}
@media (max-width: 1023px) {
  html { scroll-padding-top: 96px; }
  .container { width: calc(100% - 48px); }
  .site-header > .container { grid-template-columns: 1fr auto; gap: 0 18px; min-height: 86px; padding-block: 13px; }
  .brand { grid-column: 1; }
  .menu-toggle {
    display: inline-flex; grid-column: 2; grid-row: 1; align-items: center; justify-content: center;
    gap: 7px; border: 1px solid var(--line); background: #fff; color: var(--blue);
    border-radius: 9px; min-height: 44px; padding: 9px 12px;
  }
  .menu-toggle svg { width: 21px; height: 21px; }
  .header-phone { display: none; }
  .nav {
    display: none; grid-column: 1 / -1; grid-row: 2; flex-direction: column;
    align-items: stretch; gap: 0; border-top: 1px solid var(--line); margin-top: 13px; padding-top: 8px;
  }
  .nav.is-open { display: flex; }
  html body .nav a { font-size: 16px; line-height: 1.7; padding: 11px 5px; border-bottom: 1px solid var(--line); }
  .nav a[aria-current='page'] { color: var(--blue); background: #eff6ff; border-bottom-color: var(--line); border-radius: 6px; }
  .nav a:last-child { border-bottom: 0; }
  .home-hero { min-height: 700px; min-height: 78svh; }
  .home-hero .hero-inner { padding-block: 84px; }
  html body .home-hero .hero-copy h1 { font-size: 46px; }
  .feature-layout { gap: 32px; padding: 32px; }
  .feature-copy h2, .feature-copy h3 { font-size: 30px; }
  .feature-copy p { font-size: 17px; }
  .equipment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .equipment-featured .equipment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-info, .contact-form { padding: 30px; }
  .footer-inner { gap: 35px; }
}
@media (max-width: 767px) {
  .container { width: calc(100% - 40px); }
  .section { padding-block: 56px; }
  .section-heading { margin-bottom: 32px; }
  .feature-section { padding-block: 30px; }
  .feature-section + .feature-section { padding-bottom: 56px; }
  .feature-layout { grid-template-columns: 1fr; gap: 27px; padding: 27px; }
  .feature-layout .feature-copy, .feature-layout .feature-media, .feature-layout.reverse .feature-copy, .feature-layout.reverse .feature-media { grid-column: auto; grid-row: auto; }
  .feature-media img { aspect-ratio: 4 / 3; padding: 14px; }
  .contact-shell { grid-template-columns: 1fr; }
  .contact-info { border-inline-end: 0; border-bottom: 1px solid var(--line); }
  .rental-contact { padding-block: 56px; }
  .footer-inner { flex-direction: column; gap: 28px; }
  .footer-links { max-width: none; width: 100%; }
  .faq { grid-template-columns: 1fr; }
  .steps { gap: 28px; }
}
@media (max-width: 600px) {
  .container { width: calc(100% - 32px); }
  .site-header > .container { min-height: 80px; gap: 0 10px; padding-block: 11px; }
  .brand { flex: initial; gap: 9px; }
  .brand img { width: 47px; height: 47px; }
  .brand strong { font-size: 21px; }
  html body .brand .brand-tagline { font-size: 12px; line-height: 1.6; margin-top: 2px; }
  html body .menu-toggle { font-size: 13px; padding: 9px; gap: 5px; }
  .home-hero { min-height: 630px; min-height: 78svh; }
  .home-hero .hero-inner { padding-block: 70px; }
  html body .home-hero .hero-copy h1 { font-size: clamp(32px, 8.3vw, 40px); line-height: 1.4; margin-bottom: 16px; }
  html body .home-hero .hero-copy > p, html body .home-hero .hero-copy > p.business-intro { font-size: 18px; line-height: 1.9; }
  html body .home-hero .hero-copy h2 { font-size: 21px; }
  .home-hero .hero-actions { gap: 12px; margin-top: 26px; }
  html body .hero-actions .button { padding: 11px 19px; font-size: 15px; }
  .trust-strip { padding-top: 22px; }
  .trust-strip h2 { font-size: 24px; padding-inline: 16px; }
  .trust-strip .category-strip { padding-block: 25px 28px; }
  .category-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 10px; }
  .category-strip a { font-size: 14px; }
  .category-strip svg { width: 32px; height: 32px; }
  html body .section-heading h2, html body .page-heading h1 { font-size: 29px; line-height: 1.45; }
  .feature-layout { padding: 23px 21px; gap: 24px; }
  .feature-copy h2, .feature-copy h3 { font-size: 27px; line-height: 1.5; }
  .feature-copy p { font-size: 16px; line-height: 1.9; }
  .equipment-grid, .equipment-featured .equipment-grid, .catalog-section .equipment-grid { grid-template-columns: 1fr; gap: 22px; }
  .equipment-image img, .catalog-product .equipment-image img, .equipment-featured .equipment-image img {
    height: auto; aspect-ratio: 1.2 / 1; max-height: 320px; padding: 20px;
  }
  .card-body, .catalog-product .card-body { padding: 23px; }
  html body .card-body h3, html body .catalog-product .card-body h3 { font-size: 21px; line-height: 1.6; }
  html body .card-body p, html body .catalog-product .model-code { font-size: 16px; }
  html body .equipment-specs dt, html body .equipment-specs dd { font-size: 15px; }
  .contact-info, .contact-form { padding: 26px 23px; }
  .contact-info h2, .contact-info h3, .contact-form h2, .contact-form h3 { font-size: 26px; }
  .form-row { grid-template-columns: 1fr; gap: 17px; }
  .contact-form .button { align-self: stretch; width: 100%; }
  .page-heading { padding-top: 35px; }
  html body .page-heading > p { font-size: 17px; }
  .search-form input { padding-inline: 8px; }
  .search-form .button { padding-inline: 17px; }
  .contact-strip { padding-block: 30px 44px; }
  html body .contact-strip h2, html body .cta-section h2 { font-size: 26px; }
  .site-footer { padding-top: 40px; }
  .footer-inner { padding-bottom: 32px; }
  html body .footer-inner strong { font-size: 18px; }
  .footer-links { gap: 12px 22px; }
  html body .footer-links a { font-size: 15px; }
  html body .copyright { font-size: 13px; padding-bottom: 88px; }
  html body .floating-contact .whatsapp-float, html body .floating-contact .call-float { min-height: 47px; padding: 10px 13px; font-size: 14px; }
  .floating-contact { left: 12px; gap: 7px; }
}
@media (max-width: 360px) {
  .brand strong { font-size: 19px; }
  html body .brand .brand-tagline { font-size: 11px; }
  .brand img { width: 42px; height: 42px; }
  html body .menu-toggle { padding-inline: 8px; }
  .feature-layout { padding: 20px 18px; }
  .footer-links { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: no-preference) {
  .button, .header-phone, .nav a, .category-strip a, .category-strip svg, .footer-links a {
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
  }
  .equipment-card { transition: box-shadow 200ms ease; }
  .equipment-card:hover { box-shadow: 0 10px 27px #17345314; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body *, body *::before, body *::after { animation: none !important; transition: none !important; }
}
/* Bounded rental-flow improvements; preserve the current reference-inspired design. */
.power-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:20px auto 4px}.power-filters button{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:10px 20px;font:inherit;font-size:16px;min-height:44px;cursor:pointer}.power-filters button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}.power-filters button:hover{border-color:var(--blue)}.back-catalog{color:var(--blue);text-decoration:underline;font-size:15px;margin-bottom:10px}.catalog-section .equipment-grid.single-result{grid-template-columns:minmax(0,600px);justify-content:center}.catalog-section .single-result .equipment-image img{max-height:330px;object-fit:contain}.home-hero{min-height:520px}.home-hero .hero-inner{padding-block:64px}.home-hero .hero-copy{width:55%;max-width:690px;margin-inline:0 auto;text-align:start}.home-hero .hero-actions{justify-content:flex-start}.hero-media{inset:34px auto 34px 4%;width:38%;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;background:transparent;z-index:0}.hero-media img{object-fit:contain;height:300px;width:100%;padding:14px;background:#fff;border-radius:14px}.home-hero::after{background:linear-gradient(100deg,#17283d,#102036)}html body .home-hero .hero-copy h1{font-size:clamp(34px,3.5vw,50px)}
@media(max-width:1023px){.home-hero{min-height:480px}.home-hero .hero-inner{padding-block:48px}.hero-media{width:36%;left:3%;grid-template-columns:1fr;gap:10px}.hero-media img{height:190px}.hero-media .hero-secondary{display:none}.home-hero .hero-copy{width:60%}html body .home-hero .hero-copy h1{font-size:36px}}
@media(max-width:600px){.power-filters{gap:8px}.power-filters button{font-size:14px;padding:9px 14px}.home-hero{min-height:0;flex-direction:column}.home-hero .hero-inner{order:1;padding-block:38px 22px}.home-hero .hero-copy{width:100%;max-width:none;text-align:center}.home-hero .hero-actions{justify-content:center;margin-top:22px}.hero-media{order:2;position:relative;inset:auto;width:calc(100% - 48px);grid-template-columns:1fr 1fr;margin:0 auto 28px;gap:10px}.hero-media img{height:150px;padding:10px}.hero-media .hero-secondary{display:block}html body .home-hero .hero-copy h1{font-size:32px}.hero-catalog-link{margin-top:18px}.catalog-section .equipment-grid.single-result{grid-template-columns:minmax(0,1fr)}}
/* Hero typography measured from the approved reference: Cairo 700/400. */
html body .home-hero .hero-copy h1{font-family:sawaed-cairo,arabic-kufi,sans-serif;font-weight:700;font-size:60px;line-height:60px;letter-spacing:normal}
html body .home-hero .hero-copy>p.business-intro{font-family:sawaed-cairo,arabic-kufi,sans-serif;font-size:20px;font-weight:400;line-height:28px}
html body .home-hero .hero-actions .button{font-size:14px;font-weight:700;line-height:20px}
@media(max-width:1023px){html body .home-hero .hero-copy h1{font-size:48px;line-height:48px}}
@media(max-width:767px){html body .home-hero .hero-copy h1{font-size:36px;line-height:40px}html body .home-hero .hero-copy>p.business-intro{font-size:18px;line-height:28px}}
/* User-supplied hero artwork, framed on its equipment side without text overlays. */
.home-hero .hero-user-media{display:block;width:42%;inset:30px auto 30px 3%;overflow:hidden;border-radius:16px;background:#253443;border:1px solid #ffffff24}
.home-hero .hero-user-media img{position:absolute;inset:0 0 0 auto;width:160%;max-width:none;height:100%;padding:0;border-radius:0;object-fit:cover;object-position:right bottom;background:transparent}
@media(max-width:1023px){.home-hero .hero-user-media{width:36%;inset:30px auto 30px 3%}.home-hero .hero-user-media img{height:100%;width:180%}}
@media(max-width:600px){.home-hero .hero-user-media{position:relative;inset:auto;order:2;width:calc(100% - 32px);height:220px;margin:0 auto 24px}.home-hero .hero-user-media img{height:100%;width:160%;object-position:right bottom}}
/* Requested full-width image hero: real HTML title, no embedded text collision. */
.home-hero{min-height:520px;display:flex;flex-direction:row;align-items:center;justify-content:center}
.home-hero .hero-full-media{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0;display:block;background:#17283d;z-index:-2;overflow:hidden}
.home-hero .hero-full-media img{position:absolute;inset:0;width:100%;max-width:none;height:100%;padding:0;object-fit:cover;object-position:center 58%;border:0;border-radius:0;background:transparent}
.home-hero::after{z-index:-1;background:linear-gradient(90deg,#07172978,#071729a6 50%,#07172978)}
.home-hero .hero-inner{padding-block:72px;order:initial}.home-hero .hero-copy{width:100%;max-width:960px;margin-inline:auto;text-align:center}.home-hero .hero-actions{justify-content:center}.home-hero .hero-copy h1,.home-hero .hero-copy p{text-shadow:0 2px 5px #0006}
@media(max-width:1023px){.home-hero{min-height:480px}.home-hero .hero-inner{padding-block:64px}.home-hero .hero-full-media{inset:0;width:100%;height:100%;margin:0}.home-hero .hero-full-media img{width:100%;height:100%;object-position:62% center}}
@media(max-width:600px){.home-hero{min-height:460px;flex-direction:row}.home-hero .hero-inner{padding-block:48px;order:initial}.home-hero .hero-full-media{position:absolute;inset:0;width:100%;height:100%;margin:0}.home-hero .hero-full-media img{width:100%;height:100%;object-position:70% center}.home-hero::after{background:#0717299c}}
