/* Local proposal: lower Home only. No hero/header/footer or shared tokens. */
.piritel-home #servicios { padding-block: clamp(3.5rem, 6vw, 6rem); }
.piritel-home #servicios .section-heading { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.piritel-home #servicios .section-heading h2 { max-width: 20ch; font-size: clamp(2rem, 3.1vw, 3rem); }
.piritel-home #servicios .section-intro { max-width: 48ch; margin: 0 0 .25rem; }
.piritel-home #servicios .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); border: 0; gap: 0 2.5rem; }
.piritel-home #servicios .service-card { display: flex; flex-direction: column; grid-column: auto; padding: 1.75rem 0; border: 0; border-top: 1px solid #dce3e6; background: transparent; border-radius: 0; }
.piritel-home #servicios .service-card h3 { max-width: 25ch; margin-bottom: .75rem; font-size: 1.25rem; line-height: 1.3; }
.piritel-home #servicios .service-card p { max-width: 40ch; margin-bottom: 1rem; }
.piritel-home #servicios .service-card a { display: inline-flex; gap: .75rem; align-items: center; align-self: start; margin-top: auto; font-size: .8125rem; text-decoration-thickness: 1px; }
.piritel-home #servicios .service-card:not(:first-child) { display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: .875rem; padding-block: 1.5rem; }
.piritel-home #servicios .service-icon { grid-column: 1; grid-row: 1; width: 28px; height: 28px; color: #17262f; }
.piritel-home #servicios .service-card:not(:first-child) h3 { grid-column: 2; grid-row: 1; margin-bottom: .65rem; font-size: 1.1875rem; }
.piritel-home #servicios .service-card:not(:first-child) p { grid-column: 2; grid-row: 2; }
.piritel-home #servicios .service-card:not(:first-child) a { grid-column: 2; grid-row: 3; }
.piritel-home #servicios .service-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); grid-template-rows: auto auto 1fr; gap: 0 3rem; margin-bottom: 1.5rem; padding: 2.5rem; background: #f1f5f4; border: 1px solid #dce3e6; border-radius: 2.5rem .5rem .5rem; overflow: clip; }
.piritel-home #servicios .service-feature-image { grid-column: 2; grid-row: 1 / 4; align-self: center; justify-self: end; width: 100%; max-width: 440px; height: auto; aspect-ratio: 4 / 3; object-fit: contain; mix-blend-mode: multiply; }
.piritel-home #servicios .service-card:first-child h3 { grid-column: 1; grid-row: 1; max-width: 15ch; margin: 1rem 0; font-size: clamp(1.9rem, 3vw, 2.75rem); }
.piritel-home #servicios .service-card:first-child p { grid-column: 1; grid-row: 2; font-size: 1.0625rem; line-height: 1.7; }
.piritel-home #servicios .service-card:first-child a { grid-column: 1; grid-row: 3; justify-self: start; align-self: end; margin: 1rem 0; padding: .8rem 1rem; border-radius: .375rem; background: #00dc00; color: #17262f; text-decoration: none; }
.piritel-home #servicios .service-card:first-child a:hover { background: #17262f; color: #fff; }
.piritel-home #hoteles { position: relative; background: #17262f; padding-block: clamp(3.5rem, 6vw, 6rem); }
.piritel-home #hoteles .hotel-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); align-items: center; gap: 3.5rem; }
.piritel-home #hoteles .hotel-copy h2 { max-width: 22ch; font-size: clamp(2rem, 3.3vw, 3.2rem); }
.piritel-home #hoteles .hotel-copy p:not(.eyebrow) { max-width: 58ch; font-size: .9375rem; line-height: 1.8; }
.piritel-home #hoteles .hotel-carousel { position: relative; padding: 1rem 0 0 1rem; border-top: 1px solid #617779; border-left: 1px solid #617779; border-top-left-radius: 2.5rem; }
.piritel-home #hoteles .hotel-slide img { border-radius: 1.75rem .375rem .375rem; }
.piritel-home #hoteles .hotel-slide figcaption { font-size: .8125rem; color: #e4ecec; }
.piritel-home #hoteles .hotel-controls { gap: 1rem; }
.piritel-home #hoteles .hotel-selector { min-height: 48px; padding: .4rem .65rem; border: 1px solid #52676d; border-radius: .375rem; font-size: .75rem; }
.piritel-home #hoteles .hotel-selector[aria-pressed="true"] { border-color: #00dc00; color: #fff; }
.piritel-home #hoteles .hotel-selector > span:first-child { display: none; }
.piritel-home #hoteles .hotel-links { margin-top: 1.5rem; gap: 0; }
.piritel-home #hoteles .hotel-links a { text-decoration-color: #799396; }
.piritel-home #hoteles .hotel-capabilities { margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid #465d65; gap: 2.5rem; }
.piritel-home #hoteles .hotel-capabilities h3 { margin: 0 0 1rem; padding-left: 0; border: 0; font-size: 1.125rem; }
.piritel-home #hoteles .hotel-capabilities h3::before { content: ''; display: block; width: 2rem; height: 3px; margin-bottom: 1rem; background: #00dc00; }
.piritel-home .technologies { background: #fff; padding-block: 3.5rem; }
.piritel-home .technologies .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: 3rem; align-items: center; }
.piritel-home .technologies .eyebrow { grid-column: 1; margin-bottom: .6rem; }
.piritel-home .technologies h2 { grid-column: 1; margin: 0; max-width: 17ch; font-size: 1.75rem; }
.piritel-home .technology-list { grid-column: 2; grid-row: 1 / 3; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; gap: 1rem; border: 0; margin: 0; padding: 1rem 0; }
.piritel-home .technology-list li { display: flex; align-items: center; justify-content: center; min-width: 0; height: 84px; overflow: clip; color: #17262f; font-size: 1.0625rem; letter-spacing: -.02em; font-weight: 650; text-align: center; }
.piritel-home .technology-list img { width: 100%; max-width: 140px; height: auto; max-height: 40px; object-fit: contain; }
.piritel-home .technology-list .brand-hpe { flex: 0 0 auto; width: 120px; max-width: 100%; height: 120px; max-height: none; }
.piritel-home .technology-list .brand-unifi { background: #17262f; padding-inline: .75rem; border-radius: .25rem; }
.piritel-home .contact-section { position: relative; padding-block: 0 4rem; background: #fff; }
.piritel-home .contact-section .contact-layout { position: relative; grid-template-columns: minmax(0, 1fr) auto; gap: 3rem; padding: clamp(2rem, 5vw, 4.5rem); border-radius: .5rem 3rem .5rem .5rem; background: #f0f5f3; border: 1px solid #dce3e6; border-left: 4px solid #00dc00; }
.piritel-home .contact-section h2 { max-width: 24ch; margin-bottom: 1rem; font-size: clamp(2rem, 3vw, 3rem); }
.piritel-home .contact-section .button { align-self: center; margin-bottom: 0; min-height: 52px; padding-inline: 1.5rem; }
.piritel-home .contact-section .contact-layout > div > p:last-child { max-width: 46ch; font-size: 1rem; line-height: 1.75; }
@media (max-width: 1099px) {
  .piritel-home #servicios .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; }
  .piritel-home #servicios .service-card:first-child { gap: 0 1.5rem; padding: 2rem; }
  .piritel-home #hoteles .hotel-layout { gap: 2rem; }
  .piritel-home .technologies .container { grid-template-columns: 1fr; }
  .piritel-home .technology-list { grid-column: 1; grid-row: auto; justify-content: start; margin-top: 1rem; }
  .piritel-home .contact-section .contact-layout { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 767px) {
  .piritel-home #servicios .section-heading { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 2rem; }
  .piritel-home #servicios .cards { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .piritel-home #servicios .service-card:first-child { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; gap: 0; padding: 1.5rem; border-radius: 1.75rem .375rem .375rem; margin-bottom: 1rem; }
  .piritel-home #servicios .service-feature-image { grid-column: 1; grid-row: 2; max-width: 100%; margin-bottom: 1rem; }
  .piritel-home #servicios .service-card:first-child h3 { grid-column: 1; grid-row: 1; margin: 0 0 1rem; max-width: 17ch; }
  .piritel-home #servicios .service-card:first-child p { grid-row: 3; font-size: 1rem; }
  .piritel-home #servicios .service-card:first-child a { grid-row: 4; margin: .5rem 0 0; font-size: .8125rem; }
  .piritel-home #hoteles .hotel-layout { grid-template-columns: minmax(0, 1fr); }
  .piritel-home #hoteles .hotel-copy h2 { font-size: 2rem; }
  .piritel-home #hoteles .hotel-copy p:not(.eyebrow) { font-size: 1rem; line-height: 1.75; }
  .piritel-home #hoteles .hotel-capabilities p { font-size: .9375rem; line-height: 1.75; }
  .piritel-home #hoteles .hotel-slide figcaption, .piritel-home #hoteles .hotel-selector { font-size: .8125rem; }
  .piritel-home #hoteles .hotel-carousel { padding: .75rem 0 0 .75rem; }
  .piritel-home #hoteles .hotel-capabilities { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; margin-top: 2.5rem; }
  .piritel-home .technologies { padding-block: 3rem; }
  .piritel-home .technology-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1rem; padding-bottom: 0; }
  .piritel-home .technology-list li { height: 72px; }
  .piritel-home .technology-list li:last-child { grid-column: 1 / -1; height: 44px; }
  .piritel-home .contact-section { padding-bottom: 2.5rem; }
  .piritel-home .contact-section .contact-layout { padding: 1.5rem; border-radius: .375rem 2rem .375rem .375rem; }
  .piritel-home .contact-section h2 { font-size: 1.9rem; }
  .piritel-home .contact-section .button { width: 100%; }
}

/* Local manufacturer proposal: optical sizes, original silhouettes, no layout animation. */
.piritel-home .technologies .container { grid-template-columns: minmax(0, 1fr); }
.piritel-home .technologies h2 { max-width: none; }
.piritel-home .technology-list { grid-column: 1; grid-row: auto; display: flex; flex-wrap: wrap; justify-content: center; gap: 0; margin-top: 1.75rem; padding: 1rem 0; border-block: 1px solid #e5e9eb; }
.piritel-home .technology-list li { flex: 0 0 14.285714%; height: 88px; overflow: visible; }
.piritel-home .manufacturer { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 64px; padding: .75rem; color: #a0a8ad; text-decoration: none; transition: color 200ms ease; border-radius: .25rem; }
.piritel-home .manufacturer:hover, .piritel-home .manufacturer:focus-visible { color: #17262f; }
.piritel-home .manufacturer:focus-visible { outline: 2px solid #17262f; outline-offset: -2px; }
.piritel-home .manufacturer-mark { display: block; width: 100%; max-width: 142px; height: 34px; background: currentColor; -webkit-mask: var(--manufacturer-art) center / contain no-repeat; mask: var(--manufacturer-art) center / contain no-repeat; }
.piritel-home .manufacturer-mark img { display: none; }
.piritel-home .manufacturer--hpe .manufacturer-mark { max-width: 92px; height: 32px; }
.piritel-home .manufacturer--ubiquiti .manufacturer-mark { max-width: 140px; }
.piritel-home .manufacturer--veeam .manufacturer-mark { max-width: 118px; }
.piritel-home .manufacturer-text { font-size: 1.25rem; line-height: 1.25; font-weight: 650; letter-spacing: -.025em; }
.piritel-home .manufacturer--grandstream .manufacturer-text { font-size: 1.0625rem; }
@supports not (mask-image: url('')) {
  .piritel-home .manufacturer-mark { background: transparent; }
  .piritel-home .manufacturer-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
}
@media (max-width: 1099px) {
  .piritel-home .technology-list li { flex-basis: 25%; }
}
@media (max-width: 767px) {
  .piritel-home .technology-list { margin-top: 1.25rem; }
  .piritel-home .technology-list li, .piritel-home .technology-list li:last-child { flex-basis: 50%; height: 76px; }
  .piritel-home .manufacturer { padding: .75rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .piritel-home .manufacturer { transition: none; }
}

/* Supplied ESET corporate symbol; product wording excluded by request. */
.piritel-home .manufacturer--eset .manufacturer-mark { max-width: 76px; height: 30px; }

.piritel-home .manufacturer--grandstream .manufacturer-mark { max-width: 156px; height: 32px; }

/* Final optical refinement: manufacturers only, local review. */
.piritel-home .technologies { padding-block: 2.75rem; }
.piritel-home .technology-list { margin-top: 1.5rem; padding-block: .625rem; }
.piritel-home .technology-list li { height: 76px; }
.piritel-home .manufacturer { height: 64px; min-height: 64px; padding: .5rem .625rem; color: #929a9f; }
.piritel-home .manufacturer:hover, .piritel-home .manufacturer:focus-visible { color: #17262f; }
.piritel-home .manufacturer-mark { max-width: 136px; height: 28px; }
.piritel-home .manufacturer--hpe .manufacturer-mark { max-width: 76px; height: 25px; }
.piritel-home .manufacturer--ubiquiti .manufacturer-mark { max-width: 124px; height: 28px; }
.piritel-home .manufacturer--mikrotik .manufacturer-mark { max-width: 138px; height: 26px; }
.piritel-home .manufacturer--microsoft .manufacturer-mark { max-width: 132px; height: 29px; }
.piritel-home .manufacturer--eset .manufacturer-mark { max-width: 76px; height: 30px; }
.piritel-home .manufacturer--veeam .manufacturer-mark { max-width: 116px; height: 25px; }
.piritel-home .manufacturer--grandstream .manufacturer-mark { max-width: 166px; height: 30px; }
@media (max-width: 767px) {
  .piritel-home .technologies { padding-block: 2.5rem; }
  .piritel-home .technology-list { margin-top: 1.25rem; padding-block: .5rem; row-gap: .25rem; }
  .piritel-home .technology-list li, .piritel-home .technology-list li:last-child { flex-basis: 25%; height: 68px; }
  .piritel-home .technology-list li:nth-child(n + 5) { flex-basis: 33.333333%; }
  .piritel-home .manufacturer { height: 64px; padding: .375rem .25rem; }
  .piritel-home .manufacturer-mark { height: 23px; }
  .piritel-home .manufacturer--hpe .manufacturer-mark { max-width: 54px; height: 21px; }
  .piritel-home .manufacturer--ubiquiti .manufacturer-mark { max-width: 86px; height: 23px; }
  .piritel-home .manufacturer--mikrotik .manufacturer-mark { max-width: 86px; height: 23px; }
  .piritel-home .manufacturer--microsoft .manufacturer-mark { max-width: 86px; height: 23px; }
  .piritel-home .manufacturer--eset .manufacturer-mark { max-width: 62px; height: 26px; }
  .piritel-home .manufacturer--veeam .manufacturer-mark { max-width: 94px; height: 24px; }
  .piritel-home .manufacturer--grandstream .manufacturer-mark { max-width: 120px; height: 25px; }
}
