/* ============================================================================
   Segura Construction Group — "Lone Star Commercial" theme
   Light-editorial track: cobalt + deep navy on warm paper, Fraunces display,
   blueprint-grid texture, Lone Star motif. Loaded AFTER styles.css so brand
   tokens win over base.css :root defaults.
   ============================================================================ */

/* ---- Brand tokens ---- */
:root {
  --brand-primary:   #2A52C4;   /* cobalt (from logo, brightened for accent) */
  --brand-primary-d: #1E3E9C;   /* deeper cobalt for gradients */
  --brand-secondary: #11214A;   /* deep navy — dark sections / footer */
  --brand-text:      #16223F;   /* navy ink */
  --brand-text-muted:#5C667D;
  --brand-bg:        #FBFAF6;   /* warm paper */
  --brand-bg-alt:    #EDF1F8;   /* cool blueprint-tint */
  --brand-border:    #E4E3DA;
  --font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --ink-2: #2C3550;
  --blueprint: rgba(42,82,196,0.06);
}

/* Blueprint grid utility — fine cobalt graph lines */
.seg-grid-bg {
  background-image:
    linear-gradient(var(--blueprint) 1px, transparent 1px),
    linear-gradient(90deg, var(--blueprint) 1px, transparent 1px);
  background-size: 38px 38px;
}

body { background: var(--brand-bg); }
.section-alt { background: var(--brand-bg-alt); }

/* Headings: editorial serif with italic accent word */
h1, h2, h3 { font-family: var(--font-heading); }
em.acc { font-style: italic; color: var(--brand-primary); }
.section-dark em.acc, .seg-emergency em.acc { color: #93B0FF; }

/* Eyebrow with Lone Star tick */
.k-star { display:inline-flex; align-items:center; gap:9px; }
.k-star::before {
  content:''; width:13px; height:13px; flex:none;
  background: var(--brand-primary);
  -webkit-mask: var(--star) center/contain no-repeat; mask: var(--star) center/contain no-repeat;
}
:root { --star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1l2.9 7.6L23 9l-6.3 5.1L18.9 23 12 18.3 5.1 23l2.2-8.9L1 9l8.1-.4z'/%3E%3C/svg%3E"); }

/* ============================================================================
   NAV — boutique, logo wordmark only
   ============================================================================ */
.nav-logo img { height: 42px; max-width: 230px; }
.site-header { border-bottom: 1px solid var(--brand-border); }

/* ============================================================================
   HERO — editorial asymmetric split with blueprint backdrop + Est. badge
   ============================================================================ */
.seg-hero { position: relative; overflow: hidden; background: var(--brand-bg); }
.seg-hero::before { /* blueprint grid + glow */
  content:''; position:absolute; inset:0; z-index:0;
  background-image:
    radial-gradient(60% 80% at 85% -10%, rgba(42,82,196,0.10), transparent 60%),
    linear-gradient(var(--blueprint) 1px, transparent 1px),
    linear-gradient(90deg, var(--blueprint) 1px, transparent 1px);
  background-size: auto, 40px 40px, 40px 40px;
}
.seg-hero .container { position: relative; z-index: 1; padding-top: clamp(48px,7vw,86px); padding-bottom: clamp(56px,8vw,104px); }
.seg-hero-grid { display:grid; grid-template-columns: 1.04fr .96fr; gap: clamp(32px,5vw,68px); align-items:center; }
.seg-hero-eyebrow { text-transform:uppercase; letter-spacing:.2em; font-size:.78rem; font-weight:600; color:var(--brand-primary); margin-bottom:22px; }
.seg-hero h1 { font-size: clamp(2.6rem,5.4vw,4.4rem); line-height:1.03; font-weight:600; letter-spacing:-.018em; margin:0 0 22px; color:var(--brand-text); }
.seg-hero .lead { font-size: clamp(1.08rem,1.4vw,1.28rem); color:var(--brand-text-muted); max-width:46ch; margin:0 0 30px; line-height:1.6; }
.seg-hero-cta { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:38px; }

/* inline stat row under hero copy */
.seg-stats-inline { display:flex; flex-wrap:wrap; gap: clamp(22px,4vw,46px); padding-top:26px; border-top:1px solid var(--brand-border); }
.seg-stat .n { font-family:var(--font-heading); font-size: clamp(1.7rem,2.6vw,2.3rem); font-weight:600; color:var(--brand-text); line-height:1; letter-spacing:-.02em; }
.seg-stat .l { font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:var(--brand-text-muted); margin-top:7px; font-weight:600; }

/* hero media: framed photo + floating Est badge */
.seg-hero-media { position:relative; }
.seg-hero-media .frame { position:relative; border-radius:14px; overflow:hidden; box-shadow: 0 30px 70px -28px rgba(17,33,74,.55); aspect-ratio: 4/3.4; }
.seg-hero-media .frame img { width:100%; height:100%; object-fit:cover; display:block; }
.seg-hero-media .frame::after { content:''; position:absolute; inset:0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); border-radius:14px; }
.seg-badge {
  position:absolute; left:-22px; bottom:30px; z-index:2;
  background:var(--brand-secondary); color:#fff; border-radius:12px;
  padding:18px 22px; box-shadow:0 18px 40px -16px rgba(17,33,74,.7);
  border:1px solid rgba(255,255,255,.10);
}
.seg-badge .big { font-family:var(--font-heading); font-size:2rem; font-weight:600; line-height:1; color:#fff; }
.seg-badge .sm { font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; color:#9FB3E6; margin-top:6px; font-weight:600; }
@media (max-width:880px){
  .seg-hero-grid { grid-template-columns:1fr; gap:38px; }
  .seg-hero-media .frame { aspect-ratio: 16/11; }
  .seg-badge { left:auto; right:18px; bottom:-18px; }
}

/* ============================================================================
   Section heads (editorial)
   ============================================================================ */
.seg-head { max-width:680px; margin:0 0 46px; }
.seg-head.center { margin-left:auto; margin-right:auto; text-align:center; }
.seg-head .k { text-transform:uppercase; letter-spacing:.2em; font-size:.76rem; font-weight:600; color:var(--brand-primary); margin-bottom:14px; }
.seg-head.center .k-star { justify-content:center; }
.seg-head h2 { font-size: clamp(1.9rem,3.6vw,2.9rem); font-weight:600; letter-spacing:-.018em; line-height:1.1; margin:0 0 14px; }
.seg-head p { font-size:1.1rem; color:var(--brand-text-muted); margin:0; line-height:1.6; }

/* ============================================================================
   Trust strip (under hero)
   ============================================================================ */
.seg-trust { border-top:1px solid var(--brand-border); border-bottom:1px solid var(--brand-border); background:#fff; }
.seg-trust .container { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:26px var(--container-pad); }
.seg-trust-item { display:flex; gap:13px; align-items:center; }
.seg-trust-item svg { width:30px; height:30px; color:var(--brand-primary); flex:none; }
.seg-trust-item strong { display:block; font-family:var(--font-heading); font-weight:600; font-size:1.02rem; color:var(--brand-text); letter-spacing:-.01em; }
.seg-trust-item span { color:var(--brand-text-muted); font-size:.86rem; }
@media (max-width:820px){ .seg-trust .container { grid-template-columns:1fr 1fr; gap:24px; } }
@media (max-width:480px){ .seg-trust .container { grid-template-columns:1fr; } }

/* ============================================================================
   Services — editorial image tiles (override x-svc accents lightly)
   ============================================================================ */
.x-svc h3 { font-family:var(--font-heading); font-weight:600; }
.x-svc { border-radius:12px; }

/* ============================================================================
   Capabilities marquee-grid (full list of trades) — SIGNATURE
   ============================================================================ */
.seg-caps { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--brand-border); border-radius:14px; overflow:hidden; background:#fff; }
.seg-cap { padding:24px 22px; border-right:1px solid var(--brand-border); border-bottom:1px solid var(--brand-border); display:flex; gap:14px; align-items:flex-start; transition:background .15s; }
.seg-cap:hover { background:var(--brand-bg-alt); }
.seg-cap svg { width:24px; height:24px; color:var(--brand-primary); flex:none; margin-top:2px; }
.seg-cap h4 { font-family:var(--font-body); font-size:1.02rem; font-weight:700; margin:0 0 3px; color:var(--brand-text); letter-spacing:0; }
.seg-cap p { margin:0; font-size:.9rem; color:var(--brand-text-muted); line-height:1.45; }
@media (max-width:820px){ .seg-caps { grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .seg-caps { grid-template-columns:1fr; } }

/* ============================================================================
   Portfolio grid — featured commercial projects
   ============================================================================ */
.seg-portfolio { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.seg-proj { position:relative; display:block; border-radius:12px; overflow:hidden; box-shadow:var(--shadow-1); aspect-ratio:4/3.2; color:#fff; }
.seg-proj img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.seg-proj::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(17,33,74,0) 38%, rgba(17,33,74,.86) 100%); }
.seg-proj:hover img { transform:scale(1.05); }
.seg-proj-cap { position:absolute; inset:auto 0 0 0; z-index:2; padding:22px 20px 18px; }
.seg-proj-cap .loc { display:inline-flex; align-items:center; gap:6px; font-size:.74rem; text-transform:uppercase; letter-spacing:.12em; font-weight:600; color:#A9BEF2; margin-bottom:5px; }
.seg-proj-cap h3 { font-family:var(--font-heading); color:#fff; font-size:1.3rem; font-weight:600; margin:0; letter-spacing:-.01em; }
.seg-proj-cap .type { font-size:.9rem; color:rgba(255,255,255,.85); margin-top:3px; }
.seg-proj.is-feature { grid-column:span 2; aspect-ratio:auto; }
@media (max-width:860px){ .seg-portfolio { grid-template-columns:1fr 1fr; } .seg-proj.is-feature { grid-column:span 2; aspect-ratio:16/9; } }
@media (max-width:560px){ .seg-portfolio { grid-template-columns:1fr; } .seg-proj.is-feature { grid-column:span 1; } }

/* ============================================================================
   Split feature (signature blueprint section)
   ============================================================================ */
.seg-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(34px,5vw,72px); }
.seg-split-media { position:relative; border-radius:14px; overflow:hidden; box-shadow:0 26px 60px -30px rgba(17,33,74,.55); aspect-ratio:4/3; }
.seg-split-media img { width:100%; height:100%; object-fit:cover; }
.seg-split .lead { font-size:1.15rem; color:var(--ink-2); line-height:1.7; }
.seg-spec { list-style:none; margin:22px 0 26px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--brand-border); }
.seg-spec li { display:flex; justify-content:space-between; gap:14px; padding:13px 0; border-bottom:1px solid var(--brand-border); }
.seg-spec .sk { color:var(--brand-text-muted); font-size:.92rem; }
.seg-spec .sv { font-weight:700; color:var(--brand-text); font-size:.95rem; text-align:right; }
@media (max-width:860px){ .seg-split { grid-template-columns:1fr; } .seg-spec { grid-template-columns:1fr; } }

/* ============================================================================
   Emergency band (dark navy, distinctive)
   ============================================================================ */
.seg-emergency { position:relative; background:var(--brand-secondary); color:#fff; overflow:hidden; }
.seg-emergency::before { content:''; position:absolute; inset:0;
  background-image:
    radial-gradient(50% 120% at 12% 50%, rgba(42,82,196,.34), transparent 60%),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:auto, 42px 42px, 42px 42px; }
.seg-emergency .container { position:relative; z-index:1; display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:center; padding:clamp(46px,6vw,72px) var(--container-pad); }
.seg-emergency .k { text-transform:uppercase; letter-spacing:.2em; font-size:.76rem; font-weight:600; color:#93B0FF; margin-bottom:14px; }
.seg-emergency h2 { color:#fff; font-size:clamp(1.8rem,3.4vw,2.7rem); font-weight:600; letter-spacing:-.018em; margin:0 0 14px; }
.seg-emergency p { color:rgba(255,255,255,.82); font-size:1.08rem; margin:0; max-width:48ch; }
.seg-emergency .seg-em-cta { display:flex; flex-direction:column; gap:12px; }
.seg-em-phone { font-family:var(--font-heading); font-size:clamp(1.8rem,3vw,2.4rem); font-weight:600; color:#fff; text-decoration:none; letter-spacing:-.01em; }
.seg-em-phone:hover { color:#fff; text-decoration:none; }
@media (max-width:760px){ .seg-emergency .container { grid-template-columns:1fr; gap:24px; } }

/* ============================================================================
   Process steps (editorial numbers)
   ============================================================================ */
.x-step .n { font-family:var(--font-heading); }

/* ============================================================================
   Values grid (about)
   ============================================================================ */
.seg-values { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.seg-value { background:#fff; border:1px solid var(--brand-border); border-radius:12px; padding:26px 22px; }
.seg-value .vk { font-family:var(--font-heading); font-size:1.18rem; font-weight:600; color:var(--brand-text); margin:0 0 8px; }
.seg-value .vk span { color:var(--brand-primary); }
.seg-value p { margin:0; color:var(--brand-text-muted); font-size:.95rem; line-height:1.55; }
@media (max-width:860px){ .seg-values { grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .seg-values { grid-template-columns:1fr; } }

/* Team gallery */
.seg-team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.seg-team-grid figure { margin:0; border-radius:12px; overflow:hidden; box-shadow:var(--shadow-1); aspect-ratio:4/5; }
.seg-team-grid img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.seg-team-grid figure:hover img { transform:scale(1.04); }
@media (max-width:780px){ .seg-team-grid { grid-template-columns:repeat(2,1fr); } }
/* Leadership roster */
.seg-roster { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:0 40px; }
.seg-roster li { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--brand-border); }
.seg-roster .rn { font-weight:700; color:var(--brand-text); }
.seg-roster .rt { color:var(--brand-text-muted); font-size:.92rem; text-align:right; }
@media (max-width:640px){ .seg-roster { grid-template-columns:1fr; } }

/* ============================================================================
   Contact
   ============================================================================ */
.seg-contact-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(30px,5vw,60px); align-items:start; }
.seg-contact-info { display:flex; flex-direction:column; gap:22px; }
.seg-ci { display:flex; gap:15px; align-items:flex-start; }
.seg-ci svg { width:24px; height:24px; color:var(--brand-primary); flex:none; margin-top:2px; }
.seg-ci .ci-k { font-size:.74rem; text-transform:uppercase; letter-spacing:.13em; color:var(--brand-text-muted); font-weight:600; margin-bottom:3px; }
.seg-ci a, .seg-ci .ci-v { color:var(--brand-text); font-weight:600; font-size:1.06rem; text-decoration:none; }
.seg-ci a:hover { color:var(--brand-primary); }
.seg-form { background:#fff; border:1px solid var(--brand-border); border-radius:14px; padding:clamp(22px,3vw,34px); box-shadow:var(--shadow-1); }
.seg-form .fl { display:block; font-size:.82rem; font-weight:600; color:var(--brand-text); margin:0 0 7px; letter-spacing:.01em; }
.seg-form input, .seg-form select, .seg-form textarea { width:100%; padding:13px 14px; border:1px solid var(--brand-border); border-radius:8px; font:inherit; font-size:1rem; color:var(--brand-text); background:var(--brand-bg); margin-bottom:18px; }
.seg-form input:focus, .seg-form select:focus, .seg-form textarea:focus { outline:none; border-color:var(--brand-primary); box-shadow:0 0 0 3px rgba(42,82,196,.14); }
.seg-form textarea { min-height:120px; resize:vertical; }
.seg-form button { width:100%; }
@media (max-width:820px){ .seg-contact-grid { grid-template-columns:1fr; } }
.seg-map { border-radius:14px; overflow:hidden; border:1px solid var(--brand-border); box-shadow:var(--shadow-1); }
.seg-map iframe { width:100%; height:340px; border:0; display:block; }

/* Footer logo */
.site-footer .foot-logo img { height:46px; width:auto; margin-bottom:14px; }

/* Buttons — slightly softer radius to match cards */
.x-btn { border-radius:9px; }
.x-btn-primary { background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-d)); }

/* Banner (service/area/interior pages) blueprint tint */
.x-banner .x-hero-scrim { background:linear-gradient(180deg, rgba(17,33,74,.62), rgba(17,33,74,.88)); }

/* Body prose accents */
.x-body h2 { font-family:var(--font-heading); font-weight:600; }
.x-body ul li::before { background:var(--brand-primary); }

/* Anchor color on light bg for inline links */
a { color: var(--brand-primary); }

/* Reduce-motion friendliness */
@media (prefers-reduced-motion: reduce){ * { transition:none !important; } .x-svc img, .seg-proj img, .seg-team-grid img { transition:none !important; } }
