@font-face{font-family:Bodoni;src:url('assets/fonts/bodoni.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Bodoni;src:url('assets/fonts/bodoni-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/fonts/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;--paper:#f4efe5;--ink:#152f3b;--rust:#a44329;--line:#c4bbab;--white:#fffaf2;--muted:#535a57;font-family:DM,sans-serif;font-size:100%;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-block-start:1rem}
body{margin:0;font-size:1rem;line-height:1.55}
a{color:inherit;text-underline-offset:.25em}
button,input{font:inherit}
button,a,input,summary{touch-action:manipulation}
button{cursor:pointer;white-space:normal}
button:disabled{cursor:not-allowed}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:Bodoni,Georgia,serif;font-weight:400;line-height:.99}
em{font-weight:400;color:var(--rust)}
p,a,button,label,summary,h1,h2,h3,figcaption{overflow-wrap:normal;word-break:normal}
:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.skip{position:absolute;inset-block-start:-10rem;inset-inline-start:1rem;z-index:5;background:var(--white);padding:.75rem;min-height:44px}
.skip:focus{inset-block-start:.5rem}
.masthead{max-width:86rem;margin:auto;padding:.85rem 5%;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.wordmark{text-decoration:none;font-size:1rem;font-weight:600;line-height:1.2;min-height:44px;display:flex;flex-direction:column;justify-content:center}
.wordmark span{display:block;font-size:1rem;font-weight:400;color:var(--muted)}
.header-link{min-height:44px;display:flex;align-items:center;gap:.8em;font-size:1rem}
.opening{max-width:86rem;margin:auto;padding:2.4rem 5% 0}
.opening-layout{display:flex;flex-wrap:wrap;gap:1.5rem 7%;align-items:start}
.opening-main{flex:1.3 1 21em;min-width:min(100%,21em)}
.thesis{grid-column:1;grid-row:1}
.eyebrow{font-size:1rem;color:var(--rust);margin-bottom:1rem}
h1{font-size:clamp(3rem,6.2vw,6.5rem);letter-spacing:-.035em}
.portrait{flex:1 1 16em;min-width:0;max-width:27rem;transform:rotate(2deg);margin-top:1.5rem}
.portrait-paper{padding:.65rem .65rem 1.8rem;background:var(--white);box-shadow:0 .7rem 2rem #152f3b12}
.portrait img{width:100%;aspect-ratio:760/980;object-fit:cover}
.portrait figcaption{font-size:1rem;padding:.8rem .2rem;line-height:1.4}
.portrait figcaption span{display:block;color:var(--muted)}
.opening-copy{grid-column:1;grid-row:2;max-width:34em;margin:1.35rem 0 1.5rem;font-size:1.0625rem}
.contact{grid-column:1;grid-row:3;min-width:0;border-top:2px solid var(--ink);padding-top:1rem;scroll-margin-top:1rem}
.form-heading{display:flex;gap:.75rem;align-items:baseline;margin-bottom:1rem}
.small-index{font-size:1rem;color:var(--rust);white-space:nowrap}
.form-heading h2{font-family:DM,sans-serif;font-size:1.125rem;font-weight:500;line-height:1.4}
.fields{display:flex;flex-wrap:wrap;gap:.75rem 1rem}
.field{flex:1 1 12em;min-width:min(100%,12em)}
.field:first-child{flex-basis:100%}
label{display:block;margin-bottom:.25rem}
input{width:100%;min-width:0;min-height:48px;padding:.6rem .75rem;border:1px solid #8b938e;border-radius:0;background:#fffaf28c;color:var(--ink)}
input::placeholder{color:#656b66;opacity:1}
input[aria-invalid="true"]{border:2px solid var(--rust)}
.error{color:#91371f;font-size:1rem;line-height:1.4}
.error:not(:empty){margin-top:.35rem}
.demo-note{font-size:1rem;color:var(--muted);margin:1rem 0}
.form-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.primary,.secondary{min-height:48px;padding:.7rem 1rem;border:1px solid var(--ink);font-size:1rem;line-height:1.4}
.primary{background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.primary:hover{background:#254957}
.secondary{background:transparent;color:var(--ink)}
.secondary:hover:enabled{background:#e6dfd1}
.secondary:disabled{color:#626661;border-color:#a6aaa1;background:#e4e3d9}
.form-status{font-size:1rem;line-height:1.5}
.form-status:not(:empty){margin-top:.85rem;padding-inline-start:.7rem;border-inline-start:2px solid var(--rust)}
.privacy-link{border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:.2em;min-height:44px;padding:.5rem 0;text-align:start;font-size:1rem}
.opening-foot{margin-top:2.6rem;padding:1rem 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;border-top:1px solid var(--line);font-size:1rem}
.opening-foot a{min-height:44px;display:flex;align-items:center;gap:1rem}
.opening-foot>span{align-self:center;color:var(--muted)}
.care-lines{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;border-top:1px solid var(--line);padding:1.5rem 0 2rem}
.care-lines>p{flex:1 1 14em;display:flex;flex-direction:column;gap:.4rem}
.care-lines strong{font-size:1rem;font-weight:600}
.care-lines span{color:var(--muted);max-width:25em}
.reflection{margin-top:3rem;padding:3.5rem max(5%,calc((100% - 77.4rem)/2));background:var(--ink);color:var(--paper)}
.section-label{display:flex;gap:1rem;align-items:baseline;font-size:1rem;margin-bottom:2rem}
.reflection .small-index{color:#e4aa8e}
.reflection-body{display:flex;flex-wrap:wrap;gap:2.5rem 7%;align-items:start}
.reflection h2{font-size:clamp(2.5rem,3.5vw,3.75rem);flex:1 1 8em;letter-spacing:-.025em}
.reflection-copy{flex:1 1 20em;max-width:36em}
.reflection-copy p+p{margin-top:1rem}
.editorial-note{flex:1 1 100%;padding:2rem 0 1rem;text-align:center;border-top:1px solid #7b8c8e}
.editorial-note>p{font-family:Bodoni,Georgia,serif;font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.15;font-style:italic;max-width:23em;margin:auto;color:#f0c4ab}
.section-shell{max-width:86rem;padding:4.5rem 5%;margin:auto}
.service-intro{display:flex;flex-wrap:wrap;gap:2rem 8%;align-items:start}
.service h2{font-size:clamp(2.5rem,4vw,4.5rem);letter-spacing:-.025em;flex:1 1 9em}
.service-copy{flex:1 1 22em;max-width:37em}
.service-copy p+p{margin-top:1rem}
.connections{margin-top:3rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.5rem 0}
.connections>h3{font-size:1rem;font-weight:500}
.connection-list{list-style:none;padding:0;margin:1.5rem 0;display:flex;flex-wrap:wrap;gap:1.75rem 2rem}
.connection-list li{flex:1 1 17em;min-width:min(100%,17em);border-inline-start:2px solid var(--rust);padding-inline-start:1rem}
.connection-number{display:block;color:var(--rust);margin-bottom:.5rem}
.connection-list strong{font-family:Bodoni,Georgia,serif;font-size:2rem;line-height:1.15;font-weight:400;display:block;margin-bottom:.75rem}
.connection-list p{max-width:29em}
.connection-caption{max-width:52em;color:var(--muted)}
.service-practical{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.75rem 2rem;align-items:baseline}
.service-practical h3{font-size:1rem;font-weight:600;flex:1 1 13em}
.service-practical p{flex:3 1 25em;max-width:48em;color:var(--muted)}
.possibilities{background:#e8e2d5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.possibilities-heading{display:flex;flex-wrap:wrap;gap:1.5rem 9%;align-items:start}
.possibilities h2{font-size:clamp(2.5rem,3.8vw,4rem);letter-spacing:-.025em;flex:1 1 10em}
.possibilities-heading>p{flex:1 1 23em;max-width:35em}
.possibility-list{display:flex;flex-wrap:wrap;gap:2rem;margin-top:3rem}
.possibility-list article{flex:1 1 17em;min-width:min(100%,17em);border-top:1px solid #9f9e90;padding-top:1rem}
.possibility-list h3{font-family:Bodoni,Georgia,serif;font-weight:400;font-size:2rem;line-height:1.15;margin:.75rem 0}
.possibility-list p{max-width:30em}
.situations{display:flex;flex-wrap:wrap;gap:2.5rem 9%;align-items:start}
.situations-intro{flex:1 1 21em}
.situations h2{font-size:clamp(2.5rem,3.8vw,4rem);letter-spacing:-.025em;max-width:13em}
.situations-intro>p{margin-top:1.5rem;max-width:32em;color:var(--muted)}
.situation-list{flex:1.2 1 25em;list-style:none;margin:0;padding:0}
.situation-list li{display:flex;gap:1rem;padding:1.35rem 0;border-top:1px solid var(--line);align-items:baseline}
.situation-list li:last-child{border-bottom:1px solid var(--line)}
.situation-list li>span{flex:0 0 auto;color:var(--rust)}
.situation-list li>div{min-width:0}
.situation-list h3{font-size:1.125rem;font-weight:500;line-height:1.4;margin-bottom:.5rem}
.situation-list p{color:var(--muted);max-width:34em}
.about{max-width:86rem;padding:4.5rem 5%;margin:auto;display:flex;flex-wrap:wrap;gap:3rem 9%;align-items:start;border-top:1px solid var(--line)}
.about-intro{flex:1 1 22em;min-width:0}
.about h2{font-size:clamp(2rem,6vw,6.4rem);letter-spacing:-.035em;margin-bottom:1rem;overflow-wrap:normal;word-break:normal}
.role{color:var(--rust);margin-bottom:1.5rem}
.about-intro>p:not(.role){max-width:35em;margin-top:1rem}
.text-link{display:inline-flex;gap:1.5rem;align-items:center;min-height:44px;margin-top:1.5rem}
.about-side{flex:1 1 23em;min-width:0}
.authority-portrait{max-width:18rem;width:min(100%,290px);margin:0 0 1.25rem}
.authority-portrait img{width:100%;height:auto}
.authority-portrait figcaption{margin-top:.75rem;font-size:1rem;color:var(--muted)}
.brand{max-width:10rem;margin:0 0 2.5rem}
.brand img{width:100%}
.brand figcaption{font-size:1rem;color:var(--muted);padding:1rem .25rem}
.invitation{padding:3.5rem 5%;background:#ded6c7;border-block:1px solid var(--line)}
.invitation-paper{max-width:61rem;margin:auto;padding:clamp(1.25rem,5vw,4rem);background:var(--white);border:1px solid #c5b9a5;box-shadow:.5rem .5rem 0 #c7bba780}
.invitation h2{font-size:clamp(2.5rem,4.5vw,4.75rem);line-height:1.07;max-width:15em;letter-spacing:-.025em}
.invitation-paper>p:not(.eyebrow){margin-top:1.5rem;max-width:39em}
.invitation-link{display:inline-flex;align-items:center;gap:1.5rem;min-height:48px;padding:.7rem 0;margin-top:1.5rem;border-bottom:2px solid var(--rust);text-decoration:none}
.faq-section{display:flex;flex-wrap:wrap;gap:2.5rem 9%;align-items:start}
.faq-intro{flex:1 1 19em}
.faq-intro h2{font-size:clamp(2.5rem,3.8vw,4rem);line-height:1.08}
.faq-intro>p{margin-top:1.25rem;max-width:29em;color:var(--muted)}
.faq{flex:1.3 1 25em;min-width:0}
.faq details{border-top:1px solid var(--line);padding:.25rem 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;min-height:48px;padding:.7rem .2rem;line-height:1.5}
.faq details p{padding:.35rem .2rem 1rem;color:var(--muted)}
.faq .text-link{margin:0 .2rem 1rem}
footer{padding:1.5rem 5%;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;max-width:86rem;margin:auto;font-size:1rem}
footer p span{display:block;color:var(--muted)}
footer a{display:flex;min-height:44px;align-items:center}
dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(34em,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:0;overflow:auto}
dialog::backdrop{background:#102a36bd}
.dialog-content{padding:clamp(1rem,4vw,2rem)}
dialog h2{font-size:2.5rem;line-height:1.08;margin-bottom:1.2rem}
dialog p+p{margin-top:1rem}
dialog .primary{margin-top:1.5rem}
@media(max-width:60em){.opening-main{display:contents}.thesis{order:1}.portrait{order:2}.opening-copy{order:3}.contact{order:4}.opening-layout{display:flex;flex-wrap:wrap;gap:0 5%;align-items:center}.thesis{flex:1 1 11em;min-width:0}.portrait{flex:0 1 12em;max-width:36%;margin:.25rem 0 0;transform:rotate(2deg)}.opening-copy,.contact{flex:1 1 100%}.portrait figcaption{font-size:1rem}.portrait figcaption span{display:none}h1{font-size:clamp(2.5rem,7vw,4.6rem)}.opening-copy{margin:1.1rem 0 1.2rem}.contact{max-width:42em}.opening{padding-top:1.5rem}}
@media(max-width:32em){.masthead{padding:.65rem 5%;gap:.4rem}.header-link{display:none}.opening{padding-top:1rem}.opening-layout{column-gap:4%;align-items:start}.thesis{flex:1 1 9em}.eyebrow{margin-bottom:.5rem}.portrait{flex:0 1 7.25em;max-width:37%;margin-top:.15rem}.portrait-paper{padding:.3rem .3rem .8rem}.portrait figcaption{display:none}h1{font-size:2.5rem;line-height:1.02}.opening-copy{font-size:1rem;margin:.9rem 0 1rem}.form-heading{margin-bottom:.65rem;gap:.5rem}.contact{padding-top:.65rem}.fields{gap:.7rem}.field{flex-basis:100%}.form-actions>*{flex:1 1 12em}.opening-foot{margin-top:1.5rem}.reflection{margin-top:1.5rem;padding-top:2.5rem;padding-bottom:2.5rem}.reflection-body{gap:1.5rem}.reflection h2{flex-basis:100%;font-size:2.75rem}.editorial-note{padding:1.5rem 0}.about{padding-top:3rem;padding-bottom:3rem;gap:2.5rem}.section-label{margin-bottom:1.5rem}.section-shell{padding-block:3rem}.possibility-list{margin-top:2rem}.invitation{padding-block:2.5rem}}

/* Reflow responde ao espaço; texto ampliado permanece efetivamente maior. */
.service-intro>*,.possibilities-heading>*,.situations>*,.faq-section>*,.connection-list>*,.possibility-list>*{min-width:0;max-width:100%}
.section-label>p{min-width:0}
.text-link,.invitation-link{max-width:100%}
.brand{max-width:none;width:min(100%,18rem)}
.brand img{max-width:10rem}
@media(max-width:32em){.service h2,.possibilities h2,.situations h2,.faq-intro h2{font-size:2rem}.reflection h2{font-size:2.25rem}.invitation h2{font-size:1.875rem}.connection-list strong,.possibility-list h3{font-size:1.5rem}}


/* Composições finais: linhas editoriais, pessoa e assinatura próximas. */
.opening>.care-lines{margin-top:2.5rem}
.possibilities-heading{display:block;max-width:46rem}
.possibilities-heading>p{margin-top:1.5rem;max-width:38em}
.possibility-list{display:flex;flex-direction:column;gap:0;margin-top:2.5rem}
.possibility-list article{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 2rem;flex:0 1 auto;padding:1.5rem 0}
.possibility-list article>.small-index{flex:0 0 2rem}
.possibility-list h3{flex:1 1 11em;min-width:0;margin:0}
.possibility-list p{flex:1.6 1 24em;min-width:0;max-width:none}
.about{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:2rem 7%;padding-block:4rem}
.about-text{flex:1 1 24em;min-width:0;max-width:40rem}
.about-photo{flex:0 1 290px;min-width:0;width:min(100%,290px);max-width:290px;margin:0}
.about-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.about-photo figcaption{font-size:1rem;line-height:1.5;margin-top:.75rem}
.about-details>p{max-width:34em;margin-top:1rem}
.brand-signature{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.5rem}
.brand-signature img{width:160px;height:auto;max-width:100%}
.brand-signature p{font-size:1rem;color:var(--muted)}
@media(max-width:60em){.about-text{display:contents}.about-heading{order:1;flex:1 1 100%;min-width:0}.about-photo{order:2}.about-details{order:3;flex:1 1 22em;min-width:0}.about{gap:1.5rem 5%}.possibility-list article>.small-index{flex-basis:100%}.possibility-list h3{flex-basis:100%;margin-bottom:.25rem}.possibility-list p{flex-basis:100%}}
@media(max-width:32em){.situation-list li{display:block}.situation-list li>span{display:block;margin-bottom:.5rem}.about{padding-block:3rem;gap:1.25rem}.about-details>p:first-child{margin-top:0}.about-photo{width:250px;flex-basis:250px;max-width:100%}.opening>.care-lines{margin-top:1.5rem}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* GUS-HERO-20261112: presença do retrato, só na abertura móvel/tablet. */
@media(max-width:60em){
  .opening-layout>.portrait{flex-basis:16.3rem;max-width:46%}
}
@media(max-width:32em){
  .opening-layout .thesis{flex-basis:7em}
  .opening-layout .thesis h1{font-size:clamp(1.8125rem,calc(15.7vw - 21.2px),2.5rem)}
  .opening-layout>.portrait{flex-basis:10.15rem;max-width:52%}
}
