/*
Theme Name: Malleable Corporate
Theme URI: https://malleablesoft.in/
Author: Malleable Software Private Limited
Author URI: https://malleablesoft.in/
Description: A focused, accessible corporate theme for Malleable Software's Odoo, MS Reach, website and custom-software services.
Version: 1.3.3
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: malleable-corporate
License: GNU General Public License v2 or later
*/

:root {
  --ms-ink: #211827;
  --ms-muted: #655c6c;
  --ms-purple: #6e1586;
  --ms-purple-dark: #4b0f61;
  --ms-pink: #e20a72;
  --ms-orange: #f49a22;
  --ms-light: #f8f5fa;
  --ms-line: #e7dfea;
  --ms-white: #fff;
  --ms-green: #18794e;
  --ms-max: 1180px;
  --ms-shadow: 0 18px 50px rgba(57, 18, 72, .10);
  --ms-radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ms-ink);
  background: var(--ms-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--ms-purple); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--ms-pink); }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid rgba(226, 10, 114, .35); outline-offset: 3px; }

.screen-reader-text { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.skip-link:focus { left: 18px; top: 18px; z-index: 9999; width: auto; height: auto; padding: 10px 14px; background: #fff; }
.ms-wrap { width: min(calc(100% - 40px), var(--ms-max)); margin-inline: auto; }
.ms-section { padding: 88px 0; }
.ms-section--soft { background: var(--ms-light); }
.ms-section--dark { color: #fff; background: #1b071f; }
.ms-eyebrow { margin: 0 0 12px; color: var(--ms-pink); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ms-title { max-width: 820px; margin: 0; font-size: clamp(2rem, 4vw, 4.2rem); line-height: 1.08; letter-spacing: -.045em; }
.ms-section-title { margin: 0; font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.15; letter-spacing: -.035em; }
.ms-lead { max-width: 760px; color: var(--ms-muted); font-size: clamp(1.05rem, 1.6vw, 1.25rem); }
.ms-section--dark .ms-lead { color: #d9ccdc; }
.ms-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.ms-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 999px; padding: 12px 21px; color: #fff; background: linear-gradient(100deg, var(--ms-purple), var(--ms-pink) 68%, var(--ms-orange)); font-weight: 750; text-decoration: none; box-shadow: 0 10px 30px rgba(167, 20, 118, .18); transition: transform .2s ease, box-shadow .2s ease; }
.ms-button:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 14px 34px rgba(167, 20, 118, .27); }
.ms-button--ghost { color: var(--ms-purple); background: #fff; border-color: var(--ms-line); box-shadow: none; }
.ms-button--ghost:hover { color: var(--ms-pink); background: #fff; }
.ms-resource-download::before { content: "PDF"; display: inline-grid; min-width: 34px; height: 24px; place-items: center; border-radius: 6px; color: var(--ms-purple-dark); background: #fff; font-size: .68rem; font-weight: 900; letter-spacing: .04em; }

.ms-topbar { color: #eee2f1; background: #1b071f; font-size: .82rem; }
.ms-topbar .ms-wrap { display: flex; min-height: 36px; align-items: center; justify-content: space-between; gap: 20px; }
.ms-topbar a { color: #fff; text-decoration: none; }
.ms-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(78, 31, 88, .1); background: rgba(255, 255, 255, .94); backdrop-filter: blur(12px); }
.ms-header__row { display: flex; min-height: 78px; align-items: center; gap: 24px; }
.ms-brand { display: inline-flex; min-width: 250px; align-items: center; gap: 12px; color: var(--ms-ink); text-decoration: none; }
.ms-brand img { width: 44px; height: 44px; object-fit: contain; }
.ms-brand strong { display: block; font-size: 1rem; line-height: 1.15; }
.ms-brand small { display: block; margin-top: 3px; color: var(--ms-muted); font-size: .68rem; letter-spacing: .17em; text-transform: uppercase; }
.ms-nav { margin-left: auto; }
.ms-nav ul { display: flex; align-items: center; gap: 5px; margin: 0; padding: 0; list-style: none; }
.ms-nav li { position: relative; }
.ms-nav .sub-menu { position: absolute; top: calc(100% + 8px); left: 0; display: none; width: 245px; align-items: stretch; border: 1px solid var(--ms-line); border-radius: 14px; padding: 8px; background: #fff; box-shadow: var(--ms-shadow); }
.ms-nav li:hover > .sub-menu, .ms-nav li:focus-within > .sub-menu { display: grid; }
.ms-nav a { display: block; border-radius: 10px; padding: 10px 11px; color: #433949; font-size: .91rem; font-weight: 700; text-decoration: none; }
.ms-nav a:hover, .ms-nav .current-menu-item > a { color: var(--ms-pink); background: #fbf2f7; }
.ms-menu-toggle { display: none; width: 46px; height: 46px; margin-left: auto; border: 1px solid var(--ms-line); border-radius: 12px; color: var(--ms-ink); background: #fff; }

.ms-hero { position: relative; overflow: hidden; padding: 112px 0 96px; background: linear-gradient(180deg, #fff 0%, #fcf8fd 100%); }
.ms-hero::before { position: absolute; inset: -240px -180px auto auto; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(circle, rgba(226, 10, 114, .14), rgba(110, 21, 134, .05) 46%, transparent 68%); content: ""; }
.ms-hero__grid { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 70px; }
.ms-hero__panel { border: 1px solid var(--ms-line); border-radius: 28px; padding: 28px; background: rgba(255,255,255,.86); box-shadow: var(--ms-shadow); }
.ms-proof-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.ms-proof-list li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; }
.ms-proof-list span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: var(--ms-purple); background: #f6eaf8; font-weight: 900; }
.ms-proof-list strong { display: block; }
.ms-proof-list small { color: var(--ms-muted); }

.ms-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 38px; }
.ms-card { position: relative; overflow: hidden; border: 1px solid var(--ms-line); border-radius: var(--ms-radius); padding: 25px; background: #fff; box-shadow: 0 8px 28px rgba(57,18,72,.05); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ms-card:hover { transform: translateY(-4px); border-color: #d4bedb; box-shadow: var(--ms-shadow); }
.ms-card__number { color: var(--ms-pink); font-size: .76rem; font-weight: 850; letter-spacing: .12em; }
.ms-card h3 { margin: 24px 0 10px; font-size: 1.25rem; line-height: 1.25; }
.ms-card p { color: var(--ms-muted); font-size: .94rem; }
.ms-card a { font-weight: 800; }
.ms-card--accent { color: #fff; background: linear-gradient(145deg, var(--ms-purple-dark), var(--ms-purple)); border-color: transparent; }
.ms-card--accent p, .ms-card--accent .ms-card__number { color: #eaddec; }
.ms-card--accent a { color: #fff; }

.ms-split { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.ms-steps { display: grid; gap: 14px; counter-reset: msstep; }
.ms-step { display: grid; grid-template-columns: 48px 1fr; gap: 16px; border-bottom: 1px solid var(--ms-line); padding: 18px 0; }
.ms-step::before { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #fff; background: var(--ms-purple); counter-increment: msstep; content: counter(msstep); font-weight: 850; }
.ms-step h3 { margin: 0 0 4px; font-size: 1.08rem; }
.ms-step p { margin: 0; color: var(--ms-muted); }

.ms-demo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 34px; }
.ms-demo { display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid var(--ms-line); border-radius: 18px; padding: 22px; color: var(--ms-ink); background: #fff; text-decoration: none; }
.ms-demo:hover { color: var(--ms-purple); border-color: #cdb6d5; }
.ms-demo small { display: block; color: var(--ms-muted); }

.ms-note { border-left: 4px solid var(--ms-orange); margin-top: 28px; padding: 10px 0 10px 20px; color: var(--ms-muted); }
.ms-band { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 35px; border-radius: 30px; padding: 48px; color: #fff; background: linear-gradient(115deg, #31053f, #801282 62%, #dd1b76); box-shadow: var(--ms-shadow); }
.ms-band h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.15; }
.ms-band p { max-width: 740px; margin-bottom: 0; color: #eaddec; }
.ms-band .ms-button { color: var(--ms-purple); background: #fff; box-shadow: none; }

.ms-page-hero { padding: 78px 0 50px; background: var(--ms-light); }
.ms-content { width: min(calc(100% - 40px), 850px); margin-inline: auto; padding: 64px 0 90px; }
.ms-content h2 { margin-top: 2.2em; font-size: 1.75rem; line-height: 1.2; }
.ms-content h3 { margin-top: 1.7em; }
.ms-content li { margin-bottom: 8px; }
.ms-table-wrap { max-width: 100%; overflow-x: auto; margin: 30px 0; }
.ms-content table { width: 100%; border-collapse: collapse; border: 1px solid var(--ms-line); background: #fff; }
.ms-content th, .ms-content td { min-width: 250px; border-bottom: 1px solid var(--ms-line); padding: 14px 16px; text-align: left; vertical-align: top; }
.ms-content th { color: #fff; background: var(--ms-purple-dark); }
.ms-content tbody tr:nth-child(even) { background: var(--ms-light); }
.ms-form { display: grid; gap: 20px; margin-top: 32px; }
.ms-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ms-field { display: grid; gap: 7px; }
.ms-field--full { grid-column: 1 / -1; }
.ms-field label, .ms-field legend { color: var(--ms-ink); font-weight: 750; }
.ms-field input, .ms-field select, .ms-field textarea { width: 100%; border: 1px solid #cfc3d3; border-radius: 12px; padding: 12px 14px; color: var(--ms-ink); background: #fff; }
.ms-field textarea { min-height: 150px; resize: vertical; }
.ms-field input:focus, .ms-field select:focus, .ms-field textarea:focus { border-color: var(--ms-purple); box-shadow: 0 0 0 3px rgba(110,21,134,.12); outline: 0; }
.ms-check { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; }
.ms-check input { width: 18px; height: 18px; margin-top: 4px; accent-color: var(--ms-purple); }
.ms-form__note { color: var(--ms-muted); font-size: .88rem; }
.ms-alert { border-radius: 14px; margin: 0 0 24px; padding: 14px 17px; }
.ms-alert--success { border: 1px solid #9fd2b8; color: #125c3d; background: #edf9f2; }
.ms-alert--error { border: 1px solid #edb5b0; color: #8e241c; background: #fff1f0; }
.ms-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.ms-footer { padding: 70px 0 24px; color: #d9ccdc; background: #17041c; }
.ms-footer__grid { display: grid; grid-template-columns: 1.35fr .8fr .8fr 1fr; gap: 45px; }
.ms-footer h2, .ms-footer h3 { color: #fff; }
.ms-footer h3 { font-size: .95rem; text-transform: uppercase; letter-spacing: .08em; }
.ms-footer ul { margin: 0; padding: 0; list-style: none; }
.ms-footer li { margin: 8px 0; }
.ms-footer a { color: #e8ddea; text-decoration: none; }
.ms-footer a:hover { color: #fff; text-decoration: underline; }
.ms-footer__bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); margin-top: 50px; padding-top: 20px; font-size: .82rem; }

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

@media (max-width: 980px) {
  .ms-menu-toggle { display: inline-grid; place-items: center; }
  .ms-header__row { flex-wrap: wrap; }
  .ms-nav { display: none; width: 100%; margin: 0 0 16px; }
  .ms-nav.is-open { display: block; }
  .ms-nav ul { align-items: stretch; flex-direction: column; }
  .ms-nav .sub-menu { position: static; display: grid; width: auto; margin-left: 15px; border: 0; box-shadow: none; }
  .ms-nav a { padding: 12px 14px; }
  .ms-header .ms-button { display: none; }
  .ms-hero__grid, .ms-split { grid-template-columns: 1fr; gap: 42px; }
  .ms-grid { grid-template-columns: repeat(2, 1fr); }
  .ms-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  body { font-size: 16px; }
  .ms-wrap { width: min(calc(100% - 28px), var(--ms-max)); }
  .ms-topbar .ms-wrap { justify-content: center; }
  .ms-topbar span:last-child { display: none; }
  .ms-brand { min-width: 0; }
  .ms-brand small { display: none; }
  .ms-hero { padding: 78px 0 70px; }
  .ms-section { padding: 66px 0; }
  .ms-grid, .ms-demo-grid, .ms-footer__grid { grid-template-columns: 1fr; }
  .ms-form__grid { grid-template-columns: 1fr; }
  .ms-band { grid-template-columns: 1fr; padding: 30px; }
  .ms-footer__bottom { flex-direction: column; }
}

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