:root {
  --about-navy: #10213f;
  --about-navy-2: #173a6f;
  --about-blue: #2463eb;
  --about-blue-light: #edf4ff;
  --about-orange: #f47b20;
  --about-green: #18a957;
  --about-text: #172033;
  --about-muted: #5f6d80;
  --about-line: #dfe7f1;
  --about-bg: #f7faff;
  --about-shadow: 0 22px 55px rgba(16, 33, 63, .13);
  --about-shadow-sm: 0 10px 30px rgba(16, 33, 63, .08);
}

.about-redesign-page { margin:0; color:var(--about-text); background:#fff; font-family:"Inter",Arial,sans-serif; }
.about-redesign-page *, .about-redesign-page *::before, .about-redesign-page *::after { box-sizing:border-box; }
.about-redesign-page img { display:block; max-width:100%; }
.about-redesign-page a { text-decoration:none; }
.de-about-main { overflow:hidden; }
.de-about-shell { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.de-about-section { padding:92px 0; }
.de-about-section h2, .de-about-hero h1 { font-family:"Poppins",Arial,sans-serif; color:var(--about-navy); letter-spacing:-.035em; }
.de-about-section h2 { margin:0; font-size:clamp(34px,4vw,52px); line-height:1.13; }
.de-about-kicker, .de-about-eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--about-blue); font-size:13px; line-height:1; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.de-about-kicker::before, .de-about-eyebrow::before { content:""; width:28px; height:3px; border-radius:10px; background:var(--about-orange); }
.de-about-section-head { max-width:810px; margin:0 auto 46px; text-align:center; }
.de-about-section-head .de-about-kicker { justify-content:center; }
.de-about-section-head p { max-width:760px; margin:16px auto 0; color:var(--about-muted); font-size:17px; line-height:1.75; }
.de-about-svg, .about-redesign-page .de-svg-icon { width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }

/* Hero */
.de-about-hero { position:relative; padding:82px 0 88px; background:radial-gradient(circle at 75% 22%,rgba(36,99,235,.13),transparent 29%),linear-gradient(135deg,#fff 0%,#f5f9ff 100%); }
.de-about-hero::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,#dce7f6,transparent); }
.de-about-hero-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:72px; align-items:center; }
.de-about-hero h1 { max-width:660px; margin:19px 0 23px; font-size:clamp(48px,5.5vw,76px); line-height:1.03; }
.de-about-hero h1 em { color:var(--about-blue); font-style:normal; position:relative; white-space:nowrap; }
.de-about-hero h1 em::after { content:""; position:absolute; left:2%; right:0; bottom:-6px; height:9px; border-bottom:3px solid var(--about-orange); border-radius:50%; transform:rotate(-2deg); }
.de-about-hero-copy > p { max-width:650px; margin:0; color:var(--about-muted); font-size:18px; line-height:1.75; }
.de-about-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:30px; }
.de-about-button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 22px; border-radius:12px; font-size:15px; font-weight:800; transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.de-about-button:hover { transform:translateY(-3px); }
.de-about-button .de-svg-icon, .de-about-button .de-about-svg { font-size:21px; }
.de-about-button-primary { color:#fff; background:var(--about-green); box-shadow:0 13px 25px rgba(24,169,87,.22); }
.de-about-button-primary:hover { color:#fff; background:#128d49; }
.de-about-button-secondary { color:var(--about-navy); background:#fff; border:1px solid #cfdceb; box-shadow:0 9px 22px rgba(16,33,63,.07); }
.de-about-button-secondary:hover { color:var(--about-blue); border-color:#9db8e6; }
.de-about-hero-points { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:38px; padding-top:28px; border-top:1px solid #dce5f0; }
.de-about-hero-points div { display:flex; flex-direction:column; gap:4px; }
.de-about-hero-points strong { color:var(--about-navy); font-family:"Poppins",sans-serif; font-size:24px; line-height:1.1; }
.de-about-hero-points span { color:var(--about-muted); font-size:13px; font-weight:600; }
.de-about-hero-visual { position:relative; min-height:530px; }
.de-about-visual-card { position:absolute; overflow:hidden; margin:0; border:7px solid #fff; border-radius:24px; box-shadow:var(--about-shadow); background:#dbe8f7; }
.de-about-visual-card img { width:100%; height:100%; object-fit:cover; }
.de-about-visual-card-main { z-index:3; width:59%; height:455px; left:20.5%; top:14px; }
.de-about-visual-card-left, .de-about-visual-card-right { z-index:1; width:34%; height:360px; top:72px; }
.de-about-visual-card-left { left:0; transform:rotate(-4deg); }
.de-about-visual-card-right { right:0; transform:rotate(4deg); }
.de-about-visual-card::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(16,33,63,.23),transparent 48%); }
.de-about-visual-badge, .de-about-review-badge { position:absolute; z-index:5; background:#fff; border:1px solid rgba(213,224,238,.9); box-shadow:0 16px 35px rgba(16,33,63,.16); }
.de-about-visual-badge { left:2%; bottom:20px; display:flex; gap:13px; align-items:center; padding:15px 18px; border-radius:16px; }
.de-about-visual-badge > .de-svg-icon { width:38px; height:38px; padding:8px; color:var(--about-blue); background:#edf4ff; border-radius:11px; }
.de-about-visual-badge strong, .de-about-visual-badge span { display:block; }
.de-about-visual-badge strong { color:var(--about-navy); font-size:14px; }
.de-about-visual-badge span { margin-top:3px; color:var(--about-muted); font-size:12px; }
.de-about-review-badge { right:0; bottom:30px; width:245px; padding:18px 20px; border-radius:18px; }
.de-about-review-badge span { display:block; color:#f3a100; font-size:17px; letter-spacing:.12em; }
.de-about-review-badge strong, .de-about-review-badge small { display:block; }
.de-about-review-badge strong { margin-top:6px; color:var(--about-navy); font-size:14px; }
.de-about-review-badge small { margin-top:5px; color:var(--about-muted); font-size:12px; line-height:1.45; }

/* Assurance */
.de-about-assurance { padding:0 0 22px; background:#fff; }
.de-about-assurance-grid { position:relative; z-index:10; display:grid; grid-template-columns:repeat(3,1fr); margin-top:-28px; border:1px solid var(--about-line); border-radius:20px; background:#fff; box-shadow:var(--about-shadow-sm); }
.de-about-assurance article { display:flex; gap:16px; padding:24px 26px; align-items:center; }
.de-about-assurance article + article { border-left:1px solid var(--about-line); }
.de-about-assurance article > .de-about-svg { width:48px; height:48px; padding:11px; color:var(--about-blue); background:var(--about-blue-light); border-radius:14px; }
.de-about-assurance strong, .de-about-assurance span { display:block; }
.de-about-assurance strong { color:var(--about-navy); font-size:15px; }
.de-about-assurance span { margin-top:4px; color:var(--about-muted); font-size:13px; line-height:1.5; }

/* Story */
.de-about-story { background:#fff; }
.de-about-story-grid { display:grid; grid-template-columns:1.02fr .98fr; gap:72px; align-items:center; }
.de-about-story-visual { position:relative; }
.de-about-story-visual img { width:100%; height:570px; object-fit:cover; border-radius:28px; box-shadow:var(--about-shadow); }
.de-about-story-overlay { position:absolute; left:26px; right:26px; bottom:26px; padding:24px 27px; border-radius:18px; background:rgba(16,33,63,.9); color:#fff; backdrop-filter:blur(12px); }
.de-about-story-overlay span { display:block; color:#f6ad40; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.de-about-story-overlay strong { display:block; margin-top:7px; font-family:"Poppins",sans-serif; font-size:20px; line-height:1.35; }
.de-about-story-copy h2 { margin:15px 0 20px; }
.de-about-story-copy p { margin:0 0 16px; color:var(--about-muted); font-size:17px; line-height:1.78; }
.de-about-story-copy blockquote { margin:25px 0; padding:20px 22px; color:var(--about-navy); background:#f4f8ff; border-left:4px solid var(--about-orange); border-radius:0 14px 14px 0; font-size:16px; font-weight:700; line-height:1.65; }
.de-about-text-link { display:inline-flex; align-items:center; gap:9px; color:var(--about-blue); font-size:15px; font-weight:800; }
.de-about-text-link .de-about-svg { font-size:20px; transition:transform .2s ease; }
.de-about-text-link:hover .de-about-svg { transform:translateX(4px); }

/* Services */
.de-about-services { background:var(--about-bg); }
.de-about-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.de-about-service-grid article { min-height:245px; padding:29px; border:1px solid var(--about-line); border-radius:20px; background:#fff; box-shadow:0 8px 26px rgba(16,33,63,.05); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.de-about-service-grid article:hover { transform:translateY(-6px); border-color:#b8cdf0; box-shadow:var(--about-shadow-sm); }
.de-about-service-grid article > span { width:58px; height:58px; display:grid; place-items:center; border-radius:17px; color:var(--about-blue); background:var(--about-blue-light); }
.de-about-service-grid article > span .de-about-svg { width:29px; height:29px; }
.de-about-service-grid h3 { margin:22px 0 10px; color:var(--about-navy); font-family:"Poppins",sans-serif; font-size:20px; line-height:1.35; }
.de-about-service-grid p { margin:0; color:var(--about-muted); font-size:15px; line-height:1.72; }

/* Process */
.de-about-process { position:relative; background:linear-gradient(125deg,#10213f,#173f79); }
.de-about-process::before { content:""; position:absolute; inset:0; opacity:.16; background-image:radial-gradient(circle at 15% 22%,#7bb0ff 0 1px,transparent 2px),radial-gradient(circle at 76% 70%,#fff 0 1px,transparent 2px); background-size:38px 38px,54px 54px; }
.de-about-process .de-about-shell { position:relative; }
.de-about-section-head-light h2 { color:#fff; }
.de-about-section-head-light p { color:rgba(255,255,255,.73); }
.de-about-process .de-about-kicker { color:#8bb7ff; }
.de-about-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.de-about-process-grid article { position:relative; min-height:270px; padding:27px 24px; border:1px solid rgba(255,255,255,.14); border-radius:20px; background:rgba(255,255,255,.07); color:#fff; }
.de-about-process-grid article b { position:absolute; top:20px; right:20px; color:rgba(255,255,255,.26); font-size:30px; font-family:"Poppins",sans-serif; }
.de-about-process-grid article > span { width:60px; height:60px; display:grid; place-items:center; border-radius:18px; color:#ffc35c; background:rgba(255,255,255,.1); }
.de-about-process-grid article > span .de-about-svg { width:31px; height:31px; }
.de-about-process-grid h3 { margin:23px 0 10px; color:#fff; font-family:"Poppins",sans-serif; font-size:19px; line-height:1.4; }
.de-about-process-grid p { margin:0; color:rgba(255,255,255,.72); font-size:14px; line-height:1.7; }

/* Why */
.de-about-why { background:#fff; }
.de-about-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:19px; }
.de-about-why-grid article { display:grid; grid-template-columns:auto 1fr; gap:17px; align-items:start; padding:25px; border:1px solid var(--about-line); border-radius:18px; background:#fff; }
.de-about-why-grid article > span { width:52px; height:52px; display:grid; place-items:center; border-radius:15px; color:var(--about-orange); background:#fff7eb; }
.de-about-why-grid article > span .de-about-svg { width:27px; height:27px; }
.de-about-why-grid h3 { margin:0 0 7px; color:var(--about-navy); font-family:"Poppins",sans-serif; font-size:18px; line-height:1.35; }
.de-about-why-grid p { margin:0; color:var(--about-muted); font-size:14px; line-height:1.65; }

/* Reach */
.de-about-reach { background:var(--about-bg); }
.de-about-region-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.de-about-region-grid article { overflow:hidden; border:1px solid var(--about-line); border-radius:22px; background:#fff; box-shadow:0 8px 27px rgba(16,33,63,.06); }
.de-about-region-grid img { width:100%; height:240px; object-fit:cover; }
.de-about-region-grid article > div { padding:25px; }
.de-about-region-grid h3 { margin:0 0 10px; color:var(--about-navy); font-family:"Poppins",sans-serif; font-size:22px; }
.de-about-region-grid p { margin:0 0 20px; color:var(--about-muted); font-size:15px; line-height:1.7; }
.de-about-region-grid a { display:inline-flex; align-items:center; gap:8px; color:var(--about-blue); font-size:14px; font-weight:800; }
.de-about-region-grid a .de-about-svg { font-size:19px; }

/* Offices */
.de-about-offices { background:#fff; }
.de-about-office-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:21px; }
.de-about-office-grid article { padding:30px; border:1px solid var(--about-line); border-radius:22px; background:linear-gradient(145deg,#fff,#f7faff); box-shadow:0 9px 27px rgba(16,33,63,.06); }
.de-about-office-grid article > span { width:62px; height:62px; display:grid; place-items:center; border-radius:18px; color:#fff; background:linear-gradient(135deg,var(--about-blue),#1748ae); }
.de-about-office-grid article > span .de-svg-icon { width:31px; height:31px; }
.de-about-office-grid small { display:block; margin-top:22px; color:var(--about-orange); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.de-about-office-grid h3 { margin:7px 0 13px; color:var(--about-navy); font-family:"Poppins",sans-serif; font-size:24px; }
.de-about-office-grid p { min-height:92px; margin:0 0 20px; color:var(--about-muted); font-size:15px; line-height:1.7; }
.de-about-office-grid a { display:flex; align-items:center; gap:9px; color:var(--about-navy); font-size:14px; font-weight:800; }
.de-about-office-grid a .de-svg-icon { width:20px; height:20px; color:var(--about-blue); }

/* Commitment */
.de-about-commitment { background:#f7faff; }
.de-about-commitment-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:70px; align-items:center; }
.de-about-commitment-grid h2 { margin:15px 0 19px; }
.de-about-commitment-grid > div p { margin:0; color:var(--about-muted); font-size:17px; line-height:1.75; }
.de-about-commitment-grid ul { display:grid; gap:13px; padding:0; margin:0; list-style:none; }
.de-about-commitment-grid li { display:grid; grid-template-columns:auto 1fr; gap:15px; padding:20px; border:1px solid var(--about-line); border-radius:17px; background:#fff; }
.de-about-commitment-grid li > .de-about-svg { width:38px; height:38px; padding:8px; color:var(--about-green); background:#eaf9f0; border-radius:12px; }
.de-about-commitment-grid li span { color:var(--about-muted); font-size:14px; line-height:1.65; }
.de-about-commitment-grid li strong { display:block; margin-bottom:3px; color:var(--about-navy); font-size:16px; }

/* FAQ */
.de-about-faq { background:#fff; }
.de-about-faq-grid { max-width:1040px; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 20px; margin:0 auto; }
.de-about-faq details { border:1px solid var(--about-line); border-radius:15px; background:#fff; overflow:hidden; box-shadow:0 5px 17px rgba(16,33,63,.04); }
.de-about-faq summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:20px; color:var(--about-navy); font-size:15px; font-weight:800; cursor:pointer; list-style:none; }
.de-about-faq summary::-webkit-details-marker { display:none; }
.de-about-faq summary span { width:31px; height:31px; display:grid; place-items:center; border-radius:9px; color:var(--about-blue); background:var(--about-blue-light); font-size:20px; transition:transform .2s ease; }
.de-about-faq details[open] summary span { transform:rotate(45deg); }
.de-about-faq details p { margin:0; padding:0 20px 21px; color:var(--about-muted); font-size:14px; line-height:1.72; }

/* Final CTA */
.de-about-final-cta { padding:0 0 82px; background:#fff; }
.de-about-final-card { display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:center; padding:38px 42px; border-radius:25px; color:#fff; background:linear-gradient(115deg,#10213f,#17498f 68%,#2463eb); box-shadow:var(--about-shadow); }
.de-about-final-icon { width:78px; height:78px; display:grid; place-items:center; border-radius:22px; color:#ffc55f; background:rgba(255,255,255,.1); }
.de-about-final-icon .de-svg-icon { width:43px; height:43px; }
.de-about-final-card > div:nth-child(2) > span { color:#ffc55f; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.de-about-final-card h2 { margin:5px 0 7px; color:#fff; font-size:clamp(29px,3vw,42px); }
.de-about-final-card p { max-width:650px; margin:0; color:rgba(255,255,255,.75); font-size:15px; line-height:1.65; }
.de-about-final-card .de-about-button-primary { white-space:nowrap; }

@media (max-width:1100px) {
  .de-about-hero-grid { grid-template-columns:1fr 1fr; gap:38px; }
  .de-about-visual-card-main { width:63%; left:18.5%; }
  .de-about-story-grid { gap:45px; }
  .de-about-process-grid { grid-template-columns:repeat(2,1fr); }
  .de-about-service-grid, .de-about-why-grid, .de-about-region-grid, .de-about-office-grid { gap:16px; }
}

@media (max-width:900px) {
  .de-about-section { padding:74px 0; }
  .de-about-hero-grid, .de-about-story-grid, .de-about-commitment-grid { grid-template-columns:1fr; }
  .de-about-hero-copy { text-align:center; }
  .de-about-eyebrow { justify-content:center; }
  .de-about-hero-copy > p { margin-left:auto; margin-right:auto; }
  .de-about-hero-actions { justify-content:center; }
  .de-about-hero-points { max-width:650px; margin-left:auto; margin-right:auto; }
  .de-about-hero-visual { min-height:500px; max-width:720px; width:100%; margin:10px auto 0; }
  .de-about-assurance-grid { grid-template-columns:1fr; }
  .de-about-assurance article + article { border-left:0; border-top:1px solid var(--about-line); }
  .de-about-service-grid, .de-about-why-grid, .de-about-region-grid, .de-about-office-grid { grid-template-columns:repeat(2,1fr); }
  .de-about-story-visual { order:2; }
  .de-about-story-copy { order:1; }
  .de-about-final-card { grid-template-columns:auto 1fr; }
  .de-about-final-card > a { grid-column:1 / -1; justify-self:start; }
}

@media (max-width:640px) {
  .de-about-shell { width:min(100% - 28px, 1180px); }
  .de-about-section { padding:62px 0; }
  .de-about-section h2 { font-size:31px; }
  .de-about-section-head { margin-bottom:34px; }
  .de-about-section-head p { font-size:16px; }
  .de-about-hero { padding:55px 0 68px; }
  .de-about-hero h1 { font-size:42px; }
  .de-about-hero-copy > p { font-size:16px; }
  .de-about-hero-actions { flex-direction:column; align-items:stretch; }
  .de-about-button { width:100%; }
  .de-about-hero-points { gap:8px; }
  .de-about-hero-points strong { font-size:20px; }
  .de-about-hero-points span { font-size:12px; }
  .de-about-hero-visual { min-height:390px; }
  .de-about-visual-card-main { width:66%; height:330px; left:17%; }
  .de-about-visual-card-left, .de-about-visual-card-right { width:38%; height:260px; top:50px; }
  .de-about-visual-card { border-width:5px; border-radius:18px; }
  .de-about-visual-badge { left:0; bottom:0; padding:12px; }
  .de-about-visual-badge > .de-svg-icon { width:34px; height:34px; }
  .de-about-visual-badge strong { font-size:12px; }
  .de-about-visual-badge span { font-size:11px; }
  .de-about-review-badge { display:none; }
  .de-about-assurance { padding-bottom:0; }
  .de-about-assurance-grid { margin-top:-20px; }
  .de-about-assurance article { padding:20px; }
  .de-about-story-visual img { height:420px; border-radius:20px; }
  .de-about-story-overlay { left:15px; right:15px; bottom:15px; padding:18px; }
  .de-about-story-copy p, .de-about-commitment-grid > div p { font-size:16px; }
  .de-about-service-grid, .de-about-process-grid, .de-about-why-grid, .de-about-region-grid, .de-about-office-grid, .de-about-faq-grid { grid-template-columns:1fr; }
  .de-about-service-grid article { min-height:auto; }
  .de-about-process-grid article { min-height:auto; }
  .de-about-region-grid img { height:220px; }
  .de-about-office-grid p { min-height:auto; }
  .de-about-final-card { grid-template-columns:1fr; text-align:center; padding:30px 22px; }
  .de-about-final-icon { margin:0 auto; }
  .de-about-final-card > a { justify-self:stretch; }
}
