/* G6.1 | Estudo editorial implementado em branch de revisão.
   NÃO representa UI aprovada das seções fora do Hero A.
   Reutiliza a paleta e o ritmo visual do G2 V5 sem copiar referências externas. */
.editorial-section,.page-body,.page-profile,.page-contact,.page-outro { padding:clamp(4rem,8vw,8rem) var(--space-layout); }
.editorial-container { max-width:var(--content-max); margin:0 auto; }
.editorial-kicker { margin:0 0 2rem; font-size:.73rem; text-transform:uppercase; font-weight:700; letter-spacing:.16em; }
.editorial-section h2,.inner-page h2 { font-size:clamp(2.4rem,5.9vw,5.75rem); line-height:1.05; letter-spacing:-.055em; font-weight:700; margin:0; text-wrap:balance; }
.editorial-section em,.inner-page em { font-style:normal; font-weight:350; }
.editorial-head { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:start; gap:1.5rem; }
.editorial-head h2 { grid-column:2; }
.editorial-head > p:last-child { margin:0; max-width:32ch; font-size:1.04rem; line-height:1.6; }
.editorial-section--light { background:#faf9f6; }
 .editorial-services { margin-top:4rem; border-top:1px solid #c5cec0; }
.editorial-service { display:grid; grid-template-columns:5rem minmax(0,1fr) auto; align-items:start; gap:2rem; padding:2.1rem 0; border-bottom:1px solid #c5cec0; }
.editorial-index,.service-number { font-size:.75rem; font-weight:700; letter-spacing:.1em; }
.editorial-service h3 { font-size:clamp(1.5rem,2.6vw,2.55rem); line-height:1.1; margin:0 0 .7rem; letter-spacing:-.035em; }
.editorial-service p { font-size:1rem; line-height:1.6; max-width:55ch; margin:0; }
.editorial-service a { color:inherit; text-decoration:none; font-size:.87rem; font-weight:700; display:flex; align-items:center; gap:1rem; min-height:2.75rem; }
.editorial-service a:hover { text-decoration:underline; }
.editorial-end { display:flex; justify-content:flex-end; margin-top:2rem; }
.editorial-link { display:inline-flex; align-items:center; gap:3rem; justify-content:space-between; padding:.88rem 1.15rem .88rem 1.5rem; min-height:3.3rem; border-radius:10rem; color:#fff; background:#1e3b2d; text-decoration:none; font-size:.95rem; font-weight:600; }
.editorial-link span { display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.18); width:2rem; height:2rem; flex:none; }
.editorial-link:hover { background:#305a45; }
.editorial-split { display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(2rem,9vw,9rem); align-items:start; }
.editorial-section--forest { background:#183629; color:#fff; }
.editorial-section--forest .editorial-split { gap:clamp(2rem,7vw,6rem); }
.editorial-segments p { max-width:31rem; font-size:1.2rem; margin:4rem 0 2rem; }
.editorial-segments ul { padding:0; margin:0; list-style:none; }
.editorial-segments li { border-top:1px solid rgba(255,255,255,.28); padding:1.2rem 0; font-size:1.1rem; }
.editorial-section--cream { background:#f8f6f2; }
.editorial-copy { font-size:1.16rem; line-height:1.7; }
.editorial-copy p:first-child { margin-top:0; }
.editorial-copy .editorial-link { margin-top:1.5rem; font-size:.86rem; }
.editorial-section--sage { background:#bcccb1; }
.editorial-region { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.editorial-region-shape { width:min(35vw,23rem); aspect-ratio:1; flex-shrink:0; display:grid; place-items:center; position:relative; border-radius:48% 52% 32% 68% / 46% 36% 64% 54%; border:1px solid rgba(30,59,45,.48); transform:rotate(-12deg); }
.editorial-region-shape>span:first-child { font-size:clamp(3rem,10vw,9rem); font-weight:300; opacity:.54; transform:rotate(12deg); }
.editorial-region-dot { width:1rem; height:1rem; background:#1e3b2d; border-radius:50%; position:absolute; right:20%; top:22%; }
.editorial-section--dark { background:#12281f; color:#fff; }
.editorial-last { display:flex; flex-direction:column; align-items:flex-start; max-width:58rem; }
.editorial-last p:not(.editorial-kicker) { font-size:1.1rem; max-width:39rem; margin:2rem 0; }
.editorial-section--dark .editorial-link,.page-outro .editorial-link { background:#fff; color:#1e3b2d; }
.editorial-section--dark .editorial-link:hover { background:#dce6d7; }
.page-banner { padding:clamp(5rem,11vw,9rem) var(--space-layout); border-radius:0 0 2rem 2rem; }
.page-banner--green { background:#1e3b2d; color:#fff; }
.page-banner--cream { background:#eceee5; }
.page-head { max-width:var(--content-max); margin:auto; }
.page-head h1 { font-size:clamp(3rem,7vw,6.6rem); font-weight:750; line-height:1.04; margin:0 0 2rem; letter-spacing:-.065em; max-width:13ch; text-wrap:balance; }
.page-head h1 .motion-word { max-width:100%; overflow-wrap:anywhere; }
.page-head>p:last-child { max-width:45rem; font-size:clamp(1rem,1.55vw,1.3rem); line-height:1.6; }
.page-body { background:#f8f6f2; }
.service-list { border-top:1px solid #bfc7b9; }
.service-row { display:grid; grid-template-columns:9rem 1fr auto; align-items:start; gap:2rem; padding:3rem 0; border-bottom:1px solid #bfc7b9; scroll-margin-top:2rem; }
.service-row h2 { font-size:clamp(2rem,4vw,3.6rem); max-width:22ch; }
.service-row p { max-width:51ch; font-size:1.05rem; line-height:1.6; }
.service-row-link { text-decoration:none; font-size:.88rem; font-weight:700; min-height:2.75rem; padding:.6rem; }
.service-row-link:hover { text-decoration:underline; }
.page-outro { background:#c9d7c1; }
.page-outro p:not(.editorial-kicker) { max-width:42ch; font-size:1.12rem; }
.page-profile { background:#dfe8d9; }
.page-contact { background:#f8f6f2; min-height:45vh; }
.contact-unavailable { border-left:3px solid #54745e; padding:1rem 1.25rem; background:#e8efe4; font-size:1rem; font-weight:600; }
.contact-region { border-top:1px solid #adb8ac; padding-top:1.5rem; font-size:1.07rem; }
.site-footer__inner { align-items:center; gap:1rem; }
.site-footer small { max-width:32rem; }
@media (max-width:900px) {
  .editorial-head { grid-template-columns:1fr 2fr; }
  .editorial-head h2 { grid-column:2; }
  .editorial-head > p:last-child { grid-column:2; }
  .editorial-service { grid-template-columns:4rem minmax(0,1fr); }
  .editorial-service a { grid-column:2; }
  .service-row { grid-template-columns:6rem 1fr; }
  .service-row-link { grid-column:2; }
}
@media (max-width:650px) {
 .editorial-section,.page-body,.page-profile,.page-contact,.page-outro { padding:4rem 1.1rem; }
 .editorial-head,.editorial-split { display:block; }
 .editorial-head h2 { margin-bottom:1.8rem; }
 .editorial-services { margin-top:2.5rem; }
 .editorial-service { grid-template-columns:2.5rem minmax(0,1fr); gap:.75rem; padding:1.6rem 0; }
 .editorial-end { justify-content:stretch; }
 .editorial-link { width:100%; justify-content:space-between; }
 .editorial-segments p { margin:2rem 0; font-size:1rem; }
 .editorial-region { display:block; }
 .editorial-region-shape { margin:2rem 1.5rem 0 auto; width:58vw; }
 .page-banner { padding:5rem 1.1rem; border-radius:0 0 1.2rem 1.2rem; }
 .page-head h1 { font-size:clamp(2.35rem,10vw,4rem); }
 .service-row { grid-template-columns:1fr; gap:1rem; padding:2.2rem 0; }
 .service-row-link { grid-column:1; justify-self:start; padding-left:0; }
 .editorial-section h2,.inner-page h2 { overflow-wrap:anywhere; }
}


/* PR-08 | Galeria de projetos: layout aprovado como direção,
   projetos reais aguardam documentação e permissão de imagens. */
.editorial-section--projects { background:#e4e8e0; }
.project-section-head {
  display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr);
  gap:clamp(2rem,7vw,7rem); align-items:end; margin-bottom:3.3rem;
}
.project-section-head p:not(.editorial-kicker) { max-width:37ch; line-height:1.6; font-size:1.05rem; }
.project-section-link {
  display:inline-flex; gap:2.5rem; align-items:center; justify-content:space-between;
  font-weight:700; font-size:.9rem; text-decoration:none;
  border-bottom:1px solid currentColor; padding:.7rem 0; min-height:2.75rem;
}
.project-section-link:hover { text-decoration:underline; }
.project-section-link:focus-visible,
.project-card:focus-within { outline:3px solid #1e3b2d; outline-offset:4px; }
.project-gallery {
  margin:0; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1rem; grid-auto-flow:dense;
}
.project-card {
  min-width:0; grid-column:span 4; border-radius:1.1rem; overflow:hidden;
  display:flex; flex-direction:column;
  background:#f8f6f2; color:#233b2c;
}
.project-card--feature { grid-column:span 7; grid-row:span 2; }
.project-card:not(.project-card--feature):nth-child(2) { grid-column:span 5; }
.project-card:not(.project-card--feature):nth-child(3) { grid-column:span 5; }
.project-card:nth-child(4) { grid-column:span 5; }
.project-card:nth-child(5) { grid-column:span 4; }
.project-card:nth-child(6) { grid-column:span 3; }
.project-card__art {
  flex:1 1 auto; min-height:18rem; aspect-ratio:5/4;
  position:relative; overflow:hidden; isolation:isolate;
  background:linear-gradient(135deg,#294936,#607e63 65%,#a0b59d);
}
.project-card--feature .project-card__art { flex:1; min-height:34rem; }
.project-card:nth-child(2) .project-card__art { background:linear-gradient(125deg,#315c51,#9aaf9a); }
.project-card:nth-child(3) .project-card__art { background:linear-gradient(130deg,#2a3832,#677d70); }
.project-card:nth-child(4) .project-card__art { background:linear-gradient(130deg,#718e79,#d0d7c6); }
.project-card:nth-child(5) .project-card__art { background:linear-gradient(140deg,#334537,#809e84); }
.project-card:nth-child(6) .project-card__art { background:linear-gradient(130deg,#516b57,#b1bea9); }
.project-card__art--photo img { width:100%; height:100%; object-fit:cover; display:block; }
.project-card__arc {
  position:absolute; border:1px solid rgba(255,255,255,.29);
  border-radius:48% 52% 42% 58% / 60% 40% 60% 40%;
  width:118%; aspect-ratio:1; transform:rotate(-22deg);
}
.project-card__arc--one { top:7%; left:22%; }
.project-card__arc--two { top:19%; left:35%; width:77%; transform:rotate(30deg); }
.project-card__axis {
  position:absolute; height:1px; background:rgba(255,255,255,.32);
  left:5%; right:5%; bottom:25%; transform:rotate(-18deg);
}
.project-card__number {
  position:absolute; bottom:1.5rem; left:1.5rem; font-size:clamp(3rem,7vw,6.5rem);
  line-height:1; font-weight:300; letter-spacing:-.08em; color:rgba(255,255,255,.78);
}
.project-card__footer {
  display:flex; justify-content:space-between; align-items:center;
  gap:1rem; padding:1.25rem 1.5rem; font-size:.85rem;
}
.project-card__footer span:first-child { font-weight:700; }
.project-card__footer span:last-child {
  font-size:.7rem; letter-spacing:.07em; text-transform:uppercase;
  color:#59705f;
}
.project-gallery--compact .project-card--feature { grid-column:span 6; grid-row:span 1; }
.project-gallery--compact .project-card:not(.project-card--feature) { grid-column:span 3; }
.project-gallery--compact .project-card__art { min-height:22rem; }
.page-project-gallery { padding:clamp(3.5rem,7vw,7rem) var(--space-layout); background:#e4e8e0; }
.project-gallery-intro {
  display:grid; grid-template-columns:1fr 2fr; gap:2rem;
  max-width:var(--content-max); margin:0 auto 2.75rem;
}
.project-gallery-intro > p:last-child { max-width:58ch; margin:0; }
@media (max-width:900px) {
  .project-section-head { grid-template-columns:1.15fr 1fr; gap:2rem; }
  .project-gallery .project-card { grid-column:span 6; grid-row:auto; }
  .project-gallery--compact .project-card { grid-column:span 6 !important; }
  .project-gallery--compact .project-card:last-child { grid-column:span 12 !important; }
  .project-card__art,.project-card--feature .project-card__art { min-height:18rem; flex:initial; }
}
@media (max-width:650px) {
  .project-section-head,.project-gallery-intro { display:block; }
  .project-section-head h2 { margin-bottom:1.5rem; }
  .project-gallery { gap:.85rem; }
  .project-gallery .project-card,
  .project-gallery--compact .project-card { grid-column:span 12 !important; }
  .project-card__art,.project-card--feature .project-card__art { min-height:17rem; aspect-ratio:4/3; }
  .project-card__footer { padding:1rem 1.15rem; }
  .page-project-gallery { padding:4rem 1.1rem; }
  .project-gallery-intro { margin-bottom:2rem; }
}

.profile-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:clamp(2rem,8vw,8rem); align-items:center; }
.profile-layout h2 { margin-bottom:2rem; }
.profile-layout .lara-portrait { margin:0; width:100%; }
.profile-note { font-size:.88rem; color:#526454; }
@media (max-width:650px) { .profile-layout { grid-template-columns:1fr; gap:2rem; } .profile-layout h2 { margin-bottom:1.5rem; } }
