/*
Theme Name: Buildco Design 2026
Theme URI: https://buildco.cl/
Author: Buildco Design
Description: Theme liviano y editorial para Buildco Design. Enfocado en servicios integrales, proyectos reales, performance y SEO.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: buildco-2026
*/

:root {
  --bc-white: #ffffff;
  --bc-ivory: #f7f3ec;
  --bc-sand: #bba684;
  --bc-sand-soft: #e7ddce;
  --bc-taupe: #81725e;
  --bc-brown: #5c4b3c;
  --bc-ink: #2b2926;
  --bc-muted: #6f6a63;
  --bc-line: #e8e2d9;
  --bc-max: 1240px;
  --bc-radius: 2px;
  --bc-shadow: 0 18px 50px rgba(43,41,38,.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bc-white);
  color: var(--bc-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--bc-brown); }
button, input, textarea, select { font: inherit; }

.skip-link {
  position: absolute; left: -9999px; top: auto;
}
.skip-link:focus {
  left: 16px; top: 16px; z-index: 99999; background:#fff; padding:10px 14px; border:1px solid var(--bc-line);
}

.bc-shell { width: min(calc(100% - 48px), var(--bc-max)); margin-inline: auto; }
.bc-kicker {
  margin: 0 0 14px;
  color: var(--bc-taupe);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
}
.bc-section { padding: 110px 0; }
.bc-section--soft { background: var(--bc-ivory); }
.bc-section-title {
  max-width: 820px;
  margin: 0;
  font-size: clamp(36px, 4vw, 62px);
  line-height: 1.04;
  letter-spacing: -.045em;
  font-weight: 600;
}
.bc-lead { max-width: 720px; color: var(--bc-muted); font-size: clamp(18px, 1.6vw, 22px); }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,.95);
  border-bottom: 1px solid rgba(232,226,217,.9);
  backdrop-filter: blur(12px);
}
.admin-bar .site-header { top: 32px; }
.bc-header-inner { min-height: 94px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.custom-logo-link img, .bc-brand img { width: 184px; height: auto; }
.bc-nav-wrap { display:flex; align-items:center; gap:30px; }
.bc-nav ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:30px; }
.bc-nav a { font-size:14px; color:#3d3935; }
.bc-nav a:hover, .bc-nav .current-menu-item > a { color:var(--bc-brown); }
.bc-header-cta, .bc-btn {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 24px;
  border:1px solid var(--bc-brown);
  background:var(--bc-brown); color:#fff;
  font-size:14px; font-weight:650; letter-spacing:.01em;
  transition:.2s ease;
}
.bc-header-cta:hover, .bc-btn:hover { background:#47392e; color:#fff; transform:translateY(-1px); }
.bc-btn--light { background:#fff; color:var(--bc-ink); border-color:#fff; }
.bc-btn--ghost { background:transparent; color:var(--bc-ink); border-color:var(--bc-ink); }
.bc-menu-toggle { display:none; border:0; background:transparent; width:44px; height:44px; cursor:pointer; }
.bc-menu-toggle span { display:block; height:2px; background:var(--bc-ink); margin:6px 0; }

/* Hero */
.bc-hero { position:relative; min-height: calc(100vh - 94px); background:#1b1a18; overflow:hidden; }
.bc-hero-media { position:absolute; inset:0; }
.bc-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.bc-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,16,14,.72) 0%,rgba(18,16,14,.48) 43%,rgba(18,16,14,.13) 74%,rgba(18,16,14,.08) 100%); }
.bc-hero-inner { position:relative; z-index:2; min-height:calc(100vh - 94px); display:flex; align-items:center; }
.bc-hero-copy { max-width:760px; padding:90px 0; color:#fff; }
.bc-hero .bc-kicker { color:#e6d8c2; }
.bc-hero h1 { margin:0; font-size:clamp(48px,6.2vw,92px); line-height:.97; letter-spacing:-.055em; font-weight:600; }
.bc-hero p { max-width:660px; margin:28px 0 36px; color:rgba(255,255,255,.86); font-size:clamp(18px,1.6vw,23px); }
.bc-actions { display:flex; flex-wrap:wrap; gap:12px; }
.bc-hero .bc-btn--ghost { color:#fff; border-color:rgba(255,255,255,.75); }
.bc-hero .bc-btn--ghost:hover { background:#fff; color:var(--bc-ink); }

/* Intro */
.bc-intro-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); gap:80px; align-items:center; }
.bc-intro-copy p { color:var(--bc-muted); }
.bc-intro-image { min-height:640px; overflow:hidden; background:var(--bc-ivory); }
.bc-intro-image img { width:100%; height:100%; min-height:640px; object-fit:cover; }

/* Solutions */
.bc-solutions-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:54px; }
.bc-solutions-head .bc-lead { margin:0; max-width:520px; }
.bc-solution-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--bc-line); border:1px solid var(--bc-line); }
.bc-solution-card { background:#fff; padding:44px; min-height:300px; display:flex; flex-direction:column; justify-content:space-between; transition:.2s ease; }
.bc-solution-card:hover { background:#fbf9f5; }
.bc-solution-number { color:var(--bc-sand); font-size:13px; font-weight:700; letter-spacing:.1em; }
.bc-solution-card h3 { margin:42px 0 10px; font-size:30px; line-height:1.08; letter-spacing:-.025em; font-weight:560; }
.bc-solution-card p { margin:0 0 32px; color:var(--bc-muted); max-width:540px; }
.bc-arrow { font-weight:650; font-size:14px; color:var(--bc-brown); }

/* Projects */
.bc-project-feature { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); min-height:650px; background:var(--bc-ink); color:#fff; }
.bc-project-feature-media { min-height:650px; overflow:hidden; }
.bc-project-feature-media img { width:100%; height:100%; object-fit:cover; }
.bc-project-feature-copy { padding:70px 58px; display:flex; flex-direction:column; justify-content:flex-end; }
.bc-project-feature-copy .bc-kicker { color:var(--bc-sand); }
.bc-project-feature-copy h3 { margin:0 0 18px; font-size:clamp(36px,4vw,58px); line-height:1.02; letter-spacing:-.045em; }
.bc-project-feature-copy p { color:rgba(255,255,255,.75); }
.bc-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:28px; }
.bc-project-card-media { aspect-ratio: 4/3; overflow:hidden; background:var(--bc-ivory); }
.bc-project-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.bc-project-card:hover img { transform:scale(1.025); }
.bc-project-card h4 { margin:16px 0 4px; font-size:21px; font-weight:590; }
.bc-project-card p { margin:0; color:var(--bc-muted); font-size:14px; }

/* Process */
.bc-process { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--bc-line); margin-top:52px; }
.bc-process-step { padding:34px 36px 10px 0; border-right:1px solid var(--bc-line); }
.bc-process-step + .bc-process-step { padding-left:36px; }
.bc-process-step:last-child { border-right:0; }
.bc-process-index { color:var(--bc-sand); font-size:13px; font-weight:700; letter-spacing:.1em; }
.bc-process-step h3 { font-size:28px; margin:28px 0 10px; }
.bc-process-step p { color:var(--bc-muted); }

/* Experience / logos */
.bc-experience { text-align:center; }
.bc-experience .bc-section-title { margin-inline:auto; }
.bc-experience .bc-lead { margin:22px auto 0; }
.bc-logo-strip { margin-top:54px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.bc-logo-chip { min-height:110px; border:1px solid var(--bc-line); display:flex; align-items:center; justify-content:center; padding:24px; color:#4a4641; font-size:19px; font-weight:650; letter-spacing:.01em; background:#fff; }

/* CTA */
.bc-cta { background:var(--bc-sand); color:var(--bc-ink); }
.bc-cta-inner { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; }
.bc-cta h2 { margin:0; max-width:850px; font-size:clamp(40px,5vw,72px); line-height:1; letter-spacing:-.05em; }
.bc-cta p { margin:20px 0 0; max-width:660px; color:#504437; }

/* Footer */
.site-footer { background:#25221f; color:#fff; padding:72px 0 28px; }
.bc-footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:60px; }
.bc-footer-brand img { width:190px; filter:brightness(0) invert(1); opacity:.92; }
.bc-footer-copy { color:rgba(255,255,255,.65); max-width:440px; margin-top:24px; }
.bc-footer-title { color:var(--bc-sand); font-size:12px; text-transform:uppercase; letter-spacing:.16em; margin:0 0 20px; }
.bc-footer-links { list-style:none; margin:0; padding:0; }
.bc-footer-links li { margin:8px 0; }
.bc-footer-links a { color:rgba(255,255,255,.78); }
.bc-footer-bottom { margin-top:60px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.45); font-size:13px; display:flex; justify-content:space-between; gap:20px; }

/* Inner pages */
.bc-page-hero { padding:120px 0 80px; background:var(--bc-ivory); }
.bc-page-hero h1 { margin:0; font-size:clamp(44px,5vw,76px); line-height:1; letter-spacing:-.05em; }
.bc-content { padding:80px 0 110px; }
.bc-content > * { max-width:860px; }
.bc-content h2, .bc-content h3 { letter-spacing:-.025em; }
.bc-content a { color:var(--bc-brown); text-decoration:underline; text-underline-offset:3px; }

@media (max-width: 980px) {
  .bc-menu-toggle { display:block; }
  .bc-nav-wrap { position:absolute; left:0; right:0; top:94px; background:#fff; border-bottom:1px solid var(--bc-line); display:none; padding:20px 24px 28px; align-items:stretch; }
  .bc-nav-wrap.is-open { display:block; }
  .bc-nav ul { display:block; }
  .bc-nav li { border-bottom:1px solid var(--bc-line); }
  .bc-nav a { display:block; padding:15px 0; }
  .bc-header-cta { margin-top:18px; width:100%; }
  .bc-intro-grid, .bc-project-feature, .bc-cta-inner { grid-template-columns:1fr; }
  .bc-intro-image, .bc-intro-image img { min-height:480px; }
  .bc-project-feature-copy { padding:46px 34px; }
  .bc-project-grid { grid-template-columns:1fr 1fr; }
  .bc-logo-strip { grid-template-columns:1fr 1fr; }
}

@media (max-width: 700px) {
  .admin-bar .site-header { top:46px; }
  .bc-shell { width:min(calc(100% - 30px), var(--bc-max)); }
  .bc-header-inner { min-height:80px; }
  .custom-logo-link img, .bc-brand img { width:152px; }
  .bc-nav-wrap { top:80px; }
  .bc-section { padding:76px 0; }
  .bc-hero, .bc-hero-inner { min-height:720px; }
  .bc-hero-copy { padding:80px 0 54px; align-self:flex-end; }
  .bc-hero h1 { font-size:clamp(44px,13vw,68px); }
  .bc-hero:after { background:linear-gradient(180deg,rgba(18,16,14,.15),rgba(18,16,14,.8) 78%); }
  .bc-actions { align-items:stretch; }
  .bc-actions .bc-btn { width:100%; }
  .bc-intro-grid { gap:42px; }
  .bc-intro-image, .bc-intro-image img { min-height:420px; }
  .bc-solutions-head { display:block; }
  .bc-solutions-head .bc-lead { margin-top:20px; }
  .bc-solution-grid, .bc-project-grid, .bc-process, .bc-footer-grid { grid-template-columns:1fr; }
  .bc-solution-card { padding:30px; min-height:260px; }
  .bc-project-feature, .bc-project-feature-media { min-height:auto; }
  .bc-project-feature-media { aspect-ratio:4/3; }
  .bc-process-step, .bc-process-step + .bc-process-step { border-right:0; border-bottom:1px solid var(--bc-line); padding:28px 0; }
  .bc-logo-strip { grid-template-columns:1fr 1fr; }
  .bc-footer-bottom { display:block; }
}
