:root{--frame-background:#211216}
:root{font-family:'DM Sans',sans-serif;color:#4d2028;background:#fffafb;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #d65063;outline-offset:4px}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:12px;top:-60px;background:#fff;padding:12px;z-index:50}.skip:focus{top:12px}.site-header{--header-background:#f5f5f5;background:var(--header-background);position:sticky;top:0;z-index:20;border-bottom:1px solid #ddd}.header-inner{height:86px;display:flex;align-items:center;gap:42px}.brand{display:inline-flex;flex-direction:column;line-height:1;width:130px;flex:none}.brand-mark{font:800 31px/.9 Manrope,sans-serif;letter-spacing:-.1em;color:#12313d}.brand-mark span{color:#bc3546}.brand-caption{font:700 9px Manrope,sans-serif;letter-spacing:.32em;margin-top:7px;color:#8c5360}.site-header nav{display:flex;gap:32px;margin-left:auto}.site-header nav a{font-size:14px;font-weight:700;color:#35282a;transition:color .2s}.site-header nav a:hover{color:#8c2434}.header-cta{font-size:14px;font-weight:700;border:1px solid #942d3b;border-radius:100px;padding:13px 20px;white-space:nowrap}.header-cta span{margin-left:15px}.header-cta:hover{background:#8c2434;color:#fff}.menu-toggle{display:none}.hero{
  background: linear-gradient(90deg, rgba(112, 28, 43, .80), rgba(112, 28, 43, .67)),
    url("assets/fachada-gwn-sem-antena.webp") center / cover no-repeat #701c2b;
  color:#fffafb;
  overflow:hidden;
}.hero-grid{display:grid;grid-template-columns:58% 42%;min-height:660px;align-items:center}.hero-copy{position:relative;z-index:2;padding:88px 0 90px}.eyebrow,.kicker{font:700 12px Manrope,sans-serif;letter-spacing:.19em}.eyebrow{color:#f3a2a8;display:flex;align-items:center;gap:15px}.line{height:1px;width:30px;background:#f3a2a8}.hero h1{font:700 clamp(40px,4.2vw,60px)/1.1 Manrope,sans-serif;letter-spacing:-.065em;max-width:800px;margin:30px 0}.hero h1 em{font-style:normal;color:#f3a2a8}.lead{font-size:19px;line-height:1.65;max-width:530px;color:#f4d6da}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-radius:4px;padding:18px 24px;font-weight:700;font-size:15px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-light{color:#701c2b;background:#f4a6aa}.button-light:hover{background:#fbc6c8}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid #db9399;padding-bottom:6px}.text-link .link-arrow{margin-left:10px}.hero-art{height:550px;position:relative;display:grid;place-items:center;margin-right:-140px;background:radial-gradient(circle at 50% 50%,#a54857 0,#7b2837 36%,transparent 66%)}.orbit{position:absolute;border:1px solid rgba(201,234,156,.26);border-radius:50%;transform:rotate(-25deg)}.orbit-one{width:460px;height:460px}.orbit-two{width:680px;height:680px}.art-core{width:260px;height:260px;border-radius:50%;background:#f0abb0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#701c2b;box-shadow:0 30px 90px #42101980;transform:rotate(-12deg)}.art-core span{font:800 80px/.9 Manrope,sans-serif;letter-spacing:-.13em;padding-right:12px}.art-core small{font:800 11px Manrope,sans-serif;letter-spacing:.4em;margin-top:18px}.art-note{position:absolute;right:60px;bottom:48px;font-size:13px;line-height:1.5;color:#f2c5cd;text-align:right}.hero-foot{padding:8px 0 12px;font:700 10px/1.5 Manrope,sans-serif;letter-spacing:.18em;color:#e7b5bc}.intro-band{background:#f0abb0;padding:48px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.intro-grid p:first-child{font:500 clamp(25px,2.5vw,37px)/1.24 Manrope,sans-serif;letter-spacing:-.04em;margin:0}.intro-grid p:last-child{max-width:530px;font-size:16px;line-height:1.7;margin:0}.section{padding:112px 0}.kicker{color:#a52b3c;margin:0 0 20px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:54px}.section h2,.cta-section h2{font:700 clamp(34px,3.7vw,53px)/1.15 Manrope,sans-serif;letter-spacing:-.055em;margin:0;max-width:670px}.section-head>p{max-width:350px;margin:0 0 5px;line-height:1.65;color:#725b60}.services{background:#fffafb}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:#fff;border:1px solid #ead5d8;min-height:310px;padding:30px;position:relative;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #1c3b3712}.service-num{position:absolute;right:28px;top:30px;color:#a7838b;font:700 12px Manrope}.service-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#f9e4e5;color:#a52b3c;font-size:27px;margin-bottom:37px}.service-card h3{font:700 21px Manrope;letter-spacing:-.03em;margin:0 0 12px}.service-card p{font-size:15px;line-height:1.65;color:#725b60;margin:0;max-width:310px}.about{background:#f8e9e9}.about-grid{display:grid;grid-template-columns:44% 1fr;gap:10%;align-items:center}.about-visual{min-height:510px;background:#812536;color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.about-visual:after{content:'';position:absolute;width:420px;height:420px;border:1px solid #e5a1a570;border-radius:50%;right:-175px;top:60px}.big-number{font:700 clamp(100px,13vw,190px)/1 Manrope;letter-spacing:-.1em;color:#f0abb0}.big-number span{font-size:.5em;vertical-align:top;letter-spacing:0}.about-visual p{font:600 24px/1.3 Manrope;margin:20px 0 46px}.visual-rule{height:1px;background:#d9a1a9;margin-bottom:18px}.about-visual>span{font:700 10px Manrope;letter-spacing:.17em;color:#f0c3c7}.about-copy p:not(.kicker){line-height:1.75;color:#725b60;font-size:16px;margin:24px 0}.segments{border-top:1px solid #e4cbd0;padding-top:24px;margin-top:34px;display:grid;gap:10px;line-height:1.6}.segments span{color:#725b60}.testimonials{background:#fffafb}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quotes blockquote{background:#f8eaea;margin:0;padding:40px 44px;min-height:300px;display:flex;flex-direction:column}.quote-mark{font:700 70px/.7 Georgia;color:#ba3445}.quotes p{font:500 18px/1.6 Manrope;letter-spacing:-.02em;margin:30px 0;flex:1}.quotes footer{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#a52b3c}.cta-section{background:#8d2939;color:#fff;padding:76px 0}.cta-grid{display:flex;justify-content:space-between;align-items:end;gap:50px}.cta-section .kicker{color:#f4a6aa}.cta-section h2{max-width:790px}.cta-grid .button{white-space:nowrap}.contact{background:#fffafb}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-grid>div:first-child>p:last-child{line-height:1.7;color:#725b60;max-width:350px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:38px}.contact-details>div{border-top:1px solid #d9bec1;padding-top:19px}.contact-details span{display:block;font:700 11px Manrope;letter-spacing:.15em;color:#9b6b74;margin-bottom:13px}.contact-details a,.contact-details p{font:700 17px/1.5 Manrope;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}.footer{background:var(--frame-background);color:#fff}.footer-top{display:flex;align-items:center;gap:60px;padding:56px 0}.footer .brand-mark{color:#fff}.footer .brand-caption{color:#f0abb0}.footer-top p{color:#f0cdd0;margin:0 auto 0 0;max-width:230px;line-height:1.5}.footer-top>a:last-child{font-size:14px;font-weight:700}.footer-bottom{border-top:1px solid #4a2d35;padding:22px 0 32px;display:flex;justify-content:space-between;gap:20px;color:#e6b8bd;font-size:12px}@media(max-width:900px){.header-inner{gap:20px}.site-header nav{gap:16px}.hero-grid{grid-template-columns:1fr 38%;min-height:570px}.hero h1{font-size:clamp(36px,5vw,52px)}.hero-art{margin-right:-300px;opacity:.55}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:5%}.about-visual{padding:32px}.contact-grid{gap:45px}}@media(max-width:700px){.wrap{width:min(100% - 36px,540px)}.header-inner{height:70px}.header-inner>.brand{width:110px}.brand-mark{font-size:27px}.brand-caption{font-size:8px}.menu-toggle{display:flex;align-items:center;gap:8px;margin-left:auto;background:none;border:0;color:#35282a;font-weight:700;padding:12px}.menu-toggle span{font-size:18px}.site-header nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--header-background);box-shadow:0 12px 22px #701c2b20;padding:20px 18px;flex-direction:column;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:13px 0;border-bottom:1px solid #ddd}.header-cta{display:none}.hero-grid{display:block;min-height:0}.hero-copy{padding:75px 0 76px}.hero h1{font-size:clamp(32px,7.5vw,46px);margin:24px 0}.lead{font-size:17px}.hero-art{display:none}.hero-actions{flex-direction:column;align-items:flex-start;gap:28px}.intro-band{padding:40px 0}.intro-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.intro-grid p:first-child{font-size:28px}.section{padding:76px 0}.section-head{display:block;margin-bottom:32px}.section-head>p{margin-top:20px}.section h2,.cta-section h2{font-size:36px}.service-grid,.quotes{grid-template-columns:1fr}.service-card{min-height:260px}.service-icon{margin-bottom:26px}.about-visual{min-height:330px;padding:38px}.big-number{font-size:110px}.about-visual p{font-size:21px}.about-copy{padding-top:18px}.quotes blockquote{min-height:0;padding:35px}.quotes p{font-size:17px}.cta-section{padding:65px 0}.cta-grid{display:block}.cta-grid .button{margin-top:30px}.contact-details{gap:30px 18px}.contact-details>.contact-wide{grid-column:1/-1}.contact-details a,.contact-details p{font-size:15px}.footer-top{flex-direction:column;gap:18px;padding:42px 0;text-align:center}.footer-top .brand{width:90px}.footer-top p{margin:0;max-width:280px;font-size:13px}.footer-bottom{display:block;line-height:1.7}.footer-bottom > span{display:block}}@media(max-width:380px){.contact-details{grid-template-columns:1fr}.eyebrow{font-size:10px}.button{gap:15px}}
/* Photographs, client marks and location */
.about-visual{padding:0;background:#711e2c;display:block;min-height:520px}
.about-visual:after{display:none}
.team-photo{display:block;width:100%;height:520px;object-fit:cover;object-position:68% center}
.hero-art{height:100%;min-height:590px;margin-right:0;background:none;opacity:1;overflow:hidden}
.hero-art img{width:100%;height:100%;min-height:590px;display:block;object-fit:contain;object-position:center bottom}

.photo-caption{position:absolute;left:0;right:0;bottom:0;padding:40px 44px 32px;background:linear-gradient(transparent,#4b1024e8);display:flex;align-items:baseline;gap:15px}
.photo-caption strong{font:700 28px Manrope,sans-serif;color:#fff}
.photo-caption span{font-size:14px;color:#fff}
.clients{background:#fffafb}
.testimonials + .clients{padding-top:0}
.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.client-card {
  display: grid;
  place-items: center;
  min-width: 0;
  height: 126px;
  padding: 12px;
  background: #fff;
  border: 1px solid #ead5d8;
  border-radius: 4px;
}

.client-logo {
  display: block;
  width: min(100%, var(--logo-width));
  aspect-ratio: var(--logo-ratio);
  background: url("assets/clientes-grupo-gwn.png") var(--logo-position) / var(--logo-size) no-repeat;
}
.contact-map{height:380px;margin-top:62px;border:1px solid #ead5d8;border-radius:4px;overflow:hidden;background:#f8e9e9}
.contact-map iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:900px){.client-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.hero-art{display:block;height:clamp(290px,90vw,470px);min-height:0;margin:0;opacity:1}.hero-art img{min-height:0;height:100%}.hero-copy{padding-bottom:44px}.team-photo{height:390px}.about-visual{min-height:390px}.photo-caption{padding:30px 24px 24px;display:block}.photo-caption span{display:block;margin-top:6px}.client-grid{grid-template-columns:repeat(2,1fr)}.client-card{height:112px}.contact-map{height:300px;margin-top:40px}}

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

.brand img{display:block;width:100%;height:auto}
.footer-credit{color:inherit;text-decoration:underline;text-underline-offset:3px}

.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px}
.footer-credit{margin-inline-start:auto;text-align:right}

.site-header .brand img {
  transition: filter 220ms ease, transform 220ms ease;
}

@media (hover: hover) {
  .site-header .brand:hover img {
    transform: scale(1.05);
    filter: brightness(1.28) drop-shadow(0 0 7px rgba(244, 178, 71, .48));
  }
}

.site-header .brand:focus-visible img {
  filter: brightness(1.28) drop-shadow(0 0 7px rgba(244, 178, 71, .48));
}




.link-arrow {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (min-width: 701px) {
  #depoimentos h2 {
    white-space: nowrap;
  }
}

.client-logo:not(.client-logo-original) {
  filter: url("#client-logo-white");
}

@media (min-width: 701px) {
  .about-grid > .about-visual {
    align-self: stretch;
    min-height: 0;
  }

  .about-visual > .team-photo {
    position: absolute;
    inset: 0;
    height: 100%;
  }
}

.client-pages {
  display: grid;
  gap: 14px;
}

.client-carousel [hidden] {
  display: none;
}

.client-carousel:has(.client-controls:not([hidden])) {
  position: relative;
  padding-inline: 54px;
}

.client-controls {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.client-controls button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #701c2b;
  pointer-events: auto;
  cursor: pointer;
}

.client-controls button:hover {
  background: #f8e9e9;
}

.client-controls svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 700px) {
  .client-carousel:has(.client-controls:not([hidden])) {
    padding-inline: 34px;
  }

  .client-controls button {
    width: 32px;
  }
}

.hero-foot {
  margin: 18px 0 0;
  padding: 0;
}

@media (min-width: 701px) {
  .hero-copy {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }

  .hero-foot {
    position: absolute;
    inset-inline: 0;
    bottom: 12px;
    margin: 0;
  }
}

.careers {
  margin-top: 24px;
  scroll-margin-top: 105px;
  border: 1px solid #ead5d8;
  border-radius: 8px;
  background: #fffafb;
}

.careers summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px clamp(16px, 3vw, 30px);
  cursor: pointer;
  list-style: none;
}

.careers summary::-webkit-details-marker { display: none; }
.careers summary:focus-visible { outline: 3px solid #d65063; outline-offset: 4px; }
.careers summary strong { display: block; color: #701c2b; font-size: 19px; }
.careers small { display: block; margin-top: 5px; color: #725b60; line-height: 1.5; }
.careers-toggle { flex: 0 0 36px; text-align: center; border-radius: 50%; background: #701c2b; color: #fff; font-size: 22px; line-height: 36px; }
.careers-toggle::before { content: "+"; }
.careers[open] .careers-toggle::before { content: "−"; }

.careers-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 24px clamp(16px, 3vw, 30px) 30px;
  border-top: 1px solid #ead5d8;
}

.careers-form label, .careers-form legend { color: #4d2028; font-size: 14px; font-weight: 700; }
.careers-form input:not([type=radio]), .careers-form textarea {
  display: block;
  width: 100%;
  min-width: 0;
  margin-top: 8px;
  padding: 11px 12px;
  border: 1px solid #d9bec1;
  border-radius: 6px;
  background: #fff;
  color: #4d2028;
  font: inherit;
  font-weight: 400;
}

.careers-form textarea { resize: vertical; }
.careers-form fieldset { min-width: 0; margin: 0; padding: 10px 12px; border: 1px solid #d9bec1; border-radius: 6px; }
.careers-form fieldset label { display: inline-flex; align-items: center; gap: 5px; margin-right: 14px; }
.careers-form input[type=radio] { accent-color: #701c2b; }
.careers-wide { grid-column: 1 / -1; }
.careers-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.careers-actions button { border: 0; cursor: pointer; }
.careers-actions a { color: #701c2b; overflow-wrap: anywhere; text-decoration: underline; }

@media (max-width: 700px) {
  .careers-form { grid-template-columns: minmax(0, 1fr); }
}

.client-uploaded-logo {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
}
.quotes blockquote {
  overflow-wrap: anywhere;
}
