/* Shared specialist-project section. Brand fonts are locally hosted. */
@font-face{font-family:MA-Gabarito;src:url('fonts/gabarito-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:MA-Spectral;src:url('fonts/spectral-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:MA-Kalam;src:url('fonts/kalam-400.woff2') format('woff2');font-weight:400;font-display:swap}
#servicios{scroll-margin-top:100px}
.services .section-head{max-width:800px;margin-bottom:30px}
.services .section-head .eyebrow{margin-bottom:18px;color:var(--teal);font-size:.84rem}
.services .section-head h2{max-width:760px}
.service-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 60px}
.service-links a{display:inline-flex;align-items:center;gap:20px;justify-content:space-between;padding:11px 17px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s}
.service-links a span{color:var(--teal)}
.service-links a:hover{background:var(--sand-light);border-color:var(--teal)}
.projects-heading{display:flex;align-items:start;justify-content:space-between;gap:40px;padding-top:28px;border-top:1px solid var(--line);margin-bottom:28px}
.projects-heading h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em;margin:0;max-width:330px}
.projects-heading p{max-width:530px;margin:0;color:var(--ink-soft);font-size:.98rem;line-height:1.65}
.brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.brand-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;color:var(--ink);text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s}
.brand-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(7,55,67,.10);border-color:var(--teal)}
.brand-card:focus-visible,.service-links a:focus-visible,.brief-cta:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
.brand-visual{height:235px;position:relative;overflow:hidden;flex:none;border-bottom:1px solid var(--line)}
.brand-copy{padding:25px 25px 22px;display:flex;flex-direction:column;flex:1}
.brand-category{font-size:.65rem;letter-spacing:.08em;font-weight:700;color:var(--ink-soft);margin:0 0 12px;line-height:1.6}
.brand-copy h4{font-size:1.55rem;line-height:1.15;letter-spacing:-.03em;margin:0 0 13px}
.brand-description{margin:0 0 26px;color:var(--ink-soft);font-size:.96rem;line-height:1.65}
.brand-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:.9rem;font-weight:700}
.brand-cta>span{font-size:1.25rem;transition:transform .2s}
.brand-card:hover .brand-cta>span{transform:translate(2px,-2px)}
.brand-utter .brand-cta{color:#6243c3}
.brand-edit .brand-cta{color:#a33329}
.visual-utter{background:#f2eefb;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:28px 20px 26px;color:#201b2e}
.uc-logo{position:relative;display:flex;align-items:center;gap:12px;background:#201b2e;color:#faf9fb;padding:14px 19px 21px;border-radius:9px;font:700 32px/1 MA-Gabarito,Arial,sans-serif;letter-spacing:-.04em;box-shadow:0 8px 20px #201b2e18;white-space:nowrap}
.uc-logo em{font-style:normal;color:#a98ef0}
.uc-logo::after{content:"";position:absolute;left:19px;right:19px;bottom:6px;height:5px;border-top:2px solid #a98ef0;background:repeating-linear-gradient(90deg,#c3adfa 0 1px,transparent 1px 10px)}
.uc-dots{font:700 14px/7px Arial,sans-serif;overflow-wrap:anywhere;white-space:normal;max-width:5px;color:#a98ef0}
.uc-desk{margin:13px 0 27px;font:9px/1.4 monospace;letter-spacing:.17em;color:#65577e}
.uc-caption{display:flex;gap:9px;align-items:center;font-size:12px;color:#55466e}
.uc-caption>span{font:10px monospace;border:1px solid #9183ae;border-radius:3px;padding:2px 3px}
.uc-timeline{position:absolute;bottom:0;left:0;right:0;display:flex;gap:5px;padding:7px 22px;border-top:1px solid #d5cbea;background:#e9e2f6}
.uc-timeline i{height:7px;border-radius:2px;background:#b6a0e1;flex:1}
.uc-timeline i:nth-child(2n){flex:1.6;background:#d0c0ec}
.visual-langmod{background:#04030d}
.visual-langmod img{width:100%;height:100%;display:block;object-fit:cover;object-position:100% center;transition:transform .45s}
.brand-langmod:hover img{transform:scale(1.035)}
.lm-label{position:absolute;left:15px;bottom:13px;padding:5px 8px;background:#04030de8;color:#63e2ec;font:9px/1.4 monospace;letter-spacing:.12em;border-left:2px solid #ef49a6}
.visual-edit{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f4f1e9;color:#30343a;padding:25px;background-image:linear-gradient(90deg,transparent 23px,#c3443430 23px,#c3443430 24px,transparent 24px)}
.ec-logo{display:flex;align-items:center;gap:10px;font:400 28px/1.2 MA-Spectral,Georgia,serif;letter-spacing:-.02em}
.ec-logo svg{width:29px;height:29px;flex:none}
.ec-edit{display:flex;flex-direction:column;align-items:center;margin:24px 0 16px;line-height:1.2}
.ec-before{font:400 22px/1.2 MA-Spectral,Georgia,serif;color:#676967;text-decoration:line-through;text-decoration-color:#bf3c30;text-decoration-thickness:1.5px}
.ec-after{font:400 28px/1.2 MA-Kalam,cursive;color:#b5372e;transform:rotate(-4deg);margin-top:3px}
.ec-note{font:9px/1.4 monospace;letter-spacing:.16em;color:#73706a}
.open-brief{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:42px;padding:31px 34px;margin-top:30px;border-radius:20px;background:var(--sand-light);border:1px solid #e9e1d1}
.open-brief h3{font-size:1.4rem;letter-spacing:-.025em;line-height:1.25;margin:0 0 10px}
.open-brief p{max-width:650px;color:var(--ink-soft);margin:0;font-size:.98rem}
.brief-cta{font-weight:700;text-decoration:none;font-size:.98rem;line-height:1.5;padding:9px 0;border-bottom:1px solid #008b8060}
.brief-cta>span{color:var(--teal);margin-left:8px}
.brief-cta small{display:block;font-weight:400;font-size:.8rem;color:var(--ink-soft);margin-top:6px}
.brief-cta:hover{color:var(--teal)}
.footer-copy .tenerife-credit{margin-top:12px;margin-bottom:14px;color:#c0d6d5;font-size:.88rem;letter-spacing:.01em}
.tenerife-heart{color:#75d7c6;font-family:"Segoe UI Symbol",Arial,sans-serif;display:inline-block;margin:0 3px;font-size:1.1em}
@media(min-width:861px) and (max-width:1050px){.brand-grid{gap:14px}.brand-copy{padding:22px 19px}.uc-logo{font-size:26px;padding-inline:14px}.ec-logo{font-size:24px;gap:7px}}
@media(max-width:860px){.brand-grid{grid-template-columns:1fr}.brand-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.brand-visual{height:100%;min-height:260px;border-bottom:0;border-right:1px solid var(--line)}.projects-heading{display:block}.projects-heading h3{max-width:none;margin-bottom:12px}.projects-heading p{max-width:650px}.open-brief{gap:25px;padding:28px}.open-brief{grid-template-columns:1fr}.brief-cta{justify-self:start}.uc-logo{font-size:28px}}
@media(max-width:580px){#servicios{scroll-margin-top:90px}.service-links{gap:8px;margin-bottom:38px}.service-links a{font-size:.82rem;padding:10px 13px;gap:12px}.brand-card{display:flex}.brand-visual{height:230px;min-height:0;border-right:0;border-bottom:1px solid var(--line)}.brand-grid{gap:24px}.brand-copy{padding:25px}.brand-description{margin-bottom:22px}.projects-heading{margin-bottom:23px}.projects-heading h3{font-size:1.4rem}.open-brief{padding:25px;gap:19px}.uc-logo{font-size:32px}.ec-logo{font-size:30px}.services .section-head h2{font-size:clamp(2rem,7.8vw,2.8rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.brand-card:hover,.brand-langmod:hover img{transform:none}}
