:root { --about-yellow:#f2ad00; --about-ink:#171717; --about-muted:#696964; --about-paper:#f7f7f4; --about-line:#dcdcd6; }
body.about-page-body [hidden] { display:none !important; }
body.about-page-body { background:var(--about-paper); color:var(--about-ink); }
body.about-page-body .site-header { position:relative; z-index:100; }
.about-page { margin:0 auto; max-width:1440px; overflow:hidden; }
.about-page .section-shell { box-sizing:border-box; margin-inline:auto; max-width:1280px; width:calc(100% - 48px); }
.about-eyebrow { align-items:flex-start; color:var(--about-yellow); display:flex; flex-direction:column; font:800 .84rem/1 "Barlow Condensed",sans-serif; gap:8px; letter-spacing:.08em; margin:0 0 17px; text-transform:uppercase; }
.about-eyebrow > span:first-child { background:var(--about-yellow); display:block; height:3px; order:2; width:33px; }
.about-copy { color:#33332f; font:400 .86rem/1.8 Manrope,sans-serif; }
.about-copy p { margin:0 0 17px; }
.about-copy p:last-child { margin-bottom:0; }
.about-copy h3 { color:var(--about-ink); font:800 1.35rem/1 "Barlow Condensed",sans-serif; margin:22px 0 9px; }
.about-hero { display:grid; grid-template-columns:minmax(420px,.95fr) minmax(520px,1.35fr); min-height:500px; position:relative; }
.about-hero-copy { background:#fff; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; min-width:0; padding:38px clamp(36px,6vw,72px) 48px max(48px,calc((100vw - 1344px) / 2)); position:relative; z-index:1; }
.about-hero-copy::after { background:#fff; clip-path:polygon(0 0,100% 0,80% 100%,0 100%); content:""; inset:0 -100px 0 0; position:absolute; z-index:-1; }
.about-hero-image { background:#eaeae3; min-height:500px; overflow:hidden; }
.about-hero-image img,.about-feature-image img,.about-gallery img { display:block; height:100%; object-fit:contain; width:100%; }
.about-image-placeholder { align-items:center; background:repeating-linear-gradient(135deg,#f0f0eb 0 10px,#e8e8e2 10px 20px); border:1px dashed #a4a39b; box-sizing:border-box; color:#77766f; display:flex; flex-direction:column; font:700 .7rem/1 "Barlow Condensed",sans-serif; gap:9px; height:100%; justify-content:center; letter-spacing:.08em; text-align:center; text-transform:uppercase; width:100%; }
.about-image-placeholder span { border:1px solid currentColor; font-size:1.2rem; padding:5px 10px; }
.about-hero-copy h1 { font:800 clamp(3rem,4.1vw,5.3rem)/.91 "Barlow Condensed",sans-serif; letter-spacing:-.025em; margin:0 0 26px; max-width:10ch; }
.about-hero-copy h1 span { display:block; }
.about-subtitle { color:#55554f; font:500 1rem/1.35 Manrope,sans-serif; margin:-12px 0 22px; max-width:43ch; }
.about-hero-body { max-width:43ch; }
.about-tech { align-items:stretch; background:var(--about-paper); display:grid; grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr); height:420px; min-height:420px; padding:0; }
.about-feature-image { background:#e9e9e2; height:100%; min-height:0; overflow:hidden; }
.about-feature-copy { align-self:stretch; box-sizing:border-box; display:flex; flex-direction:column; height:100%; justify-content:flex-start; padding:42px clamp(30px,5vw,70px); }
.about-feature-copy h2,.about-application-copy h2,.about-commitment h2,.about-cta h2 { font:800 clamp(2.25rem,3.2vw,3.65rem)/.96 "Barlow Condensed",sans-serif; letter-spacing:-.02em; margin:0 0 21px; max-width:15ch; }
.about-feature-copy .about-copy { max-width:56ch; }
.about-standards { display:flex; gap:0; margin-top:auto; padding-top:23px; }
.about-standards span { color:var(--about-ink); font:800 1.4rem/1 "Barlow Condensed",sans-serif; min-width:76px; padding:0 21px; text-align:left; }
.about-standards span:first-child { padding-left:0; }
.about-standards span + span { border-left:1px solid var(--about-yellow); }
.about-applications { align-items:center; display:grid; gap:54px; grid-template-columns:minmax(300px,.8fr) minmax(500px,1.2fr); min-height:350px; padding-block:55px; }
.about-application-copy h2 { max-width:13ch; }
.about-application-copy h2 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:clamp(1.55rem,2.2vw,2.45rem); line-height:.98; max-width:none; overflow:hidden; }
.about-application-copy .about-copy { max-width:47ch; }
.about-application-grid { border-top:1px solid var(--about-line); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.about-application-card { align-items:center; border-bottom:1px solid var(--about-line); display:grid; gap:14px; grid-template-columns:34px minmax(0,1fr); min-height:82px; padding:13px 18px; }
.about-application-card:nth-child(odd) { border-right:1px solid var(--about-line); }
.about-application-card-icon { color:var(--about-yellow); font-size:1.8rem; line-height:1; text-align:center; }
.about-application-card > div { min-width:0; }
.about-application-card img { background:var(--about-paper); display:block; height:54px; margin:0 0 6px; max-height:54px; object-fit:contain; object-position:center; width:100%; }
.about-application-card strong { color:var(--about-ink); display:block; font:800 1.05rem/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.about-application-card small { color:var(--about-muted); display:block; font:400 .68rem/1.4 Manrope,sans-serif; margin-top:4px; }
.about-commitment { background:var(--about-paper); border-top:1px solid var(--about-line); padding:68px 24px 44px; position:relative; text-align:center; }
.about-commitment::before,.about-commitment::after { color:#e9e9e2; content:"◌"; font-size:20rem; line-height:1; opacity:.8; position:absolute; top:10px; }
.about-commitment::before { left:-38px; transform:rotate(-25deg); }
.about-commitment::after { right:-40px; transform:rotate(25deg); }
.about-commitment-copy { margin:auto; max-width:760px; position:relative; z-index:1; }
.about-commitment-copy .about-eyebrow { justify-content:flex-start; }
.about-commitment h2 { margin-inline:auto; max-width:19ch; }
.about-commitment .about-copy { margin:auto; max-width:68ch; }
.about-gallery { display:grid; gap:7px; grid-template-columns:repeat(4,1fr); min-height:135px; padding-bottom:34px; }
.about-gallery figure { background:#e9e9e2; height:135px; margin:0; overflow:hidden; }
.about-gallery figure img,.about-gallery figure .about-image-placeholder { height:100%; }
.about-cta { align-items:center; background:var(--about-yellow); display:flex; gap:32px; justify-content:space-between; min-height:150px; padding:26px 38px; }
.about-cta .about-eyebrow { color:#6b5214; margin-bottom:10px; }
.about-cta .about-eyebrow > span:first-child { background:#6b5214; }
.about-cta h2 { color:#111; font-size:clamp(2rem,3vw,3rem); margin:0; max-width:22ch; }
.about-cta .button { background:#111; border-color:#111; color:#fff; font-size:.78rem; min-width:190px; }
.about-site-footer { margin-top:0; }
.about-site-footer .footer-grid > div:not(.footer-brand) { display:flex; flex-direction:column; gap:10px; }
.about-site-footer a { color:inherit; font-size:.78rem; text-decoration:none; }
.about-site-footer a:hover { color:var(--about-yellow); }
@media (min-width:701px) {
  /* Keep a stable minimum frame, but let the Hero row grow with its
     rich-text content instead of painting the overflow underneath the next
     section. The image remains contained, so a taller row never crops it. */
  .about-hero,.about-hero-copy,.about-hero-image { height:auto; min-height:500px; }
  .about-hero-copy { justify-content:flex-start; padding-top:46px; }
  .about-hero-copy h1 { font-size:clamp(2.8rem,3.45vw,4.1rem); max-width:none; }
  .about-hero-body { max-height:none; overflow:visible; padding-right:8px; }
  #about-tech-title { font-size:clamp(1.55rem,2.2vw,2.45rem); letter-spacing:-.01em; max-width:none; white-space:nowrap; }
  .about-tech { height:420px; min-height:420px; }
  .about-feature-copy { padding-bottom:0; }
  .about-applications { height:410px; min-height:410px; overflow:hidden; }
  .about-application-copy .about-copy { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:6; max-height:145px; overflow:hidden; }
  .about-commitment { height:360px; box-sizing:border-box; overflow:hidden; }
  .about-commitment .about-copy { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; max-height:145px; overflow:hidden; }
}
@media (max-width:980px) { .about-hero { grid-template-columns:minmax(340px,.9fr) minmax(380px,1.1fr); }.about-hero-copy { padding-left:34px; }.about-applications { gap:28px; grid-template-columns:.7fr 1.3fr; }.about-application-card { padding-inline:10px; } }
@media (max-width:700px) { .about-page .section-shell { width:calc(100% - 32px); }.about-hero { display:flex; flex-direction:column-reverse; min-height:0; }.about-hero-image { min-height:285px; }.about-hero-copy { padding:28px 22px 38px; }.about-hero-copy::after { display:none; }.about-hero-copy h1 { font-size:3.5rem; }.about-tech,.about-applications { display:flex; flex-direction:column; gap:0; height:auto; min-height:0; }.about-feature-image { height:auto; min-height:255px; width:100%; }.about-feature-copy { display:block; height:auto; padding:35px 10px 42px; }.about-feature-copy #about-tech-title { font-size:2.15rem; white-space:normal; }.about-standards { margin-top:23px; padding-top:0; }.about-applications { padding-block:43px; }.about-application-copy { margin-bottom:28px; }.about-application-grid { width:100%; }.about-application-card { min-height:76px; }.about-commitment { padding:52px 18px 36px; }.about-commitment::before,.about-commitment::after { display:none; }.about-gallery { grid-template-columns:repeat(2,1fr); padding-bottom:26px; }.about-gallery figure { height:105px; }.about-cta { align-items:flex-start; flex-direction:column; gap:18px; padding:28px 22px; }.about-cta .button { width:100%; } }

/* DFC fixed-frame rules: establish the module geometry before content styling. */
@media (min-width:701px) {
  .about-hero,
  .about-hero-copy,
  .about-hero-image {
    height:500px;
    min-height:500px;
    max-height:500px;
  }

  .about-hero-copy {
    justify-content:flex-start;
    overflow:hidden;
    padding:32px 5ch 1lh;
  }

  .about-hero-copy .about-eyebrow { margin-bottom:2lh; }
  .about-hero-body {
    flex:1 1 auto;
    max-height:calc(500px - 32px - 1lh - 2lh - 16px);
    max-width:none;
    overflow:hidden;
    padding:0;
    text-align:justify;
  }
  .about-hero-body p:last-child { text-align:left; }
  .about-hero-image { background:var(--about-paper); }
  .about-feature-image { background:var(--about-paper); }
  .about-feature-copy { overflow:hidden; }
  .about-feature-copy .about-copy {
    flex:0 1 auto;
    max-height:calc(100% - 150px);
    overflow:hidden;
  }
  .about-feature-copy .about-copy,
  .about-commitment .about-copy { text-align:justify; }
  .about-feature-copy .about-copy p:last-child,
  .about-commitment .about-copy p:last-child { text-align:left; }

  .about-applications {
    align-items:stretch;
    display:grid;
    gap:28px;
    grid-template-areas:"images copy";
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
    height:500px;
    max-height:500px;
    min-height:500px;
    overflow:hidden;
    padding:0;
  }
  .about-application-grid {
    border:0;
    display:grid;
    gap:12px;
    grid-area:images;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    min-height:0;
  }
  .about-application-card {
    align-items:stretch;
    background:var(--about-paper);
    border:1px solid var(--about-line) !important;
    display:flex;
    flex-direction:column;
    gap:8px;
    min-height:0;
    overflow:hidden;
    padding:12px;
  }
  .about-application-card-icon { display:none; }
  .about-application-card > div { display:flex; flex:1 1 auto; flex-direction:column; min-height:0; }
  .about-application-card img,
  .about-application-card .about-image-placeholder {
    background:var(--about-paper);
    flex:1 1 0;
    height:auto;
    max-height:none;
    min-height:0;
    object-fit:contain;
    width:100%;
  }
  .about-application-card strong { font-size:1rem; margin-top:4px; }
  .about-application-card small { display:none; }
  .about-application-copy {
    display:flex;
    flex-direction:column;
    grid-area:copy;
    min-height:0;
    overflow:hidden;
    padding:32px 5ch 1lh 0;
  }
  .about-application-copy .about-eyebrow { margin-bottom:2lh; }
  .about-application-copy .about-copy { max-width:none; text-align:justify; }
  .about-application-copy .about-copy p:last-child { text-align:left; }
  .about-application-text-list { flex:1 1 auto; margin-top:2lh; min-height:0; overflow:auto; }
  .about-application-text-item { border-top:1px solid var(--about-line); padding:12px 0; }
  .about-application-text-item strong { color:var(--about-ink); display:block; font:800 1.08rem/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
  .about-application-text-item .about-copy { color:var(--about-muted); font-size:.78rem; line-height:1.5; margin-top:6px; }
}

@media (max-width:700px) {
  .about-application-grid { order:1; }
  .about-application-copy { order:2; }
  .about-application-card img,
  .about-application-card .about-image-placeholder { object-fit:contain; }
}

/* Final fixed-frame refinements for the current Sobre a DFC layout.  These
   rules intentionally come last so content edits cannot change the module
   geometry. */
@media (min-width:701px) {
  .about-hero-copy,
  .about-hero-copy::after { background:var(--about-paper); }

  .about-hero-body,
  .about-feature-copy .about-copy,
  .about-application-copy .about-copy {
    text-align:justify;
  }
  .about-commitment .about-copy { text-align:left; }
  .about-hero-body p:last-child,
  .about-feature-copy .about-copy p:last-child,
  .about-application-copy .about-copy p:last-child { text-align:left; }

  .about-standards {
    align-items:center;
    border-bottom:3px solid var(--about-yellow);
    border-top:3px solid var(--about-yellow);
    box-sizing:border-box;
    min-height:54px;
    padding:14px 5ch;
    width:max-content;
    max-width:100%;
  }

  .about-applications {
    grid-template-areas:"copy images";
    /* Keep the original editorial proportion: a compact copy column and a
       wider, fixed card grid.  Content must never change this frame. */
    column-gap:28px;
    grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);
    margin-top:1lh;
  }
  .about-application-copy { padding-left:0; padding-right:5ch; }
  .about-application-copy .about-copy {
    display:block;
    flex:1 1 auto;
    line-height:1.8;
    margin:0;
    max-height:none;
    min-height:0;
    overflow:hidden;
    /* Default is justified; a format selected in the shared rich-text
       editor is stored inline and must always take precedence. */
    text-align:justify;
    text-align-last:left;
  }
  .about-application-grid { grid-area:images; }
  .about-application-text-list { display:none; }
  .about-application-card { justify-content:flex-start; }
  .about-application-card > .about-image-placeholder {
    display:flex;
    flex:1 1 0;
    min-height:0;
  }
  .about-application-card > img {
    flex:1 1 0;
    min-height:0;
  }
  .about-application-card-description {
    color:var(--about-muted);
    display:-webkit-box;
    flex:0 0 auto;
    font:400 .72rem/1.4 Manrope,sans-serif;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    margin:0;
    max-height:2.8em;
    overflow:hidden;
    text-align:left;
  }
  .about-application-card-description p { margin:0; }

  .about-commitment {
    box-sizing:border-box;
    height:auto;
    min-height:0;
    overflow:visible;
    /* The inner copy uses the same 24px page gutter as Aplicações. */
    padding:68px 0 0;
    text-align:left;
  }
  .about-commitment-copy {
    /* Match the left edge and usable width of Aplicações e resultados. */
    margin:0 auto;
    max-width:1280px;
    min-height:0;
    width:calc(100% - 48px);
  }
  .about-commitment .about-copy {
    /* Rich text may use the 20px body style selected in the CMS.  The old
       0.86rem-based height was only 74px, so its third line could extend
       into the gallery.  Reserve three real 36px text rows instead. */
    box-sizing:border-box;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-height:1.8;
    height:108px;
    max-height:108px;
    min-height:108px;
    margin:0;
    /* The text area may reach 75% of this module's usable width, while
       preserving a fixed three-line frame above the gallery. */
    max-width:75%;
    width:75%;
    overflow:hidden;
    text-align:left;
  }
  .about-commitment .about-copy > :first-child { margin-top:0; }
  .about-commitment .about-copy > :last-child { margin-bottom:0; }
  /* Gallery starts one normal text line after the commitment description. */
  .about-gallery { margin-top:1lh; }
}

@media (max-width:700px) {
  .about-hero-copy { background:var(--about-paper); }
  .about-applications { margin-top:1lh; }
  .about-application-copy { order:1; }
  .about-application-grid { order:2; }
  .about-application-card-description p { margin:0; }
  .about-commitment { text-align:left; }
  .about-commitment-copy { width:calc(100% - 32px); }
  .about-commitment .about-copy { max-width:none; text-align:left; width:100%; }
  .about-gallery { margin-top:1lh; }
}
