:root { --ink:#1a1a1a; --paper:#f4f0e8; --yellow:#ffdf40; --pink:#ef765e; --lilac:#b7a3db; --green:#3d625b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Space Grotesk", sans-serif; }
.site-header { min-height:88px; padding:14px 5vw; display:flex; justify-content:space-between; align-items:center; gap:18px; border-bottom:1px solid var(--ink); }
.brand { display:flex; align-items:center; gap:14px; min-width:0; color:var(--ink); font-size:clamp(18px, 2.2vw, 26px); font-weight:700; letter-spacing:-.8px; line-height:1.05; text-decoration:none; }
.brand-logo { width:52px; height:52px; flex-shrink:0; display:block; object-fit:cover; }
.brand-text { min-width:0; }
.brand em { font-family:"Playfair Display",serif; font-weight:500; }
.header-link { flex-shrink:0; white-space:nowrap; color:var(--ink); font:500 12px "DM Mono",monospace; text-decoration:none; text-transform:uppercase; }.header-link span { font-size:17px; margin-left:5px; }
.hero { min-height:650px; padding:8vw 9vw 7vw; display:grid; grid-template-columns:1fr .78fr; gap:7vw; align-items:center; overflow:hidden; }
.eyebrow,.section-label { font:500 11px "DM Mono",monospace; letter-spacing:.04em; }.hero h1,.manifesto h2,.experience h2,.about h2,.contact h2 { font:600 clamp(55px,7.4vw,110px)/.86 "Playfair Display",serif; letter-spacing:-.075em; margin:22px 0 28px; }.hero h1 i,h2 i { font-weight:500; }
.intro { max-width:430px; font-size:17px; line-height:1.5; margin-bottom:32px; }.button { display:inline-flex; align-items:center; gap:27px; padding:16px 19px; border:1px solid; font:500 12px "DM Mono",monospace; text-decoration:none; text-transform:uppercase; transition:transform .2s ease; }.button:hover { transform:rotate(-2deg) translateY(-2px); }.button span { font-size:21px; line-height:12px; }.button-dark { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.hero-visual { position:relative; max-width:410px; justify-self:end; }.hero-photo { display:block; width:100%; aspect-ratio:1; object-fit:cover; filter:saturate(.9); }.paper-note { position:absolute; z-index:1; padding:12px 15px; background:var(--yellow); font:500 12px/1.25 "DM Mono",monospace; transform:rotate(-7deg); }.note-top { top:-23px; left:-63px; }.sticker { position:absolute; right:-35px; bottom:-33px; width:126px; height:126px; display:grid; place-content:center; border-radius:50%; background:var(--pink); text-align:center; font-size:28px; transform:rotate(10deg); }.sticker span { font:500 10px/1.15 "DM Mono",monospace; text-transform:uppercase; }.image-caption { margin:17px 0 0; font:500 10px "DM Mono",monospace; letter-spacing:.1em; }
.manifesto { padding:100px 9vw; display:grid; grid-template-columns:25% 1fr; gap:6vw; background:var(--yellow); }.manifesto h2 { max-width:850px; font-size:clamp(40px,5.3vw,80px); }.manifesto p:not(.section-label) { max-width:570px; margin:0; font-size:19px; line-height:1.52; }
.gallery { padding:9vw; display:grid; grid-template-columns:1.08fr .72fr .9fr; grid-template-rows:auto 365px 255px 330px 240px auto; gap:18px; background:#d3cae9; }.gallery-heading { grid-column:1 / -1; display:flex; justify-content:space-between; align-items:end; margin-bottom:22px; }.gallery-heading h2 { max-width:620px; margin:0; font:600 clamp(38px,5vw,72px)/.88 "Playfair Display",serif; letter-spacing:-.07em; }.gallery-heading h2 i { font-weight:500; }.gallery figure { margin:0; overflow:hidden; background:#c1b5db; }.gallery img { width:100%; height:100%; object-fit:cover; display:block; filter:contrast(1.03); transition:transform .5s ease; }.gallery figure:hover img { transform:scale(1.04); }.gallery-item-1 { grid-row:2 / span 2; }.gallery-item-2 { grid-row:2; transform:rotate(-2deg); }.gallery-item-3 { grid-row:2 / span 2; }.gallery-item-4 { grid-row:4; }.gallery-item-5 { grid-row:4 / span 2; }.gallery-item-6 { grid-row:4; }.gallery-item-7 { grid-column:1 / span 2; grid-row:5; }.gallery-item-8 { grid-row:5; }.gallery-item-9 { grid-column:1 / span 2; grid-row:6; height:290px; }.gallery-note { align-self:end; margin:0 0 20px; font:500 11px/1.4 "DM Mono",monospace; letter-spacing:.04em; }
.experience { padding:110px 9vw 90px; background:var(--green); color:var(--paper); }.experience h2 { max-width:650px; font-size:clamp(47px,6vw,90px); }.experience-grid { margin-top:65px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(244,240,232,.55); }.experience article { min-height:440px; padding:25px 30px 25px 0; border-right:1px solid rgba(244,240,232,.55); }.experience article+article { padding-left:28px; }.experience article:last-child { border:0; }.step-media { width:min(164px,72%); aspect-ratio:1; margin:0 0 22px; overflow:hidden; border-radius:50%; background:#9ab8b0; border:1px solid rgba(244,240,232,.75); }.experience article:nth-child(2) .step-media { margin-left:auto; }.experience article:nth-child(3) .step-media { transform:rotate(6deg); }.step-media img,.step-media video { display:block; width:100%; height:100%; object-fit:cover; }.step-media img { object-position:center 42%; }.number { font:500 11px "DM Mono",monospace; }.experience h3 { margin:13px 0 10px; font:500 29px "Playfair Display",serif; }.experience article p { max-width:235px; margin:0; font-size:15px; line-height:1.45; }.experience-note { max-width:390px; margin:48px 0 0 auto; font:500 12px/1.5 "DM Mono",monospace; }
.for-whom { padding:9vw; min-height:610px; position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; overflow:hidden; }.cutout-title { font:600 clamp(48px,7vw,105px)/.82 "Playfair Display",serif; letter-spacing:-.07em; }.cutout-title i { font-weight:500; }.for-whom-copy { align-self:end; max-width:370px; padding-bottom:30px; }.for-whom-copy p { font-size:18px; line-height:1.45; }.for-whom ul { list-style:none; padding:0; margin:28px 0 0; font:500 12px/2.25 "DM Mono",monospace; }.for-whom li:before { content:"✦"; margin-right:10px; }.for-whom img { display:block; object-fit:cover; opacity:.95; }
.about { padding:8vw 9vw; display:grid; grid-template-columns:.72fr 1fr; gap:11vw; align-items:center; background:var(--pink); }.about-image { height:490px; overflow:hidden; }.about-image img { width:100%; height:100%; object-fit:cover; object-position:50% 72%; }.about h2 { font-size:clamp(55px,7vw,105px); }.about-copy>p:not(.section-label) { max-width:500px; font-size:17px; line-height:1.48; }.about-copy em { font-family:"DM Mono",monospace; font-size:.82em; }
.contact { padding:12vw 9vw; background:var(--ink); color:var(--paper); text-align:center; }.contact h2 { margin:22px auto 28px; font-size:clamp(48px,7vw,103px); }.contact-copy { margin:0 auto 27px; font-size:18px; }.button-light { background:var(--yellow); border-color:var(--yellow); color:var(--ink); }.contact-hint { margin:20px 0 0; color:#bfbab2; font:400 10px "DM Mono",monospace; }
footer { padding:28px 5vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; background:var(--ink); color:var(--paper); border-top:1px solid #52504d; font:400 10px "DM Mono",monospace; } footer span { justify-self:start; } footer a { color:var(--paper); text-decoration:none; } footer > a:last-child { justify-self:end; } footer a:hover { text-decoration:underline; text-underline-offset:4px; } .footer-logo { justify-self:center; } .footer-logo img { width:72px; height:72px; display:block; object-fit:cover; transition:transform .2s ease; } .footer-logo:hover { text-decoration:none; } .footer-logo:hover img { transform:rotate(-6deg) scale(1.06); }
@media (max-width:700px) { .site-header { padding:12px 6vw; }.brand { gap:10px; }.brand-logo { width:40px; height:40px; }.hero { min-height:0; padding:70px 8vw 88px; grid-template-columns:1fr; gap:70px; }.hero-visual { width:83%; justify-self:center; }.note-top { left:-28px; }.sticker { right:-28px; }.manifesto { padding:70px 8vw; grid-template-columns:1fr; gap:28px; }.manifesto p:not(.section-label) { font-size:17px; }.gallery { padding:70px 8vw; grid-template-columns:1fr 1fr; grid-template-rows:auto 310px 230px 260px 230px 280px 210px 240px; gap:11px; }.gallery-heading { display:block; grid-column:1 / -1; margin:0 0 25px; }.gallery-heading h2 { margin-top:20px; }.gallery-item-1 { grid-row:2 / span 2; }.gallery-item-2 { grid-row:2; }.gallery-item-3 { grid-column:1 / -1; grid-row:4; }.gallery-item-4 { grid-row:5; }.gallery-item-5 { grid-row:5 / span 2; }.gallery-item-6 { grid-row:7; }.gallery-item-7 { grid-column:1 / -1; grid-row:8; }.gallery-item-8 { grid-row:7; }.gallery-item-9 { grid-column:1 / -1; grid-row:9; height:240px; }.gallery-note { grid-column:1 / -1; margin:17px 0 0; }.experience { padding:75px 8vw; }.experience-grid { margin-top:45px; grid-template-columns:1fr; }.experience article,.experience article+article { min-height:0; padding:20px 0 30px; border-right:0; border-bottom:1px solid rgba(244,240,232,.55); }.step-media { width:140px; margin-bottom:18px; }.experience h3 { margin:13px 0 9px; }.experience-note { margin:35px 0 0; }.about { padding:70px 8vw; grid-template-columns:1fr; gap:45px; }.about-image { height:360px; }.contact { padding:95px 8vw; } footer { grid-template-columns:1fr; justify-items:center; text-align:center; gap:16px; padding:28px 6vw; font-size:9px; } footer span, footer > a:last-child { justify-self:center; } .footer-logo img { width:64px; height:64px; } }

/* Ajustes de mídia e composição da seção O GESTO */
.brand { letter-spacing:-.7px; }
.sticker { width:140px; height:140px; }
.sticker span { font-size:9px; }
.manifesto-image { margin:0; overflow:hidden; box-shadow:10px 10px 0 var(--ink); }
.manifesto-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 36%; }

@media (min-width:701px) {
  .manifesto { grid-template-columns:18% 1fr minmax(180px,.55fr); gap:4vw; align-items:end; }
  .manifesto-image { height:330px; transform:rotate(3deg); }
}

@media (max-width:700px) {
  .brand { font-size:15px; }
  html { overflow-x:hidden; }
  .manifesto { grid-template-columns:1fr; gap:28px; overflow:hidden; }
  .manifesto h2 { max-width:none; font-size:clamp(34px, 11vw, 46px); line-height:.92; margin:12px 0 18px; }
  .manifesto p:not(.section-label) { max-width:none; }
  .manifesto-image { width:min(86%, 320px); height:auto; aspect-ratio:3 / 4; justify-self:center; transform:rotate(2deg); }
}

/* Galeria: todos os registros em cartões 4:5, com recortes consistentes. */
.gallery { grid-template-columns:repeat(3, minmax(0, 1fr)); grid-template-rows:none; }
.gallery-heading { grid-column:1 / -1; }
.gallery-item { grid-column:auto !important; grid-row:auto !important; height:auto !important; aspect-ratio:4 / 5; transform:none !important; }
.gallery-item img { object-fit:cover; }
.gallery-item-1 img { object-position:center center; }
.gallery-item-2 img { object-position:center 34%; }
.gallery-item-3 img { object-position:center 55%; }
.gallery-item-4 img { object-position:center 48%; }
.gallery-item-5 img { object-position:center 42%; }
.gallery-item-6 img { object-position:center 45%; }
.gallery-item-7 img { object-position:center center; }
.gallery-item-8 img { object-position:center center; }
.gallery-item-9 img { object-position:center 38%; }
.gallery-note { grid-column:1 / -1; margin:10px 0 0; }

@media (max-width:700px) {
  .gallery { grid-template-columns:repeat(2, minmax(0, 1fr)); grid-template-rows:none; }
  .gallery-heading, .gallery-note { grid-column:1 / -1; }
}

/* Mantém a imagem da seção Para quem em sua própria coluna, sem cobrir o texto. */
@media (min-width:701px) {
  .for-whom { grid-template-columns:minmax(0, 1.25fr) minmax(280px, .75fr); grid-template-rows:auto auto; column-gap:7vw; }
  .cutout-title { grid-column:1; grid-row:1; }
  .for-whom-copy { grid-column:1; grid-row:2; max-width:470px; }
  .for-whom > img { position:relative; grid-column:2; grid-row:1 / span 2; align-self:center; justify-self:end; width:100%; height:min(43vw,520px); max-height:none; right:auto; top:auto; z-index:0; transform:rotate(5deg); }
}

@media (max-width:700px) {
  .for-whom { display:flex; flex-direction:column; align-items:stretch; min-height:0; overflow:visible; padding:70px 8vw 80px; }
  .cutout-title { order:1; font-size:clamp(38px, 12.5vw, 54px); line-height:.88; }
  .for-whom > img { order:2; position:relative; width:min(72vw, 260px); height:auto; max-height:none; margin:28px auto 8px; right:auto; top:auto; z-index:0; transform:rotate(4deg); align-self:center; object-fit:contain; }
  .for-whom-copy { order:3; margin-top:18px; max-width:none; padding-bottom:0; }
}

/* Etapas em cartões 4:5, centralizados e sem máscara circular. */
.experience article { min-height:505px; }
.step-media { width:min(180px, 72%); aspect-ratio:4 / 5; margin:0 auto 22px; border-radius:0; }
.experience article:nth-child(2) .step-media { margin:0 auto 22px; }
.experience article:nth-child(3) .step-media { transform:none; }
.step-media video { object-position:center; }
.about-link { margin-top:27px !important; font:500 13px/1.45 "DM Mono", monospace; }
.about-link a { color:var(--ink); text-underline-offset:4px; }

@media (max-width:700px) {
  .experience article { min-height:0; }
  .step-media { width:150px; }
}
