/*
Theme Name: Buildline Landing
Theme URI: https://example.com
Author: Your Name
Author URI: https://example.com
Description: A fast, funnel-mapped, Elementor-compatible WordPress landing page theme with built-in SEO/AEO/GEO structured data (schema.org). Built for a single-purpose landing page front page, with normal WordPress + Elementor pages for everything else.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: buildline
*/

:root{
  --bg-paper:#F7F5F0;
  --bg-ink:#10203D;
  --ink:#1C1F26;
  --ink-soft:#4B5265;
  --paper-text:#EDEEF2;
  --paper-text-soft:#AAB4CC;
  --blueprint:#1B4B7A;
  --blueprint-line:rgba(27,75,122,0.28);
  --cyan:#3FA9B8;
  --cyan-bright:#6FD1DE;
  --signal:#F5A623;
  --card-bg:#FFFFFF;
  --radius:4px;
  --font-display:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'JetBrains Mono', monospace;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg-paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
h1,h2,h3{font-family:var(--font-display);line-height:1.12;margin:0 0 16px;letter-spacing:-0.01em;}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem);}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem);}
h3{font-size:1.2rem;}
p{margin:0 0 16px;color:var(--ink-soft);}
.eyebrow{
  font-family:var(--font-mono);
  font-size:0.78rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--blueprint);
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:16px;height:1px;background:var(--blueprint);display:inline-block;}
section{padding:88px 0;position:relative;}
.section-head{max-width:640px;margin-bottom:48px;}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:0.95rem;
  padding:14px 26px;
  border-radius:var(--radius);
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--signal);color:#1C1200;}
.btn-primary:hover{box-shadow:0 6px 18px rgba(245,166,35,0.35);}
.btn-ghost{background:transparent;color:var(--paper-text);border-color:rgba(237,238,242,0.35);}
.btn-ghost:hover{border-color:var(--paper-text);}
.btn-dark{background:var(--bg-ink);color:var(--paper-text);}
.btn-dark:hover{box-shadow:0 6px 18px rgba(16,32,61,0.25);}

/* ---------- NAV ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(247,245,240,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--blueprint-line);
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;}
.logo{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-0.02em;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:8px;}
.logo img{max-height:40px;width:auto;}
.logo span{color:var(--blueprint);}
.nav-links{display:flex;gap:32px;list-style:none;margin:0;padding:0;font-size:0.92rem;font-weight:500;}
.nav-links a{text-decoration:none;color:var(--ink-soft);}
.nav-links a:hover{color:var(--blueprint);}
.nav-cta{display:flex;align-items:center;gap:18px;}
.nav-toggle{display:none;}
.nav-toggle-label{display:none;cursor:pointer;font-family:var(--font-mono);font-size:0.8rem;}
@media (max-width:860px){
  .nav-links{
    position:absolute;top:74px;left:0;right:0;
    background:var(--bg-paper);
    flex-direction:column;
    gap:0;
    max-height:0;
    overflow:hidden;
    border-bottom:1px solid var(--blueprint-line);
    transition:max-height .25s ease;
  }
  .nav-links a{display:block;padding:16px 24px;border-top:1px solid var(--blueprint-line);}
  .nav-toggle:checked ~ .nav-links{max-height:320px;}
  .nav-toggle-label{display:block;}
}

/* ---------- HERO ---------- */
.hero{padding:72px 0 96px;overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
@media (max-width:940px){.hero .wrap{grid-template-columns:1fr;}}
.hero h1{margin-bottom:20px;}
.hero .lede{font-size:1.08rem;max-width:520px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 40px;}
.hero-actions .btn-secondary{background:transparent;border-color:var(--blueprint-line);color:var(--blueprint);}
.hero-actions .btn-secondary:hover{border-color:var(--blueprint);}
.trust-strip{display:flex;flex-wrap:wrap;gap:32px;padding-top:24px;border-top:1px solid var(--blueprint-line);}
.trust-item{font-family:var(--font-mono);}
.trust-item strong{display:block;font-size:1.3rem;color:var(--ink);font-family:var(--font-display);}
.trust-item span{font-size:0.76rem;color:var(--ink-soft);letter-spacing:0.02em;}

/* Blueprint hero card (signature element) */
.blueprint-card{
  position:relative;
  background:var(--bg-ink);
  border-radius:var(--radius);
  padding:28px;
  color:var(--paper-text);
  isolation:isolate;
  display:block;
}
.blueprint-toggle{position:absolute;opacity:0;pointer-events:none;}
.blueprint-card-inner{
  position:relative;
  border:1px solid rgba(111,209,222,0.35);
  border-radius:2px;
  padding:22px;
  background-image:
    linear-gradient(rgba(111,209,222,0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(111,209,222,0.14) 1px, transparent 1px);
  background-size:24px 24px;
  min-height:360px;
  cursor:pointer;
}
.blueprint-card-inner::before,
.blueprint-card-inner::after,
.blueprint-corner-tl,
.blueprint-corner-br{position:absolute;width:14px;height:14px;border:1px solid var(--cyan-bright);}
.blueprint-card-inner::before{content:"";top:-1px;left:-1px;border-right:0;border-bottom:0;}
.blueprint-card-inner::after{content:"";top:-1px;right:-1px;border-left:0;border-bottom:0;}
.blueprint-corner-tl{bottom:-1px;left:-1px;border-right:0;border-top:0;}
.blueprint-corner-br{bottom:-1px;right:-1px;border-left:0;border-top:0;}
.bp-label{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.08em;color:var(--cyan-bright);display:flex;justify-content:space-between;margin-bottom:18px;text-transform:uppercase;}
.bp-mock{border:1px dashed rgba(237,238,242,0.35);border-radius:2px;padding:18px;transition:all .35s ease;}
.bp-mock .bar{height:10px;background:rgba(237,238,242,0.28);border-radius:2px;margin-bottom:10px;transition:background .35s ease;}
.bp-mock .bar.w60{width:60%;}
.bp-mock .bar.w80{width:80%;}
.bp-mock .bar.w40{width:40%;}
.bp-mock .block{height:64px;border:1px dashed rgba(237,238,242,0.35);border-radius:2px;margin:16px 0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:0.7rem;color:var(--paper-text-soft);transition:all .35s ease;}
.bp-mock .cta-mock{display:inline-block;padding:9px 18px;border:1px dashed var(--signal);border-radius:2px;font-family:var(--font-mono);font-size:0.7rem;color:var(--signal);margin-top:6px;transition:all .35s ease;}
.bp-hint{font-family:var(--font-mono);font-size:0.68rem;color:var(--paper-text-soft);margin-top:16px;text-align:center;}
.blueprint-card-inner:hover .bar,
.blueprint-toggle:checked ~ .blueprint-card-inner .bar{background:var(--cyan-bright);}
.blueprint-card-inner:hover .block,
.blueprint-toggle:checked ~ .blueprint-card-inner .block{border-style:solid;background:rgba(63,169,184,0.16);color:var(--paper-text);}
.blueprint-card-inner:hover .cta-mock,
.blueprint-toggle:checked ~ .blueprint-card-inner .cta-mock{border-style:solid;background:var(--signal);color:#1C1200;}

/* ---------- GRIDS / CARDS ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media (max-width:900px){.grid-3{grid-template-columns:1fr;} .grid-2{grid-template-columns:1fr;}}
.card{background:var(--card-bg);border:1px solid var(--blueprint-line);border-radius:var(--radius);padding:28px;}
.card h3{margin-bottom:10px;}
.card p{margin-bottom:0;font-size:0.94rem;}
.num-tag{font-family:var(--font-mono);font-size:0.75rem;color:var(--blueprint);margin-bottom:10px;display:block;}

.section-dark{background:var(--bg-ink);color:var(--paper-text);}
.section-dark p{color:var(--paper-text-soft);}
.section-dark .eyebrow{color:var(--cyan-bright);}
.section-dark .eyebrow::before{background:var(--cyan-bright);}
.section-dark .card{background:rgba(255,255,255,0.03);border-color:rgba(111,209,222,0.25);}
.section-dark .card p{color:var(--paper-text-soft);}
.section-dark h1,.section-dark h2,.section-dark h3{color:var(--paper-text);}

/* ---------- PROCESS ---------- */
.process-list{border-top:1px solid var(--blueprint-line);}
.process-item{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--blueprint-line);}
.process-item .step-num{font-family:var(--font-mono);font-size:0.85rem;color:var(--blueprint);}
.process-item h3{margin-bottom:8px;}
.process-item p{margin-bottom:0;font-size:0.94rem;max-width:600px;}
@media (max-width:700px){.process-item{grid-template-columns:1fr;} .process-item .step-num{margin-bottom:4px;}}

/* ---------- CHECKLIST ---------- */
.checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px;}
@media (max-width:700px){.checklist{grid-template-columns:1fr;}}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-size:0.95rem;color:var(--ink-soft);}
.checklist li::before{content:"";flex:none;width:16px;height:16px;margin-top:3px;border:1px solid var(--blueprint);border-radius:3px;background:var(--cyan);}

/* ---------- COMPARISON TABLE ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--blueprint-line);border-radius:var(--radius);}
table{width:100%;border-collapse:collapse;min-width:640px;font-size:0.92rem;}
th,td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--blueprint-line);vertical-align:top;}
thead th{font-family:var(--font-mono);font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-soft);background:rgba(27,75,122,0.05);}
tbody th{font-weight:600;color:var(--ink);white-space:nowrap;}
tbody tr:last-child td, tbody tr:last-child th{border-bottom:none;}
td.highlight{background:rgba(63,169,184,0.08);font-weight:500;color:var(--ink);}

/* ---------- STATS ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:800px){.stat-grid{grid-template-columns:1fr;}}
.stat-card{border-left:2px solid var(--cyan-bright);padding-left:20px;}
.stat-card strong{font-family:var(--font-display);font-size:2.1rem;display:block;color:var(--paper-text);}
.stat-card span{font-family:var(--font-mono);font-size:0.78rem;color:var(--paper-text-soft);}
.testimonial{margin-top:52px;border-top:1px solid rgba(111,209,222,0.25);padding-top:36px;}
.testimonial blockquote{margin:0 0 16px;font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--paper-text);line-height:1.4;}
.testimonial cite{font-family:var(--font-mono);font-size:0.78rem;color:var(--paper-text-soft);font-style:normal;}

/* ---------- PRICING ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
@media (max-width:900px){.pricing-grid{grid-template-columns:1fr;}}
.price-card{background:var(--card-bg);border:1px solid var(--blueprint-line);border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column;}
.price-card.featured{border-color:var(--blueprint);box-shadow:0 10px 30px rgba(27,75,122,0.12);position:relative;}
.price-card.featured::before{content:"MOST BOOKED";position:absolute;top:-11px;left:28px;background:var(--blueprint);color:#fff;font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.08em;padding:4px 10px;border-radius:2px;}
.price-name{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--blueprint);margin-bottom:8px;}
.price-amount{font-family:var(--font-display);font-size:2.1rem;margin-bottom:4px;}
.price-desc{font-size:0.88rem;color:var(--ink-soft);margin-bottom:20px;}
.price-features{list-style:none;padding:0;margin:0 0 28px;flex:1;}
.price-features li{font-size:0.88rem;color:var(--ink-soft);padding:8px 0;border-top:1px dashed var(--blueprint-line);}
.price-features li:first-child{border-top:none;}
.price-card .btn{width:100%;justify-content:center;}

/* ---------- FAQ ---------- */
.faq-list{border-top:1px solid var(--blueprint-line);}
details{border-bottom:1px solid var(--blueprint-line);padding:20px 0;}
summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.02rem;
  color:var(--ink);
}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";font-family:var(--font-mono);font-size:1.3rem;color:var(--blueprint);flex:none;transition:transform .2s ease;}
details[open] summary::after{transform:rotate(45deg);}
details p{margin:14px 0 0;font-size:0.94rem;max-width:720px;}

/* ---------- FINAL CTA ---------- */
.final-cta{text-align:center;padding:96px 0;}
.final-cta h2{max-width:640px;margin:0 auto 14px;}
.final-cta p{max-width:520px;margin:0 auto 32px;}

/* ---------- FOOTER ---------- */
.site-footer{padding:56px 0 32px;border-top:1px solid var(--blueprint-line);}
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;margin-bottom:32px;}
.footer-brand p{max-width:320px;font-size:0.88rem;}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap;}
.footer-col h4{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px;}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col li{margin-bottom:10px;font-size:0.9rem;}
.footer-col a{text-decoration:none;color:var(--ink-soft);}
.footer-col a:hover{color:var(--blueprint);}
.footer-bottom{font-family:var(--font-mono);font-size:0.72rem;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--blueprint-line);}

/* ---------- BLOG / index.php fallback ---------- */
.post-list{max-width:760px;margin:0 auto;padding:60px 24px;}
.post-list article{padding:32px 0;border-bottom:1px solid var(--blueprint-line);}
.post-list h2{margin-bottom:8px;}
.post-list .entry-meta{font-family:var(--font-mono);font-size:0.75rem;color:var(--ink-soft);margin-bottom:10px;display:block;}
.pagination{max-width:760px;margin:0 auto;padding:0 24px 60px;display:flex;gap:16px;}

@media (prefers-reduced-motion: reduce){
  *{transition:none !important; scroll-behavior:auto !important;}
}
