@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/Vazirmatn-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --navy-950: #04131f;
  --navy-900: #071b2a;
  --navy-850: #0a2435;
  --navy-800: #0d2e42;
  --navy-700: #153f55;
  --cyan-600: #199da8;
  --cyan-500: #32b7bf;
  --cyan-100: #dff6f7;
  --sand-600: #b98645;
  --sand-500: #d4a967;
  --sand-400: #e6c68f;
  --cream-100: #f7f4ee;
  --cream-50: #fcfbf8;
  --white: #fff;
  --ink: #102a3a;
  --muted: #61727c;
  --line: #dfe5e7;
  --success: #147a50;
  --danger: #a43737;
  --shadow-sm: 0 10px 34px rgba(7, 27, 42, .07);
  --shadow-md: 0 24px 70px rgba(7, 27, 42, .13);
  --shadow-dark: 0 25px 70px rgba(0, 9, 15, .28);
  --radius-sm: 10px;
  --radius: 18px;
  --radius-lg: 28px;
  --container: 1220px;
  --header-height: 82px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  direction: rtl;
  text-align: right;
  color: var(--ink);
  background: var(--white);
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
svg { width: 1.25em; height: 1.25em; fill: currentColor; flex: 0 0 auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { direction: rtl; text-align: right; font: inherit; }
button { color: inherit; }
button, a, input, select, textarea, label { touch-action: manipulation; }
address { font-style: normal; }
::selection { color: var(--navy-950); background: var(--sand-400); }

.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.narrow-content { width: min(840px, 100%); }
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; z-index: 9999; inset-block-start: 12px; inset-inline-start: 12px;
  padding: 10px 16px; color: #fff; background: var(--navy-950); border-radius: 8px;
  transform: translateY(-150%); transition: transform .2s;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--cyan-500); outline-offset: 3px; }

.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 50px; padding: 10px 23px; border: 1px solid transparent; border-radius: 11px;
  font-weight: 700; font-size: .92rem; line-height: 1.4; cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
}
.button:hover { transform: translateY(-2px); }
.button--gold { color: var(--navy-950); background: linear-gradient(135deg, var(--sand-400), var(--sand-500)); box-shadow: 0 10px 30px rgba(190, 137, 67, .24); }
.button--gold:hover { box-shadow: 0 15px 36px rgba(190, 137, 67, .34); }
.button--navy { color: #fff; background: var(--navy-900); box-shadow: 0 10px 28px rgba(7, 27, 42, .16); }
.button--navy:hover { background: var(--navy-800); }
.button--outline { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.04); backdrop-filter: blur(8px); }
.button--outline:hover { border-color: #fff; background: rgba(255,255,255,.1); }
.button--ghost { color: var(--navy-900); border-color: var(--line); background: #fff; }
.button--ghost:hover { border-color: var(--sand-500); box-shadow: var(--shadow-sm); }
.button--wide { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--sand-600); font-weight: 750; font-size: .9rem; }
.text-link svg { transition: transform .2s; }
.text-link:hover svg { transform: translateX(-4px); }
.text-link--large { font-size: 1rem; }

.topline { color: #c4d0d6; background: var(--navy-950); border-bottom: 1px solid rgba(255,255,255,.07); }
.topline__inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topline p { margin: 0; font-size: .72rem; }
.topline__links { display: flex; gap: 24px; }
.topline__links a { display: flex; align-items: center; gap: 7px; font-size: .72rem; transition: color .2s; }
.topline__links a:hover { color: var(--sand-400); }
.topline__links svg { width: 15px; height: 15px; }

.site-header {
  position: sticky; z-index: 1000; inset-block-start: 0; height: var(--header-height);
  color: #fff; background: rgba(7, 27, 42, .96); border-bottom: 1px solid rgba(255,255,255,.09);
  backdrop-filter: blur(14px); transition: height .25s, box-shadow .25s, background .25s;
}
.site-header.is-scrolled { height: 72px; background: rgba(4, 19, 31, .98); box-shadow: 0 16px 42px rgba(0, 10, 18, .2); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 32px; direction: ltr; }
.site-brand { flex: 0 0 205px; }
.kalad-logo, .custom-logo-link { display: flex; align-items: center; width: 100%; }
.kalad-logo--header img, .custom-logo-link img, .custom-logo { width: auto; max-width: 205px; height: 65px; max-height: 65px; object-fit: contain; }
.kalad-logo--footer { width: 140px; }
.kalad-logo--footer img { width: 138px; height: auto; }
.main-navigation { direction: rtl; margin-inline-start: 0; margin-left: auto; }
.main-navigation ul { display: flex; align-items: center; gap: 27px; padding: 0; margin: 0; list-style: none; }
.main-navigation li { position: relative; }
.main-navigation a { display: block; padding-block: 11px; color: #edf4f6; font-size: .84rem; font-weight: 550; white-space: nowrap; transition: color .2s; }
.main-navigation a:hover, .main-navigation .current-menu-item > a, .main-navigation .current-menu-ancestor > a { color: var(--sand-400); }
.main-navigation .current-menu-item > a::after {
  content: ""; position: absolute; inset-inline: 0; inset-block-end: 1px; height: 2px;
  background: var(--sand-500); border-radius: 2px;
}
.main-navigation .sub-menu {
  position: absolute; inset-block-start: 100%; inset-inline-start: -18px; min-width: 220px;
  display: grid; gap: 0; padding: 9px; visibility: hidden; opacity: 0; transform: translateY(8px);
  color: var(--ink); background: #fff; border-radius: 12px; box-shadow: var(--shadow-md); transition: .2s;
}
.main-navigation li:hover > .sub-menu, .main-navigation li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.main-navigation .sub-menu a { padding: 9px 12px; color: var(--ink); border-radius: 7px; }
.main-navigation .sub-menu a:hover { color: var(--navy-900); background: var(--cream-100); }
.header-cta { min-height: 43px; padding-inline: 17px; direction: rtl; font-size: .8rem; }
.mobile-menu-actions { display: none; }
.menu-toggle { display: none; margin-inline-start: auto; padding: 7px; border: 0; color: #fff; background: transparent; cursor: pointer; }
.menu-toggle__label { font-size: .72rem; }
.menu-toggle__bars { display: grid; gap: 4px; width: 23px; }
.menu-toggle__bars i { display: block; height: 2px; background: currentColor; border-radius: 2px; transition: .2s; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars i:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.hero { position: relative; min-height: 690px; overflow: hidden; color: #fff; background: var(--navy-950); }
.hero::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(4,19,31,.08) 0%, rgba(4,19,31,.42) 46%, rgba(4,19,31,.82) 100%); }
.hero__media { position: absolute; inset: 0; background: url("../images/hero-factory-v2.webp") center 48% / cover no-repeat; transform: scale(1.02); }
.hero__pattern, .inner-hero__pattern, .product-hero__pattern {
  position: absolute; z-index: 1; inset: 0; opacity: .1;
  background-image: linear-gradient(30deg, transparent 24%, rgba(255,255,255,.18) 25%, transparent 26%), linear-gradient(150deg, transparent 24%, rgba(255,255,255,.12) 25%, transparent 26%);
  background-size: 76px 44px;
  mask-image: linear-gradient(90deg, transparent, #000 70%);
}
.hero__inner { position: relative; z-index: 2; min-height: 555px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(310px, .55fr); align-items: center; gap: 80px; padding-block: 64px 48px; }
.hero__content { max-width: 720px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-block-end: 11px; color: var(--sand-500); font-size: .78rem; font-weight: 800; letter-spacing: .02em; }
.eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; border-radius: 2px; }
.hero h1 { margin: 0 0 20px; color: #fff; font-size: clamp(2.6rem, 5vw, 4.7rem); line-height: 1.32; letter-spacing: -.035em; font-weight: 900; }
.hero h1 em { color: var(--sand-400); font-style: normal; }
.hero__content > p { max-width: 660px; margin: 0 0 28px; color: #d7e2e7; font-size: 1.05rem; line-height: 2; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__microcopy { display: flex; flex-wrap: wrap; gap: 22px; margin-block-start: 23px; color: #b7c7ce; font-size: .75rem; }
.hero__microcopy span { display: flex; align-items: center; gap: 6px; }
.hero__microcopy svg { color: var(--cyan-500); }
.hero__panel {
  padding: 26px; border: 1px solid rgba(255,255,255,.17); border-radius: 22px;
  background: linear-gradient(145deg, rgba(16,50,69,.8), rgba(5,24,37,.78)); box-shadow: var(--shadow-dark); backdrop-filter: blur(16px);
}
.hero__panel > span { color: var(--cyan-500); font-size: .72rem; font-weight: 800; }
.hero__panel h2 { margin: 4px 0 7px; color: #fff; font-size: 1.28rem; }
.hero__panel > p { margin: 0; color: #bdcbd2; font-size: .82rem; }
.hero__panel ol { display: grid; gap: 10px; margin: 21px 0; padding: 0; list-style: none; counter-reset: none; }
.hero__panel li { display: flex; align-items: center; gap: 11px; padding: 10px 12px; background: rgba(255,255,255,.055); border-radius: 9px; }
.hero__panel li b { display: grid; place-items: center; width: 27px; height: 27px; color: var(--navy-950); background: var(--sand-400); border-radius: 50%; font-size: .7rem; }
.hero__panel li span { font-size: .8rem; }
.hero__panel > a { display: flex; align-items: center; justify-content: center; gap: 8px; padding-block: 10px; color: #fff; background: var(--cyan-600); border-radius: 9px; font-size: .82rem; font-weight: 750; }
.hero-features { position: relative; z-index: 2; min-height: 135px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.15); }
.hero-features > div { display: flex; align-items: center; gap: 14px; padding: 24px; border-inline-end: 1px solid rgba(255,255,255,.11); }
.hero-features > div:last-child { border-inline-end: 0; }
.hero-features > div > svg { width: 32px; height: 32px; color: var(--sand-400); }
.hero-features span, .hero-features strong, .hero-features small { display: block; }
.hero-features strong { font-size: .88rem; }
.hero-features small { color: #9eb1bb; font-size: .69rem; }

.section { padding-block: 96px; }
.soft-section { background: var(--cream-100); border-block: 1px solid #ebe7df; }
.section-heading { max-width: 720px; margin: 0 auto 43px; text-align: center; }
.section-heading h1, .section-heading h2 { margin: 0 0 8px; color: var(--navy-900); font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.5; letter-spacing: -.025em; }
.section-heading p { margin: 0; color: var(--muted); font-size: .95rem; }
.section-heading--light h2 { color: #fff; }
.section-heading--light p { color: #b7c7cf; }
.section-heading-row { position: relative; }
.section-heading-row .section-heading { margin-inline: 0; text-align: start; }
.section-heading-row .section-more { position: absolute; inset-inline-end: 0; inset-block-start: 34px; }

.products-section { background: var(--cream-50); }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.product-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 12px 35px rgba(8,29,42,.045); transition: transform .25s, box-shadow .25s, border-color .25s; }
.product-card:hover { transform: translateY(-7px); border-color: #d8c4a5; box-shadow: var(--shadow-md); }
.product-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 1.36 / 1; background: #f3f0ea; }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.product-card:hover .product-card__media img { transform: scale(1.035); }
.product-card__media > span { position: absolute; inset-block-start: 14px; inset-inline-start: 14px; padding: 5px 10px; color: var(--navy-900); background: rgba(255,255,255,.9); border: 1px solid rgba(255,255,255,.7); border-radius: 20px; backdrop-filter: blur(8px); font-size: .65rem; font-weight: 750; }
.product-card__body { padding: 22px 22px 24px; }
.product-card h3 { margin: 0 0 7px; color: var(--navy-900); font-size: 1.17rem; }
.product-card h3 a:hover { color: var(--sand-600); }
.product-card p { min-height: 56px; margin: 0 0 12px; color: var(--muted); font-size: .8rem; line-height: 1.8; }

.process-section { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 50% -30%, #174b64, var(--navy-900) 52%, var(--navy-950)); }
.process-section__glow { position: absolute; width: 600px; height: 600px; inset-inline-end: -240px; inset-block-start: -350px; border: 1px solid rgba(50,183,191,.16); border-radius: 50%; box-shadow: 0 0 0 80px rgba(50,183,191,.025), 0 0 0 160px rgba(50,183,191,.018); }
.process-grid { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.process-grid::before { content: ""; position: absolute; inset-inline: 11%; inset-block-start: 55px; border-top: 1px dashed rgba(230,198,143,.36); }
.process-step { position: relative; padding: 27px 22px; text-align: center; border: 1px solid rgba(255,255,255,.11); border-radius: var(--radius); background: rgba(255,255,255,.035); backdrop-filter: blur(8px); }
.process-step > span { position: absolute; inset-block-start: 15px; inset-inline-end: 16px; color: rgba(255,255,255,.27); font-weight: 800; font-size: .75rem; }
.process-step__icon { position: relative; display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 16px; color: var(--sand-400); background: var(--navy-900); border: 1px solid var(--sand-500); border-radius: 18px; transform: rotate(45deg); }
.process-step__icon svg { width: 28px; height: 28px; transform: rotate(-45deg); }
.process-section .section-heading h2 { color: #fff; }
.process-step h3 { margin: 0 0 6px; color: #fff; font-size: 1rem; }
.process-step p { margin: 0; color: #d0dde2; font-size: .75rem; line-height: 1.8; }

.portfolio-section { background: #fff; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.project-card { position: relative; min-height: 330px; overflow: hidden; border-radius: var(--radius); background: var(--navy-900); }
.project-card > a { position: absolute; inset: 0; display: block; }
.project-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.project-card:hover img { transform: scale(1.045); }
.project-card__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,19,31,.94), rgba(4,19,31,.06) 68%); }
.project-card__body { position: absolute; inset-inline: 0; inset-block-end: 0; padding: 28px; color: #fff; }
.project-card__body > span { color: var(--sand-400); font-size: .7rem; font-weight: 750; }
.project-card h3, .project-card h3 a { margin: 3px 0 5px; color: #fff !important; font-size: 1.22rem; text-shadow: 0 2px 12px rgba(0,0,0,.32); }
.project-card small { display: flex; align-items: center; gap: 7px; color: #c6d2d7; font-size: .72rem; opacity: 0; transform: translateY(5px); transition: .25s; }
.project-card:hover small { opacity: 1; transform: translateY(0); }
.project-card small svg { width: 15px; }
.project-grid--featured .project-card:first-child { grid-row: span 2; min-height: 678px; }

.industries-section { background: var(--cream-100); }
.industry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.industry-card { position: relative; display: block; padding: 26px; background: #fff; border: 1px solid #e2ddd4; border-radius: var(--radius); transition: transform .25s, border-color .25s, box-shadow .25s; }
.industry-card:hover { transform: translateY(-5px); border-color: var(--sand-500); box-shadow: var(--shadow-sm); }
.industry-card__icon { display: grid; place-items: center; width: 50px; height: 50px; margin-block-end: 18px; color: var(--cyan-600); background: var(--cyan-100); border-radius: 15px; }
.industry-card__icon svg { width: 25px; height: 25px; }
.industry-card h2, .industry-card h3 { margin: 0 0 7px; color: var(--navy-900); font-size: 1.04rem; }
.industry-card p { margin: 0 0 14px; color: var(--muted); font-size: .77rem; line-height: 1.8; }
.industry-card small { display: flex; align-items: center; gap: 7px; color: var(--sand-600); font-weight: 750; }
.industry-card small svg { width: 15px; }

.about-strip { position: relative; overflow: hidden; background: #fff; }
.about-strip__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.about-strip__visual { position: relative; }
.about-strip__visual::before { content: ""; position: absolute; inset: 28px -22px -22px 28px; z-index: -1; background: var(--cream-100); border: 1px solid #e5ded2; border-radius: var(--radius-lg); }
.about-strip__visual img { width: 100%; aspect-ratio: 1.2 / 1; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.about-strip__badge { position: absolute; inset-inline-end: -24px; inset-block-end: 28px; min-width: 165px; padding: 16px 18px; color: #fff; background: var(--navy-900); border: 1px solid rgba(255,255,255,.15); border-radius: 14px; box-shadow: var(--shadow-dark); }
.about-strip__badge strong, .about-strip__badge span { display: block; }
.about-strip__badge strong { color: var(--sand-400); font-size: 1rem; }
.about-strip__badge span { color: #bbc9cf; font-size: .68rem; }
.about-strip__content h2, .inquiry-section__intro h2, .faq-preview h2, .service-fit h2, .split-callout h2 { margin: 0 0 13px; color: var(--navy-900); font-size: clamp(1.8rem, 3.2vw, 2.65rem); line-height: 1.5; }
.about-strip__content > p, .inquiry-section__intro > p, .faq-preview__grid > div > p, .service-fit p, .split-callout p { margin: 0 0 23px; color: var(--muted); }
.check-list { display: grid; gap: 13px; padding: 0; margin: 23px 0 27px; list-style: none; }
.check-list li { display: flex; align-items: flex-start; gap: 10px; color: #3f5663; }
.check-list li > svg { width: 22px; height: 22px; padding: 4px; margin-block-start: 4px; color: #fff; background: var(--cyan-600); border-radius: 50%; }
.check-list strong { color: var(--navy-900); }

.inquiry-section { color: #fff; background: linear-gradient(125deg, var(--navy-950), var(--navy-800)); }
.inquiry-section__grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 70px; }
.inquiry-section__intro h2 { color: #fff; }
.inquiry-section__intro > p { color: #bac9d0; }
.contact-choice { display: grid; gap: 11px; margin-block-start: 28px; }
.contact-choice > a { display: flex; align-items: center; gap: 13px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.04); transition: .2s; }
.contact-choice > a:hover { border-color: rgba(230,198,143,.55); background: rgba(255,255,255,.08); }
.contact-choice > a > svg { width: 25px; height: 25px; color: var(--sand-400); }
.contact-choice small, .contact-choice strong { display: block; }
.contact-choice small { color: #9eb1bb; font-size: .67rem; }
.contact-choice strong { font-size: .88rem; }
.inquiry-form-wrap { color: var(--ink); }
.inquiry-form { position: relative; padding: 30px; background: #fff; border: 1px solid rgba(8,29,42,.09); border-radius: 20px; box-shadow: var(--shadow-md); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: block; }
.field--full { grid-column: 1 / -1; }
.field > span { display: block; margin-block-end: 6px; color: #334d5a; font-size: .73rem; font-weight: 650; }
.field > span b { color: var(--danger); }
.field input, .field select, .field textarea {
  width: 100%; padding: 11px 13px; color: var(--ink); background: #f9faf9; border: 1px solid #dce3e5; border-radius: 9px; outline: 0; transition: border .2s, box-shadow .2s, background .2s;
}
.field input, .field select { min-height: 48px; }
.field textarea { min-height: 120px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { background: #fff; border-color: var(--cyan-500); box-shadow: 0 0 0 3px rgba(50,183,191,.12); }
.upload-field { position: relative; min-height: 82px; display: flex; align-items: center; gap: 13px; padding: 14px; border: 1px dashed #b9c9cf; border-radius: 11px; background: #f8fbfb; cursor: pointer; transition: .2s; }
.upload-field:hover { border-color: var(--cyan-600); background: #f1fafa; }
.upload-field input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-field__icon { display: grid; place-items: center; width: 45px; height: 45px; color: var(--cyan-600); background: var(--cyan-100); border-radius: 11px; }
.upload-field strong, .upload-field small { display: block; }
.upload-field strong { color: var(--navy-900); font-size: .78rem; }
.upload-field small { color: var(--muted); font-size: .68rem; }
.consent-field { display: flex; align-items: flex-start; gap: 9px; margin-block: 16px; color: var(--muted); font-size: .68rem; cursor: pointer; }
.consent-field input { margin-block-start: 6px; accent-color: var(--cyan-600); }
.form-help { margin: 10px 0 0; color: #7b8a92; text-align: center; font-size: .64rem; }
.form-notice { display: flex; align-items: flex-start; gap: 9px; margin-block-end: 13px; padding: 13px 15px; border-radius: 10px; font-size: .76rem; }
.form-notice--success { color: var(--success); background: #e9f8f1; border: 1px solid #bde6d2; }
.form-notice--error { color: var(--danger); background: #fff0f0; border: 1px solid #edcaca; }
.honey-field { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }

.faq-preview { background: #fff; }
.faq-preview__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: start; }
.accordion { border-top: 1px solid var(--line); }
.accordion__item { border-bottom: 1px solid var(--line); }
.accordion__item h3 { margin: 0; }
.accordion__item button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 3px; border: 0; color: var(--navy-900); background: transparent; text-align: start; font-weight: 700; cursor: pointer; }
.accordion__item button i { position: relative; width: 19px; height: 19px; flex: 0 0 19px; }
.accordion__item button i::before, .accordion__item button i::after { content: ""; position: absolute; inset: 50% 0 auto; height: 2px; background: var(--sand-600); transition: transform .2s; }
.accordion__item button i::after { transform: rotate(90deg); }
.accordion__item button[aria-expanded="true"] i::after { transform: rotate(0); }
.accordion__panel { padding: 0 3px 18px; }
.accordion__panel p { margin: 0; color: var(--muted); font-size: .85rem; }

.journal-section { background: var(--cream-50); }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.post-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); transition: .25s; }
.post-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-sm); }
.post-card__media { display: block; aspect-ratio: 1.45 / 1; overflow: hidden; background: var(--cream-100); }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.post-card:hover .post-card__media img { transform: scale(1.035); }
.post-card > div { padding: 21px; }
.post-card > div > span { color: var(--sand-600); font-size: .68rem; }
.post-card h2, .post-card h3 { margin: 4px 0 8px; color: var(--navy-900); font-size: 1.05rem; line-height: 1.65; }
.post-card p { margin: 0 0 13px; color: var(--muted); font-size: .76rem; }

.inner-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 25% 10%, #17465d, var(--navy-900) 48%, var(--navy-950)); }
.inner-hero::after { content: ""; position: absolute; width: 380px; height: 380px; inset-inline-end: -110px; inset-block-end: -250px; border: 1px solid rgba(230,198,143,.2); border-radius: 50%; box-shadow: 0 0 0 65px rgba(230,198,143,.025), 0 0 0 130px rgba(230,198,143,.018); }
.inner-hero__content { position: relative; z-index: 2; min-height: 330px; display: flex; flex-direction: column; justify-content: center; padding-block: 55px; }
.inner-hero h1 { max-width: 850px; margin: 0 0 11px; color: #fff !important; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.45; }
.inner-hero__content > p { max-width: 750px; margin: 0; color: #c3d0d6; }
.breadcrumbs { margin-block-end: 28px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0; padding: 0; margin: 0; list-style: none; }
.breadcrumbs li { display: flex; align-items: center; color: #9eb1bb; font-size: .68rem; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-inline: 9px; color: #68808d; }
.breadcrumbs a:hover { color: var(--sand-400); }

.catalog-note, .portfolio-intro { display: flex; align-items: center; gap: 17px; margin-block-end: 36px; padding: 22px 24px; background: var(--cream-100); border: 1px solid #e8e1d6; border-radius: var(--radius); }
.catalog-note > span { display: grid; place-items: center; width: 52px; height: 52px; color: var(--sand-600); background: #fff; border-radius: 14px; }
.catalog-note > span svg { width: 27px; height: 27px; }
.catalog-note > div, .portfolio-intro > div { flex: 1; }
.catalog-note strong, .catalog-note p, .portfolio-intro h2, .portfolio-intro p { display: block; margin: 0; }
.catalog-note strong, .portfolio-intro h2 { color: var(--navy-900); font-size: 1rem; }
.catalog-note p, .portfolio-intro p { color: var(--muted); font-size: .76rem; }
.product-grid--archive { grid-template-columns: repeat(3, 1fr); }
.navigation.pagination { margin-block-start: 40px; }
.nav-links { display: flex; justify-content: center; gap: 7px; }
.page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding-inline: 10px; color: var(--navy-900); border: 1px solid var(--line); border-radius: 8px; }
.page-numbers.current, .page-numbers:hover { color: #fff; background: var(--navy-900); border-color: var(--navy-900); }
.split-callout { display: flex; align-items: center; justify-content: space-between; gap: 70px; }
.split-callout > div { max-width: 680px; }
.split-callout .check-list { min-width: 340px; }
.empty-state { padding: 75px 30px; text-align: center; background: var(--cream-100); border-radius: var(--radius); }
.empty-state h2 { margin: 0 0 7px; }
.empty-state p { margin: 0; color: var(--muted); }

.product-hero, .project-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(125deg, var(--navy-950), var(--navy-800)); }
.product-hero .breadcrumbs, .project-hero .breadcrumbs { padding-block-start: 32px; margin-block-end: 15px; }
.product-hero__grid, .project-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; padding-block-end: 70px; }
.product-hero__content h1, .project-hero__copy h1 { margin: 0 0 12px; font-size: clamp(2.2rem, 4vw, 3.8rem); line-height: 1.4; }
.product-hero__content > p, .project-hero__copy > p { max-width: 620px; margin: 0 0 25px; color: #c4d1d7; font-size: 1rem; }
.product-hero__actions { display: flex; flex-wrap: wrap; gap: 11px; }
.product-hero__note { display: flex; align-items: center; gap: 7px; margin-block-start: 17px !important; color: #9eb3bc !important; font-size: .7rem !important; }
.product-hero__note svg { color: var(--cyan-500); }
.product-hero__image { position: relative; padding: 11px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 24px; }
.product-hero__image img, .project-hero__grid > img { width: 100%; aspect-ratio: 1.32 / 1; object-fit: cover; background: #f5f2ec; border-radius: 16px; }
.product-hero__image > span { position: absolute; inset-inline-start: 27px; inset-block-end: 27px; padding: 7px 12px; color: var(--navy-950); background: var(--sand-400); border-radius: 8px; font-size: .68rem; font-weight: 800; }
.product-detail__grid, .project-detail__grid, .article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 75px; align-items: start; }
.prose { color: #344e5b; font-size: .95rem; }
.prose > :first-child { margin-block-start: 0; }
.prose h2 { margin: 42px 0 12px; color: var(--navy-900); font-size: 1.55rem; line-height: 1.55; }
.prose h3 { margin: 30px 0 9px; color: var(--navy-900); font-size: 1.17rem; }
.prose p { margin: 0 0 18px; }
.prose ul, .prose ol { padding-inline-start: 22px; }
.prose a { color: var(--cyan-600); text-decoration: underline; text-underline-offset: 3px; }
.feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.feature-list > div { display: flex; align-items: center; gap: 9px; padding: 14px; background: var(--cream-100); border: 1px solid #eae3d9; border-radius: 11px; font-size: .82rem; }
.feature-list svg { padding: 3px; color: #fff; background: var(--cyan-600); border-radius: 50%; }
.detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.detail-columns section { padding: 23px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.detail-columns h2 { margin-block-start: 0; font-size: 1.15rem; }
.detail-columns ul { margin: 0; }
.info-banner { display: flex; align-items: flex-start; gap: 15px; margin-block-start: 35px; padding: 20px; background: var(--cyan-100); border: 1px solid #bee7e9; border-radius: 14px; }
.info-banner > span { display: grid; place-items: center; width: 45px; height: 45px; flex: 0 0 45px; color: var(--cyan-600); background: #fff; border-radius: 12px; }
.info-banner strong, .info-banner p { display: block; margin: 0; }
.info-banner strong { color: var(--navy-900); font-size: .9rem; }
.info-banner p { color: #496974; font-size: .76rem; }
.sticky-card { position: sticky; inset-block-start: 100px; padding: 27px; background: var(--navy-900); color: #fff; border-radius: var(--radius); box-shadow: var(--shadow-md); }
.sticky-card__icon { display: grid; place-items: center; width: 54px; height: 54px; color: var(--sand-400); background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; }
.sticky-card__icon svg { width: 28px; height: 28px; }
.sticky-card h2 { margin: 17px 0 8px; font-size: 1.25rem; line-height: 1.6; }
.sticky-card > p { margin: 0 0 18px; color: #afbec6; font-size: .78rem; }
.sticky-card__contact { display: flex; align-items: center; gap: 11px; margin-block-start: 18px; padding-block-start: 16px; border-top: 1px solid rgba(255,255,255,.12); }
.sticky-card__contact > svg { color: var(--sand-400); }
.sticky-card__contact small, .sticky-card__contact strong { display: block; }
.sticky-card__contact small { color: #8fa5af; font-size: .63rem; }
.sticky-card__contact strong { font-size: .9rem; }
.process-mini__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.process-mini__grid > div { position: relative; padding: 24px; background: #fff; border: 1px solid #e4ded4; border-radius: 14px; }
.process-mini__grid b { position: absolute; inset-inline-end: 17px; inset-block-start: 13px; color: #d5c6b0; font-size: 1.35rem; }
.process-mini__grid h3 { margin: 0 0 5px; font-size: 1rem; }
.process-mini__grid p { margin: 0; color: var(--muted); font-size: .75rem; }

.portfolio-intro { justify-content: space-between; }
.portfolio-intro h2 { font-size: 1.35rem; }
.project-grid--archive { grid-template-columns: repeat(3, 1fr); }
.project-grid--archive .project-card { min-height: 320px; }
.project-hero__copy { padding-block: 35px; }
.project-hero__grid > img { padding: 9px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.project-facts { padding: 27px; background: var(--cream-100); border: 1px solid #e6dfd3; border-radius: var(--radius); }
.project-facts h2 { margin: 0 0 15px; font-size: 1.15rem; }
.project-facts dl { margin: 0; }
.project-facts dl > div { padding-block: 12px; border-bottom: 1px solid #ded9cf; }
.project-facts dt { color: var(--muted); font-size: .68rem; }
.project-facts dd { margin: 1px 0 0; color: var(--navy-900); font-weight: 700; font-size: .84rem; }
.project-facts > a { display: flex; align-items: center; gap: 8px; margin-block-start: 18px; color: var(--cyan-600); font-weight: 750; font-size: .8rem; }

.page-intro { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card { position: relative; min-height: 250px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: .25s; }
.service-card:hover { transform: translateY(-5px); border-color: var(--sand-500); box-shadow: var(--shadow-sm); }
.service-card > span { display: grid; place-items: center; width: 54px; height: 54px; margin-block-end: 21px; color: var(--cyan-600); background: var(--cyan-100); border-radius: 15px; }
.service-card > span svg { width: 28px; height: 28px; }
.service-card > b { position: absolute; inset-inline-end: 20px; inset-block-start: 18px; color: #c8d2d6; font-size: .8rem; }
.service-card h2 { margin: 0 0 8px; color: var(--navy-900); font-size: 1.08rem; }
.service-card p { margin: 0; color: var(--muted); font-size: .78rem; }
.service-timeline { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.service-timeline > div { position: relative; padding: 15px 20px; text-align: center; }
.service-timeline > div:not(:last-child)::after { content: ""; position: absolute; inset-inline-end: calc(50% + 25px); inset-inline-start: calc(-50% + 25px); inset-block-start: 39px; border-top: 1px dashed rgba(230,198,143,.42); }
.service-timeline b { position: relative; z-index: 2; display: grid; place-items: center; width: 50px; height: 50px; margin: 0 auto 14px; color: var(--sand-400); background: var(--navy-900); border: 1px solid var(--sand-500); border-radius: 50%; }
.service-timeline h3 { margin: 0 0 4px; font-size: .9rem; }
.service-timeline p { margin: 0; color: #9fb2bb; font-size: .67rem; }
.service-fit__grid { display: grid; grid-template-columns: 1fr .85fr; gap: 80px; align-items: center; }
.service-fit .check-list { padding: 27px; background: var(--cream-100); border: 1px solid #e5dfd5; border-radius: var(--radius); }

.about-page__story { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center; }
.about-page__image { position: relative; }
.about-page__image img { width: 100%; aspect-ratio: 1 / .9; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.about-page__image > span { position: absolute; inset-inline-start: -25px; inset-block-end: 30px; display: flex; flex-direction: column; padding: 17px 21px; color: #fff; background: var(--navy-900); border-radius: 13px; box-shadow: var(--shadow-dark); font-size: .7rem; }
.about-page__image > span b { color: var(--sand-400); font-size: 1.6rem; line-height: 1.2; }
.legal-card { margin-block-start: 27px; padding: 20px; background: var(--cream-100); border: 1px solid #e6dfd4; border-radius: 13px; }
.legal-card > strong { display: block; margin-block-end: 8px; color: var(--navy-900); }
.legal-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; margin: 0; }
.legal-card dl > div { padding-block: 7px; border-bottom: 1px solid #e1dbd1; }
.legal-card dt { color: var(--muted); font-size: .65rem; }
.legal-card dd { margin: 0; color: var(--navy-900); font-size: .78rem; font-weight: 700; }
.value-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 17px; }
.value-grid > div { padding: 25px; background: #fff; border: 1px solid #e5dfd5; border-radius: var(--radius); }
.value-grid > div > span { display: grid; place-items: center; width: 50px; height: 50px; color: var(--sand-600); background: #faf2e4; border-radius: 14px; }
.value-grid h3 { margin: 15px 0 5px; font-size: 1rem; }
.value-grid p { margin: 0; color: var(--muted); font-size: .75rem; }
.mission-section { color: #fff; background: var(--navy-900); }
.mission-section__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.mission-section h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.6rem); line-height: 1.55; }
.mission-section p { margin: 0 0 20px; color: #bbcad1; }

.contact-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.contact-card { display: flex; flex-direction: column; min-height: 230px; padding: 23px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); transition: .25s; }
.contact-card:hover { transform: translateY(-5px); border-color: var(--sand-500); box-shadow: var(--shadow-sm); }
.contact-card > span { display: grid; place-items: center; width: 49px; height: 49px; margin-block-end: 23px; color: var(--cyan-600); background: var(--cyan-100); border-radius: 14px; }
.contact-card > small { color: var(--sand-600); font-size: .66rem; }
.contact-card > strong { margin-block: 2px 8px; color: var(--navy-900); font-size: .83rem; overflow-wrap: anywhere; }
.contact-card > em { margin-block-start: auto; color: var(--muted); font-size: .67rem; font-style: normal; }
.contact-main__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 65px; align-items: start; }
.contact-main__info h2 { margin: 0 0 10px; font-size: 2rem; }
.contact-main__info address { display: grid; gap: 13px; margin-block-start: 25px; }
.contact-main__info address > div { display: flex; align-items: flex-start; gap: 12px; padding: 15px; background: #fff; border: 1px solid #e4ded5; border-radius: 11px; }
.contact-main__info address > div > svg { margin-block-start: 4px; color: var(--sand-600); }
.contact-main__info address strong, .contact-main__info address a, .contact-main__info address small { display: block; }
.contact-main__info address strong { color: var(--navy-900); font-size: .78rem; }
.contact-main__info address span { color: var(--muted); font-size: .72rem; }
.contact-main__info address a { color: var(--navy-900); font-weight: 650; }
.quote-page__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: start; }
.quote-page__side { position: sticky; inset-block-start: 105px; }
.quote-page__side h2 { margin: 0 0 11px; font-size: 1.9rem; line-height: 1.55; }
.quote-page__side > p { color: var(--muted); }
.secure-note { display: flex; gap: 12px; padding: 17px; background: var(--cyan-100); border-radius: 12px; }
.secure-note > span { color: var(--cyan-600); }
.secure-note strong, .secure-note p { display: block; margin: 0; }
.secure-note strong { font-size: .78rem; }
.secure-note p { color: #55717a; font-size: .68rem; }
.whatsapp-banner { display: flex; align-items: center; gap: 12px; margin-block-start: 13px; padding: 14px 16px; color: #fff; background: #178f5d; border-radius: 11px; }
.whatsapp-banner > svg { width: 27px; height: 27px; }
.whatsapp-banner small, .whatsapp-banner strong { display: block; }
.whatsapp-banner small { color: #c5eadb; font-size: .63rem; }
.whatsapp-banner strong { font-size: .82rem; }

.faq-page__grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 80px; align-items: start; }
.faq-page__intro { position: sticky; inset-block-start: 105px; }
.faq-page__intro h2 { margin: 0 0 8px; font-size: 1.9rem; }
.faq-page__intro p { color: var(--muted); }
.faq-page__intro .text-link { display: flex; width: fit-content; margin-block-start: 19px; }
.accordion--large .accordion__item { padding-inline: 19px; margin-block-end: 11px; border: 1px solid var(--line); border-radius: 13px; }
.accordion--large .accordion__item button { padding-block: 18px; }

.industry-grid--page .industry-card { padding: 29px; }
.industry-grid--page .industry-card ul { display: grid; gap: 5px; padding-inline-start: 17px; margin: 15px 0; color: var(--muted); font-size: .7rem; }
.industry-detail__grid { display: grid; grid-template-columns: 1fr 360px; gap: 75px; align-items: start; }
.industry-detail__cta { position: sticky; inset-block-start: 100px; padding: 28px; color: #fff; background: var(--navy-900); border-radius: var(--radius); box-shadow: var(--shadow-md); }
.industry-detail__cta > span { display: grid; place-items: center; width: 56px; height: 56px; color: var(--sand-400); background: rgba(255,255,255,.07); border-radius: 16px; }
.industry-detail__cta h2 { margin: 17px 0 8px; font-size: 1.25rem; line-height: 1.6; }
.industry-detail__cta p { color: #afbec6; font-size: .77rem; }
.industry-detail__cta > a:last-child { display: flex; align-items: center; justify-content: center; gap: 7px; margin-block-start: 15px; color: var(--cyan-500); font-size: .75rem; font-weight: 750; }

.article-hero { color: #fff; background: linear-gradient(120deg, var(--navy-950), var(--navy-800)); }
.article-hero__inner { min-height: 410px; display: flex; flex-direction: column; justify-content: center; padding-block: 45px; }
.article-hero h1 { max-width: 900px; margin: 0 0 17px; font-size: clamp(2rem,4vw,3.5rem); line-height: 1.5; }
.article-meta { display: flex; gap: 25px; color: #9fb1ba; font-size: .7rem; }
.article-featured { width: 100%; margin: 0 0 35px; aspect-ratio: 1.65 / 1; object-fit: cover; border-radius: var(--radius); }
.article-cta { margin-block-start: 0; }
.post-grid--archive { grid-template-columns: repeat(3, 1fr); }
.generic-page .prose { margin-inline: auto; }
.generic-page .prose > img:first-child { border-radius: var(--radius); }
.search-form-large { display: flex; gap: 10px; max-width: 720px; margin: 0 auto 45px; }
.search-form-large label { flex: 1; }
.search-form-large input { width: 100%; min-height: 50px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; }
.search-results-list { display: grid; gap: 14px; max-width: 900px; margin-inline: auto; }
.search-results-list article { padding: 23px; border: 1px solid var(--line); border-radius: 13px; }
.search-results-list article > span { color: var(--sand-600); font-size: .65rem; }
.search-results-list h2 { margin: 2px 0 6px; font-size: 1.15rem; }
.search-results-list p { margin: 0; color: var(--muted); font-size: .78rem; }
.mixed-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.error-page { min-height: 620px; display: grid; place-items: center; color: #fff; text-align: center; background: radial-gradient(circle at center, var(--navy-800), var(--navy-950)); }
.error-page__inner > span { display: block; color: var(--sand-400); font-size: clamp(5rem,13vw,9rem); font-weight: 900; line-height: 1; opacity: .8; }
.error-page h1 { margin: 15px 0 7px; font-size: 2rem; }
.error-page p { margin: 0 0 22px; color: #b5c4cb; }
.error-page__inner > div { display: flex; justify-content: center; gap: 10px; }

.footer-cta { padding-block: 52px; color: #fff; background: linear-gradient(115deg, var(--navy-800), var(--navy-950)); border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.footer-cta h2 { margin: 0 0 6px; color: #fff; font-size: clamp(1.6rem,3vw,2.3rem); }
.footer-cta p { margin: 0; color: #d2dee2; font-size: .85rem; }
.footer-cta__actions { display: flex; flex: 0 0 auto; gap: 10px; }
.site-footer { padding-block-start: 66px; color: #aebdc5; background: var(--navy-950); }
.footer-grid { display: grid; grid-template-columns: 1.35fr .8fr .9fr 1.25fr; gap: 55px; }
.footer-brand p { max-width: 330px; margin: 17px 0; font-size: .75rem; }
.social-links { display: flex; gap: 8px; }
.social-links a { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; font-size: .67rem; transition: .2s; }
.social-links a svg { width: 18px; height: 18px; }
.social-links__instagram svg { color: #e6c68f; }
.social-links__whatsapp svg { color: #56d69a; }
.social-links a:hover { color: var(--sand-400); border-color: var(--sand-500); }
.footer-column h3 { margin: 0 0 17px; color: #fff; font-size: .93rem; }
.footer-column ul { display: grid; gap: 7px; padding: 0; margin: 0; list-style: none; }
.footer-column li { font-size: .72rem; }
.footer-column a { transition: color .2s; }
.footer-column a:hover { color: var(--sand-400); }
.footer-contact li { display: flex; align-items: flex-start; gap: 10px; padding-block: 3px; }
.footer-contact li > svg { margin-block-start: 4px; color: var(--sand-400); }
.footer-contact span, .footer-contact a, .footer-contact small { display: block; }
.footer-contact small { color: #738a95; }
.footer-trust {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  margin-block-start: 38px; padding: 17px 20px;
  background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.09); border-radius: 17px;
}
.footer-trust__copy span, .footer-trust__copy strong, .footer-trust__copy small { display: block; }
.footer-trust__copy span { margin-block-end: 2px; color: var(--sand-400); font-size: .68rem; font-weight: 800; }
.footer-trust__copy strong { color: #fff; font-size: .9rem; }
.footer-trust__copy small { margin-block-start: 2px; color: #94a8b2; font-size: .65rem; }
.enamad-badge {
  display: grid; flex: 0 0 104px; place-items: center; min-height: 112px; padding: 8px;
  background: #fff; border: 1px solid rgba(230,198,143,.65); border-radius: 13px;
  box-shadow: 0 14px 36px rgba(0,8,14,.22); transition: transform .2s, box-shadow .2s;
}
.enamad-badge:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(0,8,14,.3); }
.enamad-badge img { width: 88px; max-height: 98px; object-fit: contain; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-block-start: 48px; padding-block: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.footer-trust + .footer-bottom { margin-block-start: 20px; }
.footer-bottom p { margin: 0; color: #718792; font-size: .62rem; }

.floating-contact { position: fixed; z-index: 900; inset-inline-start: 18px; inset-block-end: 18px; display: flex; gap: 8px; }
.floating-contact__item { display: flex; align-items: center; gap: 7px; min-height: 44px; padding: 9px 13px; color: #fff; border-radius: 24px; box-shadow: 0 12px 35px rgba(3,18,27,.25); font-size: .7rem; font-weight: 750; transition: transform .2s; }
.floating-contact__item:hover { transform: translateY(-3px); }
.floating-contact__item--call { background: var(--navy-700); }
.floating-contact__item--whatsapp { background: #168f5b; }
.floating-contact__item--instagram { background: linear-gradient(135deg, #6d42c7, #c83f76 55%, #e39b39); }
.quick-assistant { position: fixed; z-index: 910; inset-inline-end: 18px; inset-block-end: 18px; }
.quick-assistant__toggle { display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 10px 15px; color: var(--navy-950); background: var(--sand-400); border: 0; border-radius: 24px; box-shadow: var(--shadow-dark); font-size: .72rem; font-weight: 800; cursor: pointer; }
.quick-assistant__panel { position: absolute; inset-inline-end: 0; inset-block-end: 58px; width: min(365px, calc(100vw - 30px)); overflow: hidden; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-md); }
.quick-assistant__panel[hidden] { display: none; }
.quick-assistant__panel > header { display: flex; align-items: center; justify-content: space-between; padding: 16px; color: #fff; background: var(--navy-900); }
.quick-assistant__panel > header strong, .quick-assistant__panel > header small { display: block; }
.quick-assistant__panel > header strong { font-size: .82rem; }
.quick-assistant__panel > header small { color: #a7bac3; font-size: .62rem; }
.quick-assistant__panel > header button { padding: 0; color: #fff; background: transparent; border: 0; font-size: 1.5rem; cursor: pointer; }
.quick-assistant__body { min-height: 220px; max-height: 360px; overflow-y: auto; padding: 15px; background: #f7f9f9; }
.chat-message { width: fit-content; max-width: 88%; margin: 0 0 10px; padding: 10px 12px; border-radius: 12px; font-size: .7rem; }
.chat-message--bot { background: #fff; border: 1px solid var(--line); border-start-start-radius: 3px; }
.chat-options { display: flex; flex-wrap: wrap; gap: 7px; }
.chat-options button { padding: 7px 10px; color: var(--navy-900); background: #fff; border: 1px solid #cad8dc; border-radius: 18px; font-size: .65rem; cursor: pointer; }
.chat-options button:hover { border-color: var(--cyan-600); }
.quick-assistant__panel > footer { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.quick-assistant__panel > footer a { padding: 11px; text-align: center; font-size: .68rem; font-weight: 750; }
.quick-assistant__panel > footer a:last-child { color: #fff; background: #168f5b; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1120px) {
  .header-inner { gap: 20px; }
  .site-brand { flex-basis: 170px; }
  .kalad-logo--header img, .custom-logo-link img, .custom-logo { max-width: 170px; height: 56px; }
  .main-navigation ul { gap: 18px; }
  .main-navigation a { font-size: .78rem; }
  .hero__inner { gap: 45px; }
  .contact-cards { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1.2fr .8fr .8fr; }
  .footer-contact { grid-column: 1 / -1; }
  .footer-contact ul { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 960px) {
  :root { --header-height: 72px; }
  .topline { display: none; }
  .site-header { background: rgba(7,27,42,.99); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .container { width: min(var(--container), calc(100% - 34px)); }
  .header-inner { position: relative; gap: 14px; padding-inline-end: 60px; }
  .site-brand { flex-basis: 175px; }
  .menu-toggle { position: absolute; z-index: 2; top: 50%; right: 0; display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 50px; min-height: 48px; margin: 0; padding: 8px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.06); transform: translateY(-50%); }
  .menu-toggle[aria-expanded="true"] { color: var(--navy-950); background: var(--sand-400); border-color: var(--sand-400); }
  .header-cta { display: none; }
  .main-navigation { position: fixed; z-index: 1001; inset: var(--kalad-mobile-nav-top, var(--header-height)) 0 0; display: flex; flex-direction: column; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 14px 18px calc(16px + env(safe-area-inset-bottom)); visibility: hidden; opacity: 0; transform: translateY(-10px); background: rgba(4,19,31,.99); border-top: 1px solid rgba(255,255,255,.1); transition: .2s; }
  .main-navigation.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
  .main-navigation ul { display: grid; width: 100%; gap: 4px; }
  .main-navigation li { border-bottom: 1px solid rgba(255,255,255,.08); }
  .main-navigation a { display: flex; align-items: center; min-height: 50px; padding: 12px 10px; color: #f4f7f8; border-radius: 9px; font-size: .9rem; font-weight: 650; }
  .main-navigation > ul > li > a::after { content: "←"; margin-inline-start: auto; color: var(--sand-400); font-size: .82rem; opacity: .82; }
  .main-navigation > ul > li > a:hover, .main-navigation > ul > li > a:focus-visible, .main-navigation > ul > .current-menu-item > a { color: #fff; background: rgba(255,255,255,.07); }
  .main-navigation .current-menu-item > a::after { display: none; }
  .main-navigation .sub-menu { position: static; display: grid; min-width: 0; padding: 0 13px 10px; visibility: visible; opacity: 1; transform: none; background: transparent; box-shadow: none; }
  .main-navigation .sub-menu a { min-height: 46px; color: #bac9d0; font-size: .82rem; }
  .mobile-menu-actions { position: sticky; inset-block-end: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; margin-block-start: auto; padding-block-start: 18px; background: linear-gradient(0deg, var(--navy-950) 78%, rgba(4,19,31,0)); }
  .main-navigation .mobile-menu-action { justify-content: center; min-height: 52px; padding: 10px 12px; border: 0; border-radius: 11px; font-size: .84rem; font-weight: 800; box-shadow: 0 10px 28px rgba(0,8,14,.24); }
  .main-navigation .mobile-menu-action--quote { color: var(--navy-950); background: linear-gradient(135deg, var(--sand-400), var(--sand-500)); }
  .main-navigation .mobile-menu-action--whatsapp { color: #fff; background: #168f5b; }
  .main-navigation .mobile-menu-action svg { width: 20px; height: 20px; }
  body.nav-open .floating-contact, body.nav-open .quick-assistant { visibility: hidden; opacity: 0; pointer-events: none; }
  .hero { min-height: auto; }
  .hero__inner { min-height: 620px; grid-template-columns: 1fr; align-content: center; gap: 28px; padding-block: 65px 45px; }
  .hero__content { max-width: 760px; }
  .hero__panel { display: none; }
  .hero-features { grid-template-columns: 1fr 1fr; }
  .hero-features > div:nth-child(2) { border-inline-end: 0; }
  .section { padding-block: 76px; }
  .product-grid, .product-grid--archive { grid-template-columns: repeat(2,1fr); }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .process-grid::before { display: none; }
  .project-grid--featured .project-card:first-child { grid-row: auto; min-height: 330px; }
  .industry-grid { grid-template-columns: repeat(2,1fr); }
  .about-strip__grid, .inquiry-section__grid, .faq-preview__grid, .about-page__story, .contact-main__grid, .quote-page__grid, .faq-page__grid, .service-fit__grid, .mission-section__grid { grid-template-columns: 1fr; gap: 50px; }
  .about-strip__content { order: -1; }
  .inquiry-section__intro { max-width: 700px; }
  .faq-preview__grid > div:first-child { max-width: 650px; }
  .post-grid, .post-grid--archive { grid-template-columns: repeat(2,1fr); }
  .project-grid--archive { grid-template-columns: repeat(2,1fr); }
  .product-hero__grid, .project-hero__grid { gap: 40px; }
  .product-detail__grid, .project-detail__grid, .article-layout { grid-template-columns: 1fr; gap: 45px; }
  .sticky-card, .quote-page__side, .faq-page__intro, .industry-detail__cta { position: static; }
  .sticky-card { max-width: 620px; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
  .service-timeline { grid-template-columns: repeat(3,1fr); gap: 20px; }
  .service-timeline > div::after { display: none; }
  .value-grid { grid-template-columns: repeat(2,1fr); }
  .industry-detail__grid { grid-template-columns: 1fr; gap: 45px; }
  .industry-detail__cta { max-width: 560px; }
  .footer-cta__inner { align-items: flex-start; flex-direction: column; gap: 25px; }
}

@media (max-width: 782px) {
  :root { --header-height: 64px; }
  html { scroll-padding-top: 78px; }
  body { font-size: 15px; }
  .container { width: min(var(--container), calc(100% - 24px)); }
  .site-header.is-scrolled { height: var(--header-height); }
  .header-inner { gap: 10px; padding-inline-end: 58px; }
  .site-brand { flex-basis: 140px; }
  .kalad-logo--header img, .custom-logo-link img, .custom-logo { max-width: 140px; height: 46px; }
  .menu-toggle__label { font-size: .68rem; }
  .button { min-height: 48px; padding: 9px 18px; font-size: .86rem; }
  .hero::before { background: rgba(4,19,31,.72); }
  .hero__media { background-position: 78% center; }
  .hero__inner { min-height: auto; padding-block: 40px 30px; }
  .eyebrow { margin-block-end: 8px; font-size: .7rem; }
  .hero h1 { margin-block-end: 14px; font-size: clamp(1.75rem, 7.7vw, 2.25rem); line-height: 1.38; letter-spacing: -.02em; }
  .hero__content > p { margin-block-end: 21px; font-size: .88rem; line-height: 1.85; }
  .hero__actions { align-items: stretch; flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .hero__microcopy { gap: 8px 14px; margin-block-start: 17px; font-size: .68rem; }
  .hero-features { min-height: 176px; }
  .hero-features > div { padding: 12px 9px; gap: 8px; }
  .hero-features > div > svg { width: 23px; height: 23px; }
  .hero-features strong { font-size: .78rem; line-height: 1.55; }
  .hero-features small { font-size: .66rem; line-height: 1.55; }
  .section { padding-block: 42px; }
  .section-heading { margin-block-end: 24px; }
  .section-heading h1, .section-heading h2 { font-size: clamp(1.42rem, 6vw, 1.75rem); line-height: 1.55; }
  .section-heading p { font-size: .83rem; line-height: 1.8; }
  .about-strip__content h2, .inquiry-section__intro h2, .faq-preview h2, .service-fit h2, .split-callout h2, .mission-section h2 { font-size: clamp(1.45rem, 6vw, 1.78rem); }
  .section-heading-row .section-heading { padding-inline-end: 0; }
  .section-heading-row .section-more { position: static; margin-block: -12px 28px; }
  .product-grid, .product-grid--archive, .process-grid, .project-grid, .project-grid--archive, .industry-grid, .post-grid, .post-grid--archive, .service-grid, .value-grid, .contact-cards, .mixed-grid { grid-template-columns: 1fr; }
  .product-card { display: grid; grid-template-columns: 42% 58%; align-items: stretch; }
  .product-card__media { height: 100%; min-height: 174px; aspect-ratio: auto; }
  .product-card__body { display: flex; flex-direction: column; justify-content: center; padding: 14px; }
  .product-card h3 { font-size: .95rem; }
  .product-card p { min-height: 0; font-size: .74rem; line-height: 1.75; }
  .product-card__media > span { display: none; }
  .project-card, .project-grid--featured .project-card:first-child { min-height: 260px; }
  .project-card__body { padding: 18px; }
  .project-card h3, .project-card h3 a { font-size: 1.08rem; }
  .about-strip__grid { gap: 34px; }
  .about-strip__badge { inset-inline-end: 12px; inset-block-end: 12px; }
  .form-grid { grid-template-columns: 1fr; gap: 12px; }
  .field--full { grid-column: auto; }
  .inquiry-form { padding: 17px 14px; border-radius: 14px; }
  .field > span { margin-block-end: 4px; font-size: .72rem; }
  .field input, .field select, .field textarea { padding: 9px 11px; font-size: 16px; }
  .field input, .field select { min-height: 48px; }
  .field textarea { min-height: 105px; }
  .upload-field { min-height: 72px; gap: 10px; padding: 11px; }
  .upload-field__icon { width: 41px; height: 41px; flex: 0 0 41px; }
  .upload-field strong { font-size: .74rem; }
  .upload-field small { font-size: .63rem; line-height: 1.65; }
  .consent-field { min-height: 44px; align-items: center; gap: 10px; margin-block: 11px; padding-block: 4px; font-size: .72rem; line-height: 1.65; }
  .consent-field input { width: 22px; height: 22px; flex: 0 0 22px; margin: 0; }
  .inner-hero__content { min-height: 225px; padding-block: 32px; }
  .inner-hero h1 { font-size: clamp(1.7rem, 7.2vw, 2.1rem); line-height: 1.5; }
  .inner-hero__content > p { font-size: .84rem; line-height: 1.85; }
  .breadcrumbs { margin-block-end: 15px; }
  .catalog-note, .portfolio-intro { align-items: flex-start; flex-direction: column; }
  .catalog-note .button, .portfolio-intro .button { width: 100%; }
  .split-callout { align-items: flex-start; flex-direction: column; gap: 25px; }
  .split-callout .check-list { min-width: 0; }
  .product-hero__grid, .project-hero__grid { grid-template-columns: 1fr; gap: 30px; padding-block-end: 48px; }
  .product-hero__content { order: 2; }
  .product-hero__actions { flex-direction: column; }
  .product-hero__actions .button { width: 100%; }
  .product-hero__content h1, .project-hero__copy h1, .article-hero h1 { font-size: clamp(1.75rem, 7.4vw, 2.2rem); }
  .feature-list, .detail-columns, .process-mini__grid { grid-template-columns: 1fr; }
  .service-timeline { grid-template-columns: 1fr 1fr; }
  .legal-card dl { grid-template-columns: 1fr; }
  .about-page__image > span { inset-inline-start: 12px; }
  .contact-card { min-height: 170px; padding: 19px; }
  .contact-main__info h2, .quote-page__side h2, .faq-page__intro h2 { font-size: 1.55rem; }
  .article-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
  .search-form-large { align-items: stretch; flex-direction: column; }
  .accordion__item button, .accordion--large .accordion__item button { min-height: 52px; padding-block: 14px; font-size: .86rem; line-height: 1.65; }
  .footer-cta__actions { width: 100%; align-items: stretch; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-contact ul { grid-template-columns: 1fr; }
  .social-links a { min-height: 44px; padding: 8px 12px; }
  .footer-trust { align-items: flex-start; padding: 15px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 4px; }
  .floating-contact { inset-inline: auto 60px; inset-block-end: max(8px, env(safe-area-inset-bottom)); gap: 6px; }
  .floating-contact__item { width: 46px; height: 46px; padding: 0; justify-content: center; }
  .floating-contact__item span { display: none; }
  .floating-contact__item--call, .floating-contact__item--instagram { display: none; }
  .quick-assistant { inset-inline-end: 8px; inset-block-end: max(8px, env(safe-area-inset-bottom)); }
  .quick-assistant__toggle { width: 46px; padding: 0; justify-content: center; }
  .quick-assistant__toggle span { display: none; }
  .quick-assistant__panel { width: calc(100vw - 24px); max-height: calc(100dvh - 88px); }
  .quick-assistant__body { max-height: calc(100dvh - 235px); }
  .quick-assistant__panel > header button, .chat-options button, .quick-assistant__panel > footer a { min-height: 44px; }
}

@media (max-width: 420px) {
  .product-card { grid-template-columns: 39% 61%; }
  .product-card__body { padding: 12px; }
  .product-card p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .product-card .text-link { font-size: .7rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-column, .footer-brand, .footer-contact { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media print {
  .topline, .site-header, .footer-cta, .site-footer, .floating-contact, .quick-assistant { display: none !important; }
  body { color: #000; background: #fff; }
  .section { padding-block: 30px; }
}
