:root{
    --cupam-blue:#064f9e;
    --cupam-blue-dark:#023a76;
    --cupam-green:#2f9b67;
    --text:#1f2933;
    --muted:#52616f;
    --line:#d8e1ea;
    --soft:#f4f8fb;
    --white:#ffffff;
}
*{box-sizing:border-box;}
body{
    margin:0;
    font-family:'Roboto','Helvetica Neue',Arial,Helvetica,sans-serif;
    font-weight:400;
    color:var(--text);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
a{color:var(--cupam-blue);text-decoration:none;}
a:hover{color:var(--cupam-blue-dark);}
.main{width:100%;}
.hero{
    max-width:1080px;
    margin:0 auto;
    padding:28px 18px 22px;
    text-align:center;
}
.logo-link{display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;}
.logo-crop{
    display:block;
    width:min(720px,92vw);
    aspect-ratio:720/190;
    overflow:hidden;
    background:#fff;
}
.logo-crop img{
    display:block;
    width:141.12%;
    max-width:none;
    height:auto;
    transform:translate(-15.75%,-1.29%);
}
h1,h2,h3,p{margin-top:0;}
h1{
    max-width:820px;
    margin:0 auto 12px;
    font-size:clamp(2rem,4vw,3.4rem);
    line-height:1.08;
    color:var(--cupam-blue);
    letter-spacing:0;
}
.hero-lede{
    max-width:760px;
    margin:0 auto 16px;
    font-size:1.18rem;
    line-height:1.55;
    color:var(--muted);
}
.hero-contact a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border-radius:6px;
    background:var(--cupam-blue);
    color:var(--white);
    font-size:1.08rem;
    font-weight:700;
}
.section{
    max-width:1080px;
    margin:0 auto;
    padding:28px 18px;
}
.section h2{
    margin-bottom:12px;
    color:var(--cupam-blue);
    font-size:1.65rem;
    line-height:1.25;
    letter-spacing:0;
}
.service-summary p{
    max-width:820px;
    margin:0 auto 22px;
    color:var(--muted);
    font-size:1rem;
    line-height:1.65;
    text-align:center;
}
.device-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.device-card{
    border:1px solid var(--line);
    border-radius:8px;
    padding:20px;
    background:var(--white);
    text-align:left;
}
.device-card h3{
    margin-bottom:10px;
    color:var(--cupam-green);
    font-size:1.35rem;
    text-transform:uppercase;
    letter-spacing:0;
}
ul{margin:0;padding-left:22px;}
li{margin:7px 0;line-height:1.45;}
.benefits{
    background:var(--soft);
    max-width:none;
}
.benefits h2,.benefit-list{
    max-width:1080px;
    margin-left:auto;
    margin-right:auto;
}
.benefit-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    padding:0;
    list-style:none;
}
.benefit-list li{
    margin:0;
    padding:14px 16px;
    border-left:4px solid var(--cupam-green);
    background:var(--white);
    border-radius:6px;
}
.contact address{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    font-style:normal;
}
.contact address span,.contact address a{
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:6px;
    color:var(--text);
    background:var(--white);
    line-height:1.45;
}
.contact address a{font-weight:700;color:var(--cupam-blue);}
.social{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    padding-top:18px;
}
.social a{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 16px;
    border:1px solid var(--cupam-blue);
    border-radius:6px;
    font-weight:700;
}
.social a:hover{background:var(--cupam-blue);color:var(--white);}
.section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}
.section-heading h2{margin:0;}
.section-heading a{font-weight:700;}
.instagram-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    align-items:start;
}
.instagram-card{
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:var(--white);
    color:var(--text);
}
.instagram-card img{
    width:100%;
    aspect-ratio:4/5;
    object-fit:contain;
    background:#eef3f7;
    display:block;
}
.instagram-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    aspect-ratio:4/5;
    color:var(--white);
    background:var(--cupam-blue);
    font-weight:700;
}
.instagram-caption{
    display:-webkit-box;
    min-height:72px;
    padding:10px;
    overflow:hidden;
    color:var(--muted);
    font-size:.88rem;
    line-height:1.35;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
}
.footer{
    padding:24px 18px 34px;
    text-align:center;
    color:var(--muted);
    border-top:1px solid var(--line);
}
.footer p{margin:0;font-size:.95rem;}
@media (max-width:1050px){
    .instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:760px){
    .device-grid,.benefit-list,.contact address{grid-template-columns:1fr;}
    .section-heading{align-items:flex-start;flex-direction:column;}
    .instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:480px){
    .hero{padding-top:18px;}
    .instagram-grid{grid-template-columns:1fr;}
}
/* Adultos y comparativa CUPAM */
.people-feature{padding-top:8px;}
.people-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:24px;align-items:center;}
.people-copy{text-align:left;}
.people-copy p{margin-bottom:14px;color:var(--muted);font-size:1rem;line-height:1.65;}
.people-copy ul{padding-left:22px;}
.people-image{margin:0;overflow:hidden;border-radius:8px;border:1px solid var(--line);background:#eef3f7;aspect-ratio:16/9;}
.people-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 33%;}
.section-intro{max-width:820px;margin:0 auto 22px;color:var(--muted);font-size:1rem;line-height:1.65;text-align:center;}
.device-focus{margin:0 0 12px;color:var(--muted);font-weight:700;line-height:1.45;}
.device-card-highlight{border-color:rgba(47,155,103,.55);box-shadow:0 8px 24px rgba(6,79,158,.08);}
.comparison-scroll{margin-top:18px;overflow-x:auto;padding-bottom:2px;}
.comparison-table{display:grid;grid-template-columns:minmax(150px,.9fr) repeat(2,minmax(150px,1fr));min-width:520px;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-align:left;background:#fff;}
.comparison-table>div{padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);line-height:1.35;}
.comparison-table>div:nth-child(3n){border-right:0;}
.comparison-table>div:nth-last-child(-n+3){border-bottom:0;}
.comparison-head{background:var(--cupam-blue);color:#fff;font-weight:700;}
@media (max-width:840px){.people-layout{grid-template-columns:1fr;}.people-image{order:-1;}.people-copy{text-align:center;}.people-copy ul{text-align:left;display:inline-block;}}
/* End adultos y comparativa CUPAM */
/* Ajuste texto tarjetas dispositivos */
.service-summary .device-focus{max-width:none;text-align:left;margin:0 0 12px;color:var(--muted);font-weight:700;line-height:1.45;}\n/* End ajuste texto tarjetas dispositivos */
