/*
Theme Name: Top Criterio
Theme URI: https://topcriterio.agency/
Author: Top Criterio
Description: Tema sobrio y premium para Top Criterio, agencia SEO B2B boutique. Home como portada estática (front-page.php), menú editable y logo personalizable.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: top-criterio
*/

:root{
  --tc-ink:#0B0F15;
  --tc-ink-2:#080B10;
  --tc-line-dark:#2A3441;
  --tc-brass:#C9A66B;
  --tc-brass-hover:#D4B57D;
  --tc-brass-text:#7A5B2B;
  --tc-paper:#F5F4F0;
  --tc-paper-2:#ECEAE3;
  --tc-card:#FBFAF7;
  --tc-line:#D9D6CE;
  --tc-text:#10151C;
  --tc-muted:#4A5361;
  --tc-muted-dark:#B4BBC6;
  --tc-serif:'Newsreader',Georgia,serif;
  --tc-sans:'Hanken Grotesk',system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--tc-paper);color:var(--tc-text);font-family:var(--tc-sans);font-size:16px;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,p,blockquote{margin:0}

.tc-wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.tc-section{padding:128px 32px}
.tc-eyebrow{font-size:12px;letter-spacing:.24em;font-weight:600;color:var(--tc-brass-text);margin-bottom:24px}
.tc-eyebrow--brass{color:var(--tc-brass)}
.tc-h2{font-family:var(--tc-serif);font-weight:300;font-size:clamp(34px,4vw,52px);line-height:1.1;letter-spacing:-.01em}
.tc-lead{font-size:17px;line-height:1.65;color:var(--tc-muted)}
.tc-dark{background:var(--tc-ink);color:var(--tc-paper)}
.tc-dark .tc-lead{color:var(--tc-muted-dark)}

/* Botones */
.tc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 32px;font-size:13px;letter-spacing:.14em;font-weight:600;border-radius:2px;transition:background .2s,border-color .2s,color .2s}
.tc-btn--brass{background:var(--tc-brass);color:var(--tc-ink)}
.tc-btn--brass:hover{background:var(--tc-brass-hover)}
.tc-btn--ghost{border:1px solid #3A4554;color:var(--tc-paper);font-size:14px;letter-spacing:0;font-weight:500;padding:0 24px;min-height:44px}
.tc-btn--ghost:hover{border-color:var(--tc-brass);color:var(--tc-brass)}
.tc-btn--outline{border:1px solid var(--tc-text);color:var(--tc-text)}
.tc-btn--outline:hover{background:var(--tc-text);color:var(--tc-paper)}

/* Barra superior */
.tc-topbar{background:var(--tc-ink-2);color:#C9CED6;font-size:13px;letter-spacing:.02em;padding:12px 24px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;text-align:center}
.tc-topbar a{color:var(--tc-brass);font-weight:600}

/* Cabecera */
.tc-header{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid #1E2631}
.tc-logo{font-family:var(--tc-serif);font-size:26px;letter-spacing:.01em;color:var(--tc-paper)}
.tc-logo img{max-height:44px;width:auto;display:block}
.tc-nav ul{display:flex;flex-wrap:wrap;gap:12px 32px;font-size:14px;color:#C9CED6}
.tc-nav a:hover,.tc-nav .current-menu-item>a{color:var(--tc-brass)}

/* Hero */
.tc-hero-grid{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-end;padding:112px 0 120px}
.tc-hero-title{flex:1 1 560px;min-width:0}
.tc-hero-title h1{font-family:var(--tc-serif);font-weight:300;font-size:clamp(44px,6vw,84px);line-height:1.04;letter-spacing:-.015em}
.tc-hero-copy{flex:1 1 340px;min-width:0;max-width:460px}
.tc-hero-copy p{font-size:18px;line-height:1.65;color:var(--tc-muted-dark);margin-bottom:36px}
.tc-hero-copy p a{color:var(--tc-paper);border-bottom:1px solid var(--tc-brass)}
.tc-hero-copy .tc-btn{min-height:52px;font-size:15px;letter-spacing:0}
.tc-ribbon{border-top:1px solid #1E2631}
.tc-ribbon .tc-wrap{padding-top:22px;padding-bottom:22px;display:flex;flex-wrap:wrap;gap:10px 48px;justify-content:space-between;font-size:12px;letter-spacing:.24em;color:#8A93A1}

/* Cabeceras de sección */
.tc-head{display:flex;flex-wrap:wrap;gap:24px 64px;align-items:flex-end;margin-bottom:64px}
.tc-head .tc-h2{flex:1 1 440px}
.tc-head .tc-lead{flex:1 1 300px;max-width:460px}

/* Servicios */
.tc-services{display:flex;flex-wrap:wrap;gap:20px}
.tc-card{flex:1 1 220px;min-width:0;border:1px solid var(--tc-line);background:var(--tc-card);padding:32px 28px 36px;display:flex;flex-direction:column;gap:14px;min-height:260px;transition:border-color .2s}
.tc-card:hover{border-color:#B8935A}
.tc-card .tc-num{font-size:12px;letter-spacing:.2em;color:var(--tc-brass-text);font-weight:600}
.tc-card h3{margin-top:auto;font-family:var(--tc-serif);font-weight:400;font-size:26px}
.tc-card p{font-size:15px;line-height:1.6;color:var(--tc-muted)}

/* Todo lo que tu web necesita */
.tc-split{display:flex;flex-wrap:wrap;gap:56px 96px}
.tc-split>*{flex:1 1 440px;min-width:0}
.tc-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.tc-tags span{border:1px solid #CFCBC1;padding:9px 16px;font-size:12px;letter-spacing:.16em;color:#2B3441}
.tc-steps{display:flex;flex-direction:column}
.tc-step{display:flex;gap:32px;padding:32px 0;border-top:1px solid #CFCBC1}
.tc-step:last-child{border-bottom:1px solid #CFCBC1}
.tc-step .tc-step-n{font-family:var(--tc-serif);font-size:44px;font-weight:300;color:var(--tc-brass-text);line-height:1;width:48px;flex:none}
.tc-step h3{font-size:20px;font-weight:600;margin-bottom:10px}
.tc-step p{font-size:15px;line-height:1.65;color:var(--tc-muted)}

/* Tres frentes SEO */
.tc-three{display:flex;flex-wrap:wrap}
.tc-three>div{flex:1 1 340px;min-width:0;padding:8px 40px 8px 0;border-top:1px solid var(--tc-line-dark)}
.tc-three>div:last-child{padding-right:0}
.tc-three .tc-label{font-size:12px;letter-spacing:.2em;color:#8A93A1;margin:24px 0 20px}
.tc-three h3{font-family:var(--tc-serif);font-weight:300;font-size:30px;line-height:1.2;margin-bottom:20px}
.tc-three p{font-size:15px;line-height:1.7;color:var(--tc-muted-dark);margin-bottom:14px}

/* Desarrollo web */
.tc-dev-list{display:flex;flex-direction:column}
.tc-dev-item{padding:28px 0;border-top:1px solid #CFCBC1;display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between}
.tc-dev-item:last-child{border-bottom:1px solid #CFCBC1}
.tc-dev-item h3{flex:0 0 200px;font-size:14px;letter-spacing:.16em;font-weight:600}
.tc-dev-item p{flex:1 1 240px;font-size:15px;line-height:1.6;color:var(--tc-muted)}

/* Equipo */
.tc-team-wrap{background:var(--tc-paper-2)}
.tc-team{display:flex;flex-wrap:wrap;gap:32px}
.tc-member{flex:1 1 220px;min-width:0}
.tc-member .tc-photo{aspect-ratio:4/5;background:var(--tc-ink);display:flex;align-items:center;justify-content:center;font-family:var(--tc-serif);font-weight:300;font-size:64px;color:var(--tc-brass);margin-bottom:20px;overflow:hidden}
.tc-member .tc-photo img{width:100%;height:100%;object-fit:cover}
.tc-member h3{font-size:18px;font-weight:600;margin-bottom:4px}
.tc-member p{font-size:14px;color:var(--tc-muted)}

/* Precios */
.tc-prices{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch}
.tc-price{flex:1 1 320px;min-width:0;border:1px solid var(--tc-line);background:var(--tc-card);padding:44px 36px;display:flex;flex-direction:column}
.tc-price .tc-kicker{font-size:12px;letter-spacing:.2em;color:var(--tc-muted);margin-bottom:20px}
.tc-price h3{font-family:var(--tc-serif);font-weight:400;font-size:28px;line-height:1.2;margin-bottom:28px}
.tc-price .tc-amount{margin-bottom:32px;font-size:14px;color:var(--tc-muted)}
.tc-price .tc-amount strong{font-family:var(--tc-serif);font-size:48px;font-weight:300;color:var(--tc-text);margin-right:6px}
.tc-price ul{margin-bottom:40px;display:flex;flex-direction:column;gap:12px;font-size:15px;color:#2B3441}
.tc-price li{padding-top:12px;border-top:1px solid #E4E1D9}
.tc-price .tc-btn{margin-top:auto}
.tc-price--featured{background:var(--tc-ink);border-color:var(--tc-ink);color:var(--tc-paper)}
.tc-price--featured .tc-kicker,.tc-price--featured .tc-amount{color:var(--tc-muted-dark)}
.tc-price--featured .tc-amount strong{color:var(--tc-brass)}
.tc-price--featured ul{color:#E4E7EC}
.tc-price--featured li{border-color:var(--tc-line-dark)}
.tc-price-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.tc-price-top .tc-kicker{margin:0}
.tc-badge{font-size:11px;letter-spacing:.18em;color:var(--tc-ink);background:var(--tc-brass);padding:5px 10px;font-weight:600}

/* Testimonio */
.tc-quote{padding:0 32px 128px}
.tc-quote .tc-inner{max-width:960px;margin:0 auto;text-align:center}
.tc-stars{font-size:12px;letter-spacing:.3em;color:var(--tc-brass-text);margin-bottom:36px}
.tc-quote blockquote{font-family:var(--tc-serif);font-weight:300;font-size:clamp(22px,2.6vw,30px);line-height:1.5;margin-bottom:36px}
.tc-quote .tc-who{font-size:14px;font-weight:600}
.tc-quote .tc-src{font-size:13px;color:var(--tc-muted);margin-top:4px}

/* CTA final */
.tc-cta{padding:120px 32px}
.tc-cta .tc-split{align-items:center}
.tc-cta h2{font-family:var(--tc-serif);font-weight:300;font-size:clamp(32px,3.6vw,46px);line-height:1.15;letter-spacing:-.01em;margin-bottom:28px}
.tc-cta p{font-size:16px;line-height:1.7;color:var(--tc-muted-dark);margin-bottom:32px}
.tc-checks li{padding:14px 0;border-top:1px solid var(--tc-line-dark);font-size:15px;color:#E4E7EC}
.tc-checks li:last-child{border-bottom:1px solid var(--tc-line-dark)}
.tc-cta-box{border:1px solid var(--tc-brass);padding:56px 44px}
.tc-cta-box h2{font-size:clamp(30px,3.2vw,40px);margin-bottom:20px}
.tc-cta-box p{margin-bottom:36px}

/* Pie */
.tc-footer{background:var(--tc-ink-2);color:#8A93A1;padding:56px 32px;font-size:13px}
.tc-footer .tc-wrap{padding:0;display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between;align-items:center}
.tc-footer .tc-brand{font-family:var(--tc-serif);font-size:22px;color:var(--tc-paper);margin-bottom:8px}
.tc-footer nav ul{display:flex;flex-wrap:wrap;gap:10px 28px}
.tc-footer a:hover{color:var(--tc-brass)}

/* Páginas y entradas genéricas */
.tc-page{max-width:820px;margin:0 auto;padding:96px 32px}
.tc-page h1{font-family:var(--tc-serif);font-weight:300;font-size:clamp(36px,4.5vw,56px);line-height:1.1;margin-bottom:32px}
.tc-content{font-size:17px;line-height:1.75;color:#2B3441}
.tc-content p{margin-bottom:1.2em}
.tc-content h2,.tc-content h3{font-family:var(--tc-serif);font-weight:400;margin:1.6em 0 .6em}
.tc-content a{border-bottom:1px solid var(--tc-brass)}
.tc-post{padding:32px 0;border-top:1px solid var(--tc-line)}
.tc-post h2{font-family:var(--tc-serif);font-weight:400;font-size:28px;margin-bottom:10px}

.screen-reader-text{position:absolute;left:-9999px}
@media (max-width:640px){
  .tc-section{padding:80px 24px}
  .tc-wrap{padding:0 24px}
  .tc-hero-grid{padding:72px 0 80px}
  .tc-price,.tc-cta-box{padding:36px 28px}
  .tc-three>div{padding-right:0}
}

.tc-cta .tc-wrap{padding:0}
