@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');
.tcc-page .scroll-top{position:fixed;right:24px;bottom:24px;z-index:9999;width:48px;height:48px;border:0;border-radius:50%;background:#fa68ce;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.tcc-page .scroll-top.active{opacity:1;visibility:visible;transform:translateY(0)}
.tcc-page .scroll-top:focus-visible{outline:3px solid #171b2b;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.tcc-page .scroll-top{transition:none}}
/* Mesma base visual da home; a tipografia editorial fica somente no main. */
.tcc-page{margin:0;background:#fcf8fa;color:#0f172a;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
:root{--ink:#171b2b;--muted:#60687a;--paper:#f8f5ef;--cream:#eee5d6;--rust:#a43d25;--blue:#111629;--gold:#ce8d35;--line:rgba(17,22,41,.16)}
.tcc-page #projeto{background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}.case-wrap{width:min(1160px,calc(100% - 48px));margin:auto}.case-hero{background:var(--cream);padding:72px 0 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}.case-hero .case-wrap{width:auto;margin-left:max(24px,calc((100vw - 1160px)/2));}.case-back,.case-button{color:var(--rust);font-weight:800;text-decoration:none}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--rust);margin:0 0 20px}.case-hero h1,.case-section h2{font:400 clamp(44px,6vw,84px)/.98 'DM Serif Display',Georgia,serif;letter-spacing:-.035em;margin:0}.case-hero h1 em{color:var(--rust)}.hero-sub{font-size:clamp(19px,2.2vw,28px);line-height:1.3;max-width:590px;margin:30px 0}.hero-meta{border-top:1px solid var(--line);padding-top:16px;display:flex;gap:30px;font-size:13px;color:var(--muted)}.hero-image{margin:0;align-self:stretch}.hero-image img{width:100%;height:100%;object-fit:cover;display:block}.case-section{padding:110px 0}.case-section:nth-of-type(even){background:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.case-section p{font-size:17px;line-height:1.75;color:var(--muted)}.wide-image{margin:64px auto 0}.wide-image img{width:100%;max-height:600px;object-fit:cover;display:block}.case-section figcaption{font-size:13px;line-height:1.5;color:var(--muted);padding-top:12px}.motivation{background:var(--blue)!important;color:#fff}.motivation h2,.motivation p{color:#fff}.motivation .eyebrow{color:var(--gold)}.motivation figure{margin:0}.motivation img{width:100%;display:block}.research{background:var(--cream)}.section-head{max-width:760px;margin-bottom:45px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:48px 0}.stat-grid div{border-top:2px solid var(--rust);padding-top:15px}.stat-grid b{display:block;font:400 44px 'DM Serif Display',Georgia,serif;color:var(--rust)}.stat-grid span{font-size:13px;color:var(--muted)}.image-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.image-row.three{grid-template-columns:repeat(3,1fr)}.image-row figure,.characters figure,.mental figure,.code figure,.notebook figure{margin:0}.image-row img{width:100%;height:340px;object-fit:cover;object-position:top;display:block;background:#fff}.characters{background:#f1e7d8!important}.character-feature{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:55px}.character-feature img{width:100%;height:410px;object-fit:cover;object-position:top;display:block;background:#fff}.meaning-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.meaning-grid article{border-top:2px solid var(--rust);padding-top:14px}.meaning-grid b{font-size:14px;color:var(--rust)}.meaning-grid p{font-size:14px;line-height:1.6}.visual-language{background:#fff}.process{background:var(--blue)!important;color:#fff}.process h2,.process p{color:#fff}.process .eyebrow{color:var(--gold)}.process figcaption{color:#c9cbd5}.mental{background:#e7dfd1}.small-image{margin-top:34px}.small-image img{width:100%;max-height:260px;object-fit:cover}.code{background:var(--cream)}.case-button{display:inline-block;background:var(--rust);color:#fff;padding:14px 20px;border-radius:999px;margin-top:14px}.notebook{background:#fff}.notebook img{width:100%;max-height:520px;object-fit:cover;object-position:top}.conclusion{background:var(--rust);color:#fff}.conclusion h2,.conclusion p{color:#fff}.conclusion .eyebrow{color:#f5c781}.tcc-page #fh5co-footer{background:var(--blue);color:#fff}
@media(max-width:800px){.case-hero{grid-template-columns:1fr;padding:52px 0 0}.case-hero .case-wrap{margin:0 auto;width:min(100% - 48px,1160px)}.hero-image{max-height:500px}.split{grid-template-columns:1fr;gap:34px}.stat-grid{grid-template-columns:repeat(2,1fr)}.meaning-grid{grid-template-columns:repeat(2,1fr)}.image-row.three{grid-template-columns:1fr 1fr}.image-row.three figure:first-child{grid-column:span 2}}
@media(max-width:520px){.case-wrap{width:calc(100% - 32px)}.case-section{padding:78px 0}.hero-meta{display:block}.hero-meta span{display:block;margin-bottom:8px}.image-row,.image-row.three,.character-feature{grid-template-columns:1fr}.image-row.three figure:first-child{grid-column:auto}.stat-grid,.meaning-grid{grid-template-columns:1fr}.image-row img,.character-feature img{height:auto;max-height:430px}}
.question-shift{padding:100px 0;background:var(--blue);color:#fff}.question-shift .case-wrap{max-width:760px}.question-shift div>div{border-left:2px solid var(--gold);padding:12px 0 12px 24px}.question-shift span{display:block;color:var(--gold);font-size:11px;letter-spacing:.16em;font-weight:800;margin-bottom:12px}.question-shift strong{font:400 clamp(30px,4vw,52px)/1.08 'DM Serif Display',Georgia,serif}.shift-arrow{text-align:center!important;border:0!important;color:var(--gold);font-size:30px}.insight-band{padding:100px 0;background:#172f43;color:#fff}.insight-band h2{color:#fff}.insight-band p{color:#d7e0e6}.principles{display:flex;flex-wrap:wrap;gap:10px;align-content:start}.principles strong{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:11px 14px;font-size:14px}.principles blockquote{width:100%;margin:26px 0 0;border-left:2px solid var(--gold);padding-left:18px;font:400 24px/1.25 'DM Serif Display',Georgia,serif}.result{background:#fff}.result-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.result-gallery figure{margin:0}.result-gallery figure:nth-child(1),.result-gallery figure:nth-child(6){grid-column:span 2}.result-gallery img{width:100%;height:260px;object-fit:cover;object-position:top;display:block}.result-gallery figcaption{padding-top:10px;color:var(--muted);font-size:13px}
@media(max-width:800px){.result-gallery{grid-template-columns:repeat(2,1fr)}.result-gallery figure:nth-child(n){grid-column:span 1}.result-gallery img{height:300px}}
@media(max-width:520px){.question-shift,.insight-band{padding:78px 0}.result-gallery{grid-template-columns:1fr 1fr}.result-gallery img{height:220px}}
.tcc-page #projeto,.tcc-page #projeto h1,.tcc-page #projeto h2,.tcc-page #projeto h3,.tcc-page #projeto p,.tcc-page #projeto figure,.tcc-page #projeto figcaption,.tcc-page #projeto blockquote{ text-align:left; text-justify:auto; word-spacing:normal }
.tcc-page .mental-depth-image{margin:0 0 48px}
.tcc-page .mental-depth-image img{display:block;width:100%;height:auto}
.tcc-page .mental-depth-image a:focus-visible{display:block;outline:3px solid var(--rust);outline-offset:5px}
.tcc-page .mental-explanation{gap:48px}
.tcc-page .mental-explanation h3{font:400 clamp(26px,3vw,36px)/1.2 'DM Serif Display',Georgia,serif;margin:0 0 18px;color:var(--ink)}
.tcc-page .mental-details{margin-top:32px}
.tcc-page .mental-details img{height:auto;max-height:420px;object-fit:contain}
.tcc-page .mental-closing{max-width:850px;margin:40px 0 16px}
.tcc-page .mental-reference{font-size:13px}
/* Obras e documentos devem aparecer inteiros, sem recorte editorial. */
.tcc-page #projeto figure{min-width:0}
.tcc-page #projeto figure img{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain}
.tcc-page #projeto .hero-image{align-self:center;max-height:none;margin-right:24px}
.tcc-page #projeto .intro>.wide-image{width:min(1160px,calc(100% - 48px))}
.tcc-page #projeto .image-row,.tcc-page #projeto .character-feature{align-items:start}
.tcc-page #projeto .result-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
.tcc-page #projeto .result-gallery figure:nth-child(n){grid-column:auto}
.tcc-page #projeto .image-row.three{grid-template-columns:repeat(2,minmax(0,1fr))}
.tcc-page #projeto .image-row.three figure:first-child{grid-column:1 / -1;max-width:520px;justify-self:center}
@media(max-width:800px){.tcc-page #projeto .hero-image{margin:0 24px 40px}}
@media(max-width:520px){
 .tcc-page #projeto .result-gallery,.tcc-page #projeto .image-row.three{grid-template-columns:1fr}
 .tcc-page #projeto .intro>.wide-image{width:calc(100% - 32px)}
 .tcc-page #projeto .hero-image{margin:0 16px 32px}
}
.tcc-page #projeto .color-system{background:#f1e7d8}
.tcc-page #projeto .color-study{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:48px;align-items:start;padding:48px 0;border-top:1px solid var(--line)}
.tcc-page #projeto .color-study h3{font:400 clamp(28px,3vw,40px)/1.15 'DM Serif Display',Georgia,serif;color:var(--ink);margin:0 0 20px}
.tcc-page #projeto .color-study figure{margin:0}
.tcc-page #projeto .color-study a{display:block}
.tcc-page #projeto .color-study a:focus-visible{outline:3px solid var(--rust);outline-offset:5px}
.tcc-page #projeto .color-summary{max-width:850px;border-top:1px solid var(--line);padding-top:32px}
@media(max-width:800px){.tcc-page #projeto .color-study{grid-template-columns:1fr;gap:20px;padding:36px 0}}
/* Somente a nova seção web: imagens contidas e estilos isolados. */
.tcc-page #projeto .web-ux{background:#fff}
.tcc-page #projeto .web-ux-heading{max-width:800px;margin-bottom:36px}
.tcc-page #projeto .web-ux h2{font-size:clamp(36px,4vw,56px);line-height:1.1}
.tcc-page #projeto .web-ux h3{font:400 clamp(25px,2.5vw,34px)/1.2 'DM Serif Display',Georgia,serif;margin:0 0 18px;color:var(--ink)}
.tcc-page #projeto .web-ux-step{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start;border-top:1px solid var(--line);padding:36px 0}
.tcc-page #projeto .web-ux-step p{font-size:16px;line-height:1.7}
.tcc-page #projeto .web-ux .eyebrow{font-size:11px}
.tcc-page #projeto .web-ux figure{margin:0;min-width:0}
.tcc-page #projeto .web-ux figure a{display:flex;align-items:center;justify-content:center;padding:12px;background:#f8f5ef;border:1px solid var(--line);border-radius:8px}
.tcc-page #projeto .web-ux figure img{width:auto;max-width:100%;height:auto;max-height:360px;object-fit:contain}
.tcc-page #projeto .web-ux figure a:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.tcc-page #projeto .web-ux figcaption{font-size:12px;line-height:1.5}
.tcc-page #projeto .web-ux figcaption span{display:block;color:var(--rust)}
.tcc-page #projeto .web-ux-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tcc-page #projeto .web-ux-pair figure a{min-height:280px}
.tcc-page #projeto .web-ux-pair figure img{max-height:280px}
.tcc-page #projeto .web-ux-end{border-top:1px solid var(--line);padding-top:24px}
@media(max-width:800px){.tcc-page #projeto .web-ux-step{grid-template-columns:1fr;gap:22px}.tcc-page #projeto .web-ux figure img{max-height:320px}}
@media(max-width:420px){.tcc-page #projeto .web-ux-pair{grid-template-columns:1fr}.tcc-page #projeto .web-ux-pair figure a{min-height:0}}

/* Galeria restrita à seção de linguagem visual. */
.tcc-page #projeto .visual-language-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;align-items:start}
.tcc-page #projeto .visual-language-gallery figure{margin:0;min-width:0}
.tcc-page #projeto .visual-language-gallery figure a{display:flex;align-items:center;justify-content:center;height:300px;padding:12px;background:#f8f5ef;border:1px solid var(--line)}
.tcc-page #projeto .visual-language-gallery figure img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain}
.tcc-page #projeto .visual-language-gallery figure a:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.tcc-page #projeto .visual-language-gallery figcaption{font-size:12px;line-height:1.5}
@media(max-width:600px){.tcc-page #projeto .visual-language-gallery{grid-template-columns:1fr}.tcc-page #projeto .visual-language-gallery figure a{height:260px}}
