/* Overstand v3 — pàgines interiors (soluciones, blog, thankyou, error...). Es carrega després de site.css. */
.container{max-width:1180px;margin:auto;padding:0 24px}
body.ov{padding-top:0}
body.ov main{display:block}
body.ov .ov-sec{padding-block:clamp(60px,8vw,100px)}
.ov-hero h2{margin-top:6px;line-height:1.3}.ov-hero .cta{margin-top:28px}
html:not(.js) .rv{opacity:1}
header nav a[aria-current]{color:var(--ink)}
.ov-foot a{color:var(--a)}
/* ---------- SOLUCIONES (classes seo-*) ---------- */
.seo-shell{position:relative;z-index:1;overflow:visible}
.seo-shell .seo-hero{position:relative;padding:clamp(120px,14vw,170px) 0 clamp(60px,8vw,100px);border-bottom:1px solid var(--ln);background:radial-gradient(ellipse at 85% 10%,rgba(11,120,194,.28),transparent 55%)}
.seo-shell h1{font-size:clamp(2rem,4.6vw,3.8rem);max-width:22ch;margin-bottom:22px;background:linear-gradient(120deg,#fff 40%,var(--a));-webkit-background-clip:text;background-clip:text;color:transparent}
.seo-shell .seo-hero p{max-width:60ch;font-size:1.1rem}
.seo-breadcrumb{font:12px 'JetBrains Mono',monospace;letter-spacing:.06em;color:var(--mut);margin-bottom:26px}
.seo-breadcrumb a{color:var(--mut)}.seo-breadcrumb a:hover{color:var(--a)}
.seo-eyebrow,.seo-kicker{font:400 13px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--a);display:block;margin-bottom:18px}
.seo-hero-split{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
@media(max-width:900px){.seo-hero-split{grid-template-columns:1fr}}
.seo-cta,.seo-cta-outline{display:inline-block;margin:26px 12px 0 0;padding:14px 26px;border-radius:99px;font-weight:500;border:1px solid var(--a);transition:transform .3s,box-shadow .3s;background-image:none}
.seo-cta{background:var(--a);color:var(--bg)!important}
.seo-cta-outline{background:transparent;color:var(--ink)!important;border-color:var(--ln)}
.seo-cta:hover{transform:translateY(-3px);box-shadow:0 10px 40px -8px var(--a)}.seo-cta-outline:hover{border-color:var(--a)}
.seo-proof{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;font:13px 'JetBrains Mono',monospace;color:var(--mut)}
.seo-proof span::before{content:"✓";color:var(--a);margin-right:8px}
.seo-visual{padding:26px;border:1px solid var(--ln);border-radius:22px;background:rgba(255,255,255,.03);backdrop-filter:blur(6px)}
.seo-visual-label{font:11px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--a);margin-bottom:16px}
.seo-doc{padding:18px;border:1px solid var(--ln);border-radius:14px;background:rgba(255,255,255,.04)}
.seo-doc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;color:var(--ink)}
.seo-doc-tag{font:11px 'JetBrains Mono',monospace;padding:4px 10px;border-radius:99px;background:rgba(77,180,242,.14);color:var(--a)}
.seo-doc-line{height:7px;border-radius:4px;background:var(--ln);margin:10px 0;width:86%}.seo-doc-line.medium{width:62%}.seo-doc-line.short{width:40%}
.seo-processing{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;font-size:13px}
.seo-processing span{padding:6px 12px;border:1px solid rgba(77,180,242,.4);border-radius:99px;color:var(--ink)}
.seo-processing i{flex:1;min-width:14px;height:1px;background:linear-gradient(90deg,var(--a),transparent)}
.seo-data{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seo-data-cell{padding:12px 14px;border:1px solid var(--ln);border-radius:12px;background:rgba(255,255,255,.025)}
.seo-data-cell small{display:block;font:11px 'JetBrains Mono',monospace;color:var(--mut);text-transform:uppercase;letter-spacing:.1em}.seo-data-cell strong{font-size:.95rem}
.seo-section{padding:clamp(56px,8vw,96px) 0}
.seo-section h2{max-width:26ch}
.seo-section h3{margin-top:30px}
.seo-section p+p{margin-top:14px}
.seo-section ul{padding-left:22px;color:var(--mut)}.seo-section li{margin:6px 0}
.seo-section-lead{max-width:62ch;margin-bottom:10px}
.seo-alt{background:rgba(255,255,255,.02);border-block:1px solid var(--ln)}
.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-top:40px}
.seo-card{position:relative;padding:28px;border:1px solid var(--ln);border-radius:22px;background:rgba(255,255,255,.025);overflow:hidden;transition:border-color .4s}
.seo-card::before{content:"";position:absolute;inset:0;background:radial-gradient(380px circle at var(--x,50%) var(--y,0%),rgba(77,180,242,.16),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.seo-card:hover{border-color:rgba(77,180,242,.4)}.seo-card:hover::before{opacity:1}
.seo-card>*{position:relative}.seo-card h3{margin-top:0;font-size:1.15rem}
a.seo-card{display:block;color:inherit;background-image:none}
.seo-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:36px 0}
.seo-step{padding:20px 22px;border-left:2px solid var(--b)}.seo-step strong{display:block;font-size:1.1rem;margin:4px 0 6px}
.seo-step-no{font:13px 'JetBrains Mono',monospace;color:var(--a)}
.seo-callout{margin-top:34px;padding:22px 26px;border-left:3px solid var(--a);border-radius:0 16px 16px 0;background:rgba(77,180,242,.07)}.seo-callout p{color:var(--ink)}
.seo-banner{padding:clamp(40px,6vw,70px);border:1px solid var(--ln);border-radius:28px;text-align:center;background:radial-gradient(ellipse at center,rgba(11,120,194,.3),transparent 70%)}
.seo-banner h2,.seo-banner p{margin-inline:auto}.seo-banner p{max-width:60ch}
.seo-contact{border-top:1px solid var(--ln)}
.seo-contact-form{max-width:760px;margin-top:34px}
.seo-contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.seo-contact-form .col-sm-12,.seo-contact-form .col-md-12{grid-column:1/-1}
@media(max-width:640px){.seo-contact-form .row{grid-template-columns:1fr}}
.seo-contact-form label{display:block;font:12px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.seo-contact-form input[type=text],.seo-contact-form input[type=email],.seo-contact-form input[type=tel],.seo-contact-form textarea{width:100%;padding:16px 18px;background:rgba(255,255,255,.04);border:1px solid var(--ln);border-radius:14px;color:var(--ink);font:inherit}
.seo-contact-form input[type=tel]:focus{outline:0;border-color:var(--a);box-shadow:0 0 0 4px rgba(77,180,242,.12)}
.seo-contact-form .overs-contact-pcaptcha{font:12px 'JetBrains Mono',monospace;color:var(--mut);margin-bottom:8px;text-transform:uppercase;letter-spacing:.1em}
.seo-contact-form img{border-radius:8px;height:46px;width:auto}
.seo-contact-form .legalrow{font-size:14px;color:var(--mut)}
.seo-contact-form .legalrow input{width:auto;margin-right:6px}
.seo-contact-form .form-btn{margin-top:6px}
.seo-contact-form .btn{border:0;cursor:pointer;font:inherit;font-weight:500}
/* ---------- BLOG ---------- */
.ov-hero{padding:clamp(120px,14vw,170px) 0 clamp(40px,6vw,70px);background:radial-gradient(ellipse at 85% 10%,rgba(11,120,194,.28),transparent 55%);border-bottom:1px solid var(--ln)}
.ov-hero h1{font-size:clamp(2rem,4.8vw,4rem);max-width:20ch;margin-bottom:18px;background:linear-gradient(120deg,#fff 40%,var(--a));-webkit-background-clip:text;background-clip:text;color:transparent}
.ov-hero p{max-width:62ch;font-size:1.1rem}
.ov-hero h2{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:500;color:var(--ink);max-width:40ch}
.ov-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:20px}
.ov-post{position:relative;border:1px solid var(--ln);border-radius:22px;background:rgba(255,255,255,.025);overflow:hidden;display:flex;flex-direction:column;transition:border-color .4s,transform .4s}
.ov-post:hover{border-color:rgba(77,180,242,.4);transform:translateY(-4px)}
.ov-post .im{aspect-ratio:16/9;overflow:hidden;background:#0a1624;display:block}
.ov-post img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9;transition:transform .6s,opacity .4s}
.ov-post:hover img{transform:scale(1.04);opacity:1}
.ov-post .tx{padding:22px 24px 26px}
.ov-post h3{font-size:1.15rem;margin-bottom:10px}.ov-post h3 a{color:var(--ink)}
.ov-post p{font-size:.95rem}
.ov-post mark,.ov-hero mark,.ov-article-body mark{background:none;color:var(--a)}
.ov-h2cat{font-size:clamp(1.3rem,2.4vw,1.9rem);margin-bottom:34px;max-width:40ch}
.ov-more{margin-top:40px}
.ov-article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start;padding-top:clamp(110px,12vw,150px);padding-bottom:clamp(60px,8vw,100px)}
@media(max-width:960px){.ov-article-wrap{grid-template-columns:1fr}}
.ov-article h1{font-size:clamp(1.9rem,4vw,3.2rem);max-width:24ch;margin-bottom:26px}
.ov-article .hero-img{width:100%;height:auto;border-radius:22px;border:1px solid var(--ln);margin-bottom:30px}
.ov-article h2.sub{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:500;color:var(--ink);font-style:italic;margin-bottom:10px}
.ov-article h3.sub{font-size:1rem;font-weight:400;color:var(--mut);margin-bottom:30px}
.ov-article-body{font-size:1.08rem;line-height:1.8;color:#c4ced8}
.ov-article-body p{color:#c4ced8;margin:0 0 1.2em}
.ov-article-body h2,.ov-article-body h3,.ov-article-body h4{color:var(--ink);margin:1.8em 0 .6em}
.ov-article-body h2{font-size:1.7rem}.ov-article-body h3{font-size:1.3rem}
.ov-article-body ul,.ov-article-body ol{padding-left:1.3em;margin:0 0 1.2em;color:#c4ced8}.ov-article-body li{margin:.4em 0}
.ov-article-body img{max-width:100%;height:auto;border-radius:14px;margin:12px 0}
.ov-article-body blockquote{margin:1.6em 0;padding:6px 0 6px 22px;border-left:3px solid var(--a);color:var(--ink)}
.ov-article-body code,.ov-article-body pre{font-family:'JetBrains Mono',monospace;font-size:.9em;background:rgba(255,255,255,.06);border-radius:8px;padding:2px 7px}
.ov-article-body pre{padding:16px;overflow:auto}
.ov-article-body table{width:100%;border-collapse:collapse;margin:1.4em 0;display:block;overflow-x:auto}.ov-article-body th,.ov-article-body td{padding:10px 14px;border-bottom:1px solid var(--ln);text-align:left}
.ov-article-body iframe,.ov-article-body video{max-width:100%}
.ov-cta-inline{margin-top:36px;padding:22px 26px;border-radius:18px;border:1px solid rgba(77,180,242,.35);background:rgba(77,180,242,.07);color:var(--ink)}
.ov-hidden{display:none}
.ov-side{position:sticky;top:96px;display:grid;gap:22px}
.ov-side .box{padding:24px;border:1px solid var(--ln);border-radius:22px;background:rgba(255,255,255,.025)}
.ov-side h3{font:400 12px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--a);margin-bottom:14px}
.ov-side h4{font-size:1rem;font-weight:500;line-height:1.35;margin:0 0 12px}.ov-side h4 a{color:var(--ink)}
.ov-side ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ov-side ul a{display:inline-block;padding:7px 14px;border:1px solid var(--ln);border-radius:99px;font-size:14px;color:var(--ink);background-image:none}.ov-side ul a:hover{border-color:var(--a);color:var(--a)}
/* ---------- PÀGINES D'ESTAT (thankyou, error, captcha) ---------- */
.ov-status{min-height:100svh;display:flex;align-items:center;padding:140px 0 80px;background:radial-gradient(ellipse at 70% 20%,rgba(11,120,194,.25),transparent 60%)}
.ov-status h1{font-size:clamp(2rem,4.8vw,3.8rem);max-width:16ch;margin-bottom:22px;background:linear-gradient(120deg,#fff 40%,var(--a));-webkit-background-clip:text;background-clip:text;color:transparent}
.ov-status p{max-width:54ch;font-size:1.15rem}
.ov-status .cta{margin-top:30px}
.ov-status .code{font:400 clamp(4rem,14vw,9rem)/1 'JetBrains Mono',monospace;color:var(--a);opacity:.9;margin-bottom:10px}
.ov-status form{max-width:520px}
.ov-status .cp input{flex:1}
.seo-contact-form .legalrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seo-contact-form .legalrow label{display:inline;margin:0;font:inherit;font-size:14px;text-transform:none;letter-spacing:0;color:var(--mut)}
.seo-contact-form .legalrow input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--a)}
.seo-contact-form .seo-cta{margin:0}
/* ---------- LANDINGS D'ANUNCIS (landingdev) ---------- */
.lp-top{position:fixed;top:0;left:0;right:0;z-index:10;backdrop-filter:blur(14px);background:rgba(5,13,23,.55);border-bottom:1px solid var(--ln)}
.lp-top .w{display:flex;align-items:center;justify-content:space-between;height:68px;padding-top:env(safe-area-inset-top,0px)}
.lp-top .hl{display:flex;align-items:center;gap:2px}
.lp-top .tel-href{color:var(--ink);font:500 14px 'JetBrains Mono',monospace}
.lp-top nav{display:flex;gap:18px;align-items:center}
.lp-top .ib{filter:brightness(1.6)}.lp-top .ig{filter:brightness(1.2)}
.lp-top .mk,.lp-top .lt{height:46px;width:auto}
@media(max-width:640px){.lp-top .mk,.lp-top .lt{height:34px}.lp-top .tel-href{display:none}}
.lp-hero{padding:clamp(110px,12vw,150px) 0 clamp(50px,7vw,90px);background:radial-gradient(ellipse at 85% 10%,rgba(11,120,194,.28),transparent 55%)}
.lp-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
@media(max-width:900px){.lp-hero-grid{grid-template-columns:1fr}}
.lp-hero h1{font-size:clamp(2rem,4.6vw,3.8rem);max-width:20ch;margin-bottom:26px;background:linear-gradient(120deg,#fff 40%,var(--a));-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-hero .header-list{color:var(--ink)}.lp-hero .header-list ul{list-style:none;padding:0;display:grid;gap:10px}
.lp-hero .header-list li{position:relative;padding-left:26px}.lp-hero .header-list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--a);box-shadow:0 0 10px var(--a)}
.lp-card{padding:clamp(22px,3vw,34px);border:1px solid var(--ln);border-radius:24px;background:rgba(255,255,255,.04);backdrop-filter:blur(8px)}
.lp-card .card-subtitle{display:block;font-size:1.3rem;font-weight:500;color:var(--ink);margin-bottom:8px}
.lp-card .card-descrip{display:block;color:var(--mut);font-size:.95rem}
.lp-card form,.lp-contact form{max-width:none;margin-top:20px}
.lp .cp{display:flex;gap:12px;align-items:center}.lp .cp input{flex:1;min-width:0}
.lp input.btn{cursor:pointer;font:inherit;font-weight:500;width:100%}
.lp .seo-banner input.btn{width:auto}
.lp .logos img{max-width:100%}
.lp-steps{padding:clamp(40px,6vw,70px) 0}
.lp-steps ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.lp-steps li{display:flex;gap:16px;align-items:center;padding:20px 22px;border-left:2px solid var(--b)}
.lp-steps li span{font:500 1.6rem 'JetBrains Mono',monospace;color:var(--a)}
.lp .mid-contact{padding:clamp(30px,5vw,60px) 0}
.lp-meto{padding:clamp(50px,7vw,90px) 0}
.lp-meto .seo-card img{width:100%;max-height:170px;object-fit:contain;margin-bottom:16px}
.lp-meto-sub{color:var(--mut);max-width:70ch}
.lp-contact{padding:clamp(50px,7vw,100px) 0;border-top:1px solid var(--ln);background:rgba(255,255,255,.02)}
.lp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:34px;align-items:start}
@media(max-width:900px){.lp-contact-grid{grid-template-columns:1fr}}
.lp-contact .contact-left ul{padding-left:20px;color:var(--mut)}
.lp-contact .lp-sub{max-width:60ch}
/* bloc de text de la metodologia (landingdev): ocupa tot l'ample del contenidor */
.lp-meto .lp-meto-sub{max-width:none;width:100%;color:var(--mut)}
.lp-meto-sub h2{font-size:clamp(1.5rem,2.6vw,2.2rem);margin:1.8em 0 .6em;max-width:none;color:var(--ink)}
.lp-meto-sub h3{font-size:1.2rem;margin:1.6em 0 .4em;color:var(--ink)}
.lp-meto-sub p{max-width:none}
.lp-meto-sub ul{padding-left:1.3em;margin:0 0 1.2em}
.lp-meto-sub li{margin:.4em 0}
/* targetes antigues de la BD amb fons clar en línia (style="background:#f7f9fc"): es fan fosques com la resta del web */
.lp .card[style]{background:rgba(255,255,255,.03)!important;border:1px solid var(--ln)!important;box-shadow:none!important;color:var(--mut)}
.lp .card h2,.lp .card h3,.lp .card h4{color:var(--ink);max-width:none}
.lp .card p,.lp .card li{color:var(--mut)}
.lp .card a{color:var(--a)}
.lp .card+.card,.lp .lp-meto-sub .card{margin-top:18px}
.lp .card .card-body>h2:first-child,.lp .card>h2:first-child{margin-top:0}