/* About extends the existing shell; all rules are scoped to this page. */
.about-page{background:#fff;color:#111719}
.about-page .shell{max-width:1180px}
.about-page header{border-bottom:1px solid #263034}
.about-page nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:10px;text-decoration-color:#9da8ab}
.about-page h1,.about-page h2{font-weight:600;letter-spacing:-.045em}
.about-page h2{font-size:clamp(27px,3vw,37px);line-height:1.15}
.about-page p{font-size:15px;line-height:1.65;color:#59666e}
.about-page .eyebrow{font-size:11px;letter-spacing:.14em;line-height:1.5;margin-bottom:18px;font-weight:600}
.about-page .about-hero{background:radial-gradient(ellipse at 90% 15%,#20292d55,transparent 56%),#0b1215;color:#f5f7f8;padding:28px 0 62px}
.about-page .breadcrumb{padding:0;margin:0 0 22px;min-height:44px;color:#e2e6e8;font-size:14px}
.about-page .about-hero h1{font-size:clamp(36px,4.3vw,55px);max-width:560px;line-height:1.05;margin:0 0 24px;text-wrap:balance}
.about-page .about-hero p{max-width:655px;color:#d2d9dc;margin:0;font-size:16px}
.about-page .about-company{padding:48px 0}
.about-page .company-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:54px;align-items:center}
.about-page .company-grid h2{margin-bottom:22px}
.about-page .company-grid p:last-child{margin-bottom:0}
.about-page .company-photo{width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:8px;display:block}
.about-page .about-pillars{padding:42px 0 46px;background:#f5f7f8}
.about-page .pillars-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px}
.about-page .pillars-grid article{background:#fff;border:1px solid #e0e5e8;border-radius:8px;padding:23px 22px}
.about-page .pillar-icon{display:grid;place-items:center;width:42px;height:42px;background:#0b1215;border-radius:7px;color:#fff;margin-bottom:18px}
.about-page .pillar-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.about-page h3{font-size:17px;line-height:1.25;margin:0 0 10px;letter-spacing:-.02em}
.about-page .pillars-grid p{margin:0;font-size:14px}
.about-page .about-process{background:#0d1417;color:#f5f7f8;padding:45px 0 48px;scroll-margin-top:25px}
.about-page .about-process .eyebrow,.about-page .about-contact .eyebrow{color:#bec8ce}
.about-page .process-grid{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px}
.about-page .process-grid li{position:relative}
.about-page .process-grid li:before{content:"";position:absolute;left:48px;right:0;top:18px;height:1px;background:#536168}
.about-page .step-number{display:grid;place-items:center;width:36px;height:36px;border:1px solid #809198;border-radius:50%;font-size:13px;margin-bottom:17px;color:#fff}
.about-page .process-grid p{font-size:14px;color:#bac5ca;margin:0}
.about-page .about-contact{background:linear-gradient(120deg,#0b1215,#1b2529);color:#fff;padding:34px 0;border-top:1px solid #303d43}
.about-page .contact-row{display:flex;align-items:center;justify-content:space-between;gap:35px}
.about-page .contact-row .eyebrow{margin-bottom:12px}
.about-page .contact-row h2{font-size:30px;margin-bottom:12px}
.about-page .contact-row p:last-child{margin:0;color:#d2d9dc;max-width:580px}
.about-page .contact-row>.button{flex-shrink:0}
.about-page a:focus-visible,.about-page button:focus-visible{outline:3px solid #ca9341;outline-offset:5px}
.about-page footer{border-top:1px solid #29353a}
@media(max-width:1000px){.about-page .company-grid{gap:30px}.about-page .pillars-grid{gap:14px}.about-page .pillars-grid article{padding:20px 17px}.about-page .process-grid{gap:18px}}
@media(max-width:700px){.about-page .about-hero{padding:20px 0 38px}.about-page .about-hero h1{max-width:520px;font-size:38px}.about-page .about-hero p{font-size:15px}.about-page .company-grid{grid-template-columns:1fr;gap:26px}.about-page .about-company{padding:34px 0}.about-page .about-pillars{padding:32px 0}.about-page .pillars-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.about-page .process-grid{grid-template-columns:1fr;gap:24px;margin-top:27px}.about-page .process-grid li{padding-left:53px;min-height:65px}.about-page .step-number{position:absolute;left:0;top:0;margin:0}.about-page .process-grid li:before{left:17px;top:42px;bottom:-18px;width:1px;height:auto;right:auto}.about-page .process-grid li:last-child:before{display:none}.about-page .about-process{padding:34px 0}.about-page .contact-row{flex-direction:column;align-items:flex-start;gap:23px}.about-page .contact-row h2{font-size:28px}.about-page .contact-row>.button{max-width:100%}}
@media(max-width:380px){.about-page .pillars-grid{grid-template-columns:1fr}.about-page .about-hero h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.about-page *,.about-page *:before,.about-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Approved hero and company reference composition. */
.about-page .about-hero{position:relative;isolation:isolate;overflow:hidden;background:#080e10;padding:18px 0 34px;min-height:350px}
.about-hero-scene{position:absolute;inset:0;z-index:-1;background-image:url('/assets/images/sobre-hero-referencia.png');background-size:100% auto;background-repeat:no-repeat;background-position:center center;clip-path:inset(0 0 0 43%)}
.about-hero-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080e10 41%,transparent 49%)}
.about-page .about-hero>.shell{position:relative;width:79%;max-width:1180px}
.about-page .about-hero .breadcrumb{font-size:11px;margin-bottom:20px;min-height:26px;gap:14px}
.about-page .about-hero h1{font-size:clamp(30px,3.25vw,47px);line-height:1.04;max-width:48%;margin-bottom:22px;text-wrap:initial}
.about-page .about-hero p{max-width:40%;font-size:13px;line-height:1.45;color:#cbd0d2}
.about-page .about-company{padding:30px 0;background:#fff}
.about-page .company-grid{width:76%;max-width:1140px;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.about-page .company-grid .eyebrow{font-size:10px;letter-spacing:.2em;margin:0 0 12px}
.about-page .company-grid h2{font-size:clamp(25px,2.5vw,34px);line-height:1.12;margin:0;max-width:460px}
.about-page .company-copy{border-left:1px solid #e0e5e8;padding-left:48px;margin-top:24px}
.about-page .company-copy p{font-size:14px;line-height:1.6;margin:0 0 12px}
@media(min-width:1500px){.about-page .about-hero{min-height:410px}}
@media(max-width:700px){.about-page .about-hero{padding:20px 0 230px;min-height:0}.about-page .about-hero>.shell{width:calc(100% - 40px)}.about-page .about-hero h1{max-width:100%;font-size:34px}.about-page .about-hero p{max-width:100%;font-size:14px}.about-hero-scene{top:auto;height:220px;background-size:auto 230px;background-position:right top;clip-path:inset(0)}.about-hero-scene:after{background:linear-gradient(#080e10,transparent 25%)}.about-page .company-grid{width:calc(100% - 40px);grid-template-columns:1fr;gap:22px}.about-page .company-copy{border-left:0;border-top:1px solid #e0e5e8;padding:20px 0 0;margin:0}.about-page .company-grid h2{font-size:28px}}

@media(max-width:700px){.about-page .about-hero{padding-bottom:calc(48vw + 20px)}.about-hero-scene{height:48vw;background-size:175.44% auto;background-position:right top}}

/* Keep the existing image framing, centre the shorter hero copy. */
@media(min-width:701px){.about-page .about-hero>.shell{padding-top:30px}.about-page .about-hero h1{margin-bottom:0}}
@media(max-width:700px){.about-page .about-hero h1{margin-bottom:8px}}
