/* ============================================================
   TL ORDAZ CONSTRUCTION — Stylesheet (v2 — high-converting layout)
   Palette pulled from the logo:
     charcoal (primary) + olive-sage green (accent) + warm tan (secondary)
   ============================================================ */

#tlo-site {
  --charcoal:#222d35; --charcoal-deep:#1a232a;
  --green:#7e8d5e; --green-dark:#687449;
  --tan:#c9a96a; --tan-soft:#e8dcc4;
  --cream:#faf8f4; --cream-2:#f1ede5;
  --ink:#2a3138; --muted:#5c6670; --line:#e2ddd3; --white:#fff;
  --maxw:1140px; --radius:14px; --radius-sm:9px;
  --shadow:0 14px 40px rgba(34,45,53,.10); --shadow-sm:0 4px 16px rgba(34,45,53,.08);
  --ease:cubic-bezier(.22,1,.36,1);
  --font-head:"Fraunces",Georgia,serif; --font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  font-family:var(--font-body); color:var(--ink); background:var(--cream);
  line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
#tlo-site, #tlo-site *, #tlo-site *::before, #tlo-site *::after { box-sizing:border-box; }
#tlo-site * { margin:0; padding:0; }
#tlo-site h1, #tlo-site h2, #tlo-site h3, #tlo-site h4 { font-family:var(--font-head); font-weight:500; line-height:1.12; color:var(--charcoal); letter-spacing:-.01em; }
#tlo-site a { color:inherit; text-decoration:none; }
#tlo-site img, #tlo-site svg { max-width:100%; display:block; }

#tlo-site .container { width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }
#tlo-site .eyebrow { font-family:var(--font-body); text-transform:uppercase; letter-spacing:.18em; font-size:.74rem; font-weight:600; color:var(--green-dark); margin-bottom:14px; }

/* buttons */
#tlo-site .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:600; font-size:.98rem; padding:15px 30px; border-radius:50px; border:2px solid transparent; cursor:pointer; transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease),color .25s var(--ease); white-space:nowrap; }
#tlo-site .btn-primary { background:var(--green); color:var(--white); box-shadow:0 8px 22px rgba(126,141,94,.32); }
#tlo-site .btn-primary:hover { background:var(--green-dark); transform:translateY(-2px); }
#tlo-site .btn-ghost { background:transparent; color:var(--white); border-color:rgba(255,255,255,.55); }
#tlo-site .btn-ghost:hover { background:rgba(255,255,255,.12); border-color:#fff; transform:translateY(-2px); }
#tlo-site .btn-dark { background:var(--charcoal); color:var(--white); }
#tlo-site .btn-dark:hover { background:var(--charcoal-deep); transform:translateY(-2px); }
#tlo-site .btn-block { width:100%; }

/* header / nav */
#tlo-site .site-header { position:sticky; top:0; z-index:100; background:rgba(250,248,244,.88); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
#tlo-site .nav-inner { display:flex; align-items:center; justify-content:space-between; min-height:76px; gap:18px; }
#tlo-site .brand-logo { height:46px; width:auto; }
#tlo-site .nav-right { display:flex; align-items:center; gap:26px; }
#tlo-site .nav-menu { list-style:none; display:flex; align-items:center; gap:24px; }
#tlo-site .nav-menu a { font-weight:500; font-size:.94rem; color:var(--charcoal); transition:color .2s; white-space:nowrap; }
#tlo-site .nav-menu a:hover { color:var(--green-dark); }
#tlo-site .nav-cta { background:var(--charcoal); color:var(--white)!important; padding:11px 22px; border-radius:50px; transition:background .25s; }
#tlo-site .nav-cta:hover { background:var(--green-dark); }
#tlo-site .nav-phone { display:flex; flex-direction:column; line-height:1.25; text-align:right; white-space:nowrap; }
#tlo-site .nav-phone .nav-phone-label { font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-weight:600; }
#tlo-site .nav-phone .nav-phone-number { font-weight:700; font-size:1.02rem; color:var(--charcoal); transition:color .2s; }
#tlo-site .nav-phone:hover .nav-phone-number { color:var(--green-dark); }
#tlo-site .nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
#tlo-site .nav-toggle span { width:26px; height:2.5px; background:var(--charcoal); border-radius:2px; transition:.3s; }

/* hero */
#tlo-site .hero { position:relative; min-height:86vh; display:flex; align-items:center; color:var(--white); overflow:hidden; }
#tlo-site .hero-media { position:absolute; inset:0; background:url("https://images.unsplash.com/photo-1556911220-bff31c812dba?auto=format&fit=crop&w=2000&q=80") center/cover no-repeat; transform:scale(1.05); }
#tlo-site .hero-overlay { position:absolute; inset:0; background:linear-gradient(120deg,rgba(26,35,42,.92) 0%,rgba(26,35,42,.72) 45%,rgba(26,35,42,.42) 100%); }
#tlo-site .hero-content { position:relative; z-index:2; padding:90px 24px; max-width:760px; }
#tlo-site .hero h1 { font-size:clamp(2.6rem,6vw,4.4rem); color:var(--white); margin-bottom:22px; font-weight:600; }
#tlo-site .hero-sub { font-size:clamp(1.05rem,2vw,1.28rem); color:rgba(255,255,255,.9); max-width:560px; margin-bottom:26px; }
#tlo-site .hero .eyebrow { color:var(--tan); }
#tlo-site .hero-rating { display:flex; align-items:center; gap:10px; margin-bottom:26px; font-size:.95rem; font-weight:500; color:rgba(255,255,255,.92); }
#tlo-site .hero-rating .stars { color:var(--tan); letter-spacing:2px; font-size:1.05rem; }
#tlo-site .hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
#tlo-site .hero-reassure { font-size:.88rem; color:rgba(255,255,255,.75); margin-bottom:34px; }
#tlo-site .hero-badges { list-style:none; display:flex; gap:26px; flex-wrap:wrap; }
#tlo-site .hero-badges li { position:relative; padding-left:24px; font-size:.92rem; font-weight:500; color:rgba(255,255,255,.92); }
#tlo-site .hero-badges li::before { content:"\2713"; position:absolute; left:0; color:var(--tan); font-weight:700; }

/* trust strip */
#tlo-site .trust-strip { background:var(--charcoal); color:var(--white); }
#tlo-site .trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:38px 24px; text-align:center; }
#tlo-site .trust-item { display:flex; flex-direction:column; gap:4px; }
#tlo-site .trust-num { font-family:var(--font-head); font-size:clamp(1.7rem,4vw,2.4rem); color:var(--tan); font-weight:600; }
#tlo-site .trust-label { font-size:.82rem; letter-spacing:.04em; color:rgba(255,255,255,.78); text-transform:uppercase; }

/* sections */
#tlo-site .section { padding:100px 0; }
#tlo-site .section-alt { background:var(--cream-2); }
#tlo-site .section-head { max-width:640px; margin:0 auto 56px; text-align:center; }
#tlo-site .section-head h2 { font-size:clamp(2rem,4.5vw,2.9rem); margin-bottom:16px; }
#tlo-site .section-lead { color:var(--muted); font-size:1.08rem; }

/* services */
#tlo-site .services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
#tlo-site .service-card { position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:38px 32px; transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s; }
#tlo-site .service-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
#tlo-site .service-icon { width:60px; height:60px; display:grid; place-items:center; background:var(--cream-2); border-radius:14px; font-size:1.7rem; margin-bottom:22px; }
#tlo-site .service-card h3 { font-size:1.32rem; margin-bottom:12px; }
#tlo-site .service-card p { color:var(--muted); font-size:.98rem; }
#tlo-site .tag-popular { position:absolute; top:18px; right:18px; background:var(--tan); color:var(--charcoal); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; padding:5px 12px; border-radius:50px; }
#tlo-site .service-link { display:inline-block; margin-top:16px; font-weight:600; font-size:.92rem; color:var(--green-dark); transition:color .2s; }
#tlo-site .service-link:hover { color:var(--charcoal); }

/* how it works */
#tlo-site .steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-bottom:48px; }
#tlo-site .step-card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:42px 32px 36px; position:relative; }
#tlo-site .step-num { font-family:var(--font-head); font-size:1.35rem; font-weight:600; color:var(--white); background:var(--green); width:48px; height:48px; border-radius:50%; display:grid; place-items:center; margin-bottom:20px; }
#tlo-site .step-card h3 { font-size:1.28rem; margin-bottom:10px; }
#tlo-site .step-card p { color:var(--muted); font-size:.96rem; }
#tlo-site .steps-cta { text-align:center; }

/* about */
#tlo-site .about-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; }
#tlo-site .about-photo { aspect-ratio:4/5; border-radius:var(--radius); box-shadow:var(--shadow); background:url("https://images.unsplash.com/photo-1581858726788-75bc0f6a952d?auto=format&fit=crop&w=1200&q=80") center/cover no-repeat; }
#tlo-site .about-text h2 { font-size:clamp(1.9rem,4vw,2.7rem); margin-bottom:20px; }
#tlo-site .about-text p { color:var(--muted); margin-bottom:18px; }
#tlo-site .checklist { list-style:none; margin:26px 0 32px; display:grid; gap:12px; }
#tlo-site .checklist li { position:relative; padding-left:32px; font-weight:500; color:var(--ink); }
#tlo-site .checklist li::before { content:"\2713"; position:absolute; left:0; top:-1px; width:22px; height:22px; background:var(--green); color:#fff; border-radius:50%; display:grid; place-items:center; font-size:.72rem; font-weight:700; }

/* gallery */
#tlo-site .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
#tlo-site .gallery-item { position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
#tlo-site .gallery-img { aspect-ratio:4/3; background-size:cover; background-position:center; transition:transform .5s var(--ease); }
#tlo-site .gallery-item:hover .gallery-img { transform:scale(1.08); }
#tlo-site .gallery-item figcaption { position:absolute; left:0; right:0; bottom:0; padding:28px 18px 14px; color:#fff; font-weight:600; font-size:.96rem; background:linear-gradient(transparent,rgba(26,35,42,.82)); }
#tlo-site .g1 { background-image:url("https://images.unsplash.com/photo-1620626011761-996317b8d101?auto=format&fit=crop&w=900&q=80"); }
#tlo-site .g2 { background-image:url("https://images.unsplash.com/photo-1556909211-36987daf7b4d?auto=format&fit=crop&w=900&q=80"); }
#tlo-site .g3 { background-image:url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=900&q=80"); }
#tlo-site .g4 { background-image:url("https://images.unsplash.com/photo-1600585152220-90363fe7e115?auto=format&fit=crop&w=900&q=80"); }
#tlo-site .g5 { background-image:url("https://images.unsplash.com/photo-1584622650111-993a426fbf0a?auto=format&fit=crop&w=900&q=80"); }
#tlo-site .g6 { background-image:url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=900&q=80"); }

/* reviews */
#tlo-site .reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
#tlo-site .review-card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:34px 30px; }
#tlo-site .review-card .stars { color:var(--tan); font-size:1.1rem; letter-spacing:2px; margin-bottom:16px; }
#tlo-site .review-card p { color:var(--ink); font-style:italic; margin-bottom:18px; }
#tlo-site .review-card cite { color:var(--muted); font-style:normal; font-weight:600; font-size:.92rem; }

/* promise / guarantee band */
#tlo-site .promise { background:var(--green); color:var(--white); }
#tlo-site .promise-inner { display:grid; grid-template-columns:1.4fr auto; gap:40px; align-items:center; padding:64px 24px; }
#tlo-site .promise h2 { color:var(--white); font-size:clamp(1.7rem,3.5vw,2.4rem); margin-bottom:12px; }
#tlo-site .promise p { color:rgba(255,255,255,.92); font-size:1.05rem; max-width:620px; }
#tlo-site .promise .btn-light { background:var(--white); color:var(--charcoal); }
#tlo-site .promise .btn-light:hover { background:var(--cream-2); transform:translateY(-2px); }

/* FAQ */
#tlo-site .faq-list { max-width:760px; margin:0 auto; display:grid; gap:14px; }
#tlo-site .faq-item { background:var(--white); border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; }
#tlo-site .faq-q { width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px; text-align:left; background:none; border:0; cursor:pointer; padding:20px 24px; font-family:var(--font-body); font-size:1.02rem; font-weight:600; color:var(--charcoal); }
#tlo-site .faq-q .faq-icon { flex:none; width:26px; height:26px; border-radius:50%; background:var(--cream-2); display:grid; place-items:center; font-size:1rem; color:var(--green-dark); transition:transform .3s var(--ease); }
#tlo-site .faq-item.open .faq-icon { transform:rotate(45deg); }
#tlo-site .faq-a { display:none; padding:0 24px 22px; color:var(--muted); font-size:.98rem; }
#tlo-site .faq-item.open .faq-a { display:block; }

/* contact */
#tlo-site .contact { background:var(--charcoal); color:var(--white); }
#tlo-site .contact h2 { color:var(--white); font-size:clamp(1.9rem,4vw,2.7rem); }
#tlo-site .contact .eyebrow { color:var(--tan); }
#tlo-site .contact .section-lead { color:rgba(255,255,255,.78); }
#tlo-site .contact-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:60px; align-items:start; }
#tlo-site .contact-list { list-style:none; margin-top:34px; display:grid; gap:22px; }
#tlo-site .contact-list li { display:flex; flex-direction:column; gap:3px; }
#tlo-site .contact-label { font-size:.76rem; text-transform:uppercase; letter-spacing:.14em; color:var(--tan); font-weight:600; }
#tlo-site .contact-value { font-size:1.15rem; color:#fff; font-weight:500; }
#tlo-site a.contact-value:hover { color:var(--tan); }
#tlo-site .lead-form { background:var(--white); border-radius:var(--radius); padding:36px; box-shadow:var(--shadow); }
#tlo-site .form-head { text-align:center; margin-bottom:24px; }
#tlo-site .form-head h3 { font-size:1.5rem; margin-bottom:6px; }
#tlo-site .form-head p { font-size:.92rem; color:var(--muted); }
#tlo-site .form-row { margin-bottom:18px; }
#tlo-site .form-row.two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#tlo-site .lead-form label { display:block; font-size:.84rem; font-weight:600; color:var(--charcoal); margin-bottom:7px; }
#tlo-site .lead-form input, #tlo-site .lead-form select, #tlo-site .lead-form textarea { width:100%; font-family:var(--font-body); font-size:.98rem; color:var(--ink); padding:13px 15px; border:1.5px solid var(--line); border-radius:var(--radius-sm); background:var(--cream); transition:border-color .2s,box-shadow .2s; }
#tlo-site .lead-form input:focus, #tlo-site .lead-form select:focus, #tlo-site .lead-form textarea:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(126,141,94,.16); background:#fff; }
#tlo-site .lead-form textarea { resize:vertical; }
#tlo-site .form-status { margin-top:14px; font-size:.92rem; font-weight:600; text-align:center; }
#tlo-site .form-status.ok { color:var(--green-dark); }
#tlo-site .form-status.err { color:#b5462f; }
#tlo-site .form-fineprint { margin-top:14px; font-size:.78rem; color:var(--muted); text-align:center; }

/* footer */
#tlo-site .site-footer { background:var(--charcoal-deep); color:rgba(255,255,255,.78); padding-top:64px; }
#tlo-site .footer-inner { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; }
#tlo-site .footer-logo { height:54px; width:auto; margin-bottom:18px; opacity:.92; }
#tlo-site .footer-logo .wordmark, #tlo-site .footer-logo .submark { fill:#fff; }
#tlo-site .footer-logo .housemark { stroke:#fff; }
#tlo-site .footer-brand p { font-size:.94rem; max-width:300px; }
#tlo-site .footer-col h4 { color:#fff; font-family:var(--font-body); font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:18px; }
#tlo-site .footer-col ul { list-style:none; display:grid; gap:11px; }
#tlo-site .footer-col a, #tlo-site .footer-col li { font-size:.94rem; transition:color .2s; }
#tlo-site .footer-col a:hover { color:var(--tan); }
#tlo-site .footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:22px 0; }
#tlo-site .footer-bottom p { font-size:.84rem; color:rgba(255,255,255,.6); text-align:center; }

/* sticky mobile call */
#tlo-site .mobile-call { display:none; position:fixed; bottom:18px; left:50%; transform:translateX(-50%); z-index:200; background:var(--green); color:#fff; font-weight:600; padding:14px 30px; border-radius:50px; box-shadow:0 10px 28px rgba(34,45,53,.35); }

/* scroll reveal */
#tlo-site .reveal { opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
#tlo-site .reveal.in { opacity:1; transform:none; }

/* responsive */
@media (max-width:1180px){
  #tlo-site .nav-phone { display:none; }
}
@media (max-width:900px){
  #tlo-site .services-grid, #tlo-site .gallery-grid, #tlo-site .reviews-grid, #tlo-site .steps-grid { grid-template-columns:repeat(2,1fr); }
  #tlo-site .about-grid, #tlo-site .contact-grid { grid-template-columns:1fr; gap:40px; }
  #tlo-site .about-media { max-width:420px; }
  #tlo-site .footer-inner { grid-template-columns:1fr 1fr; }
  #tlo-site .trust-grid { grid-template-columns:repeat(2,1fr); gap:28px; }
  #tlo-site .promise-inner { grid-template-columns:1fr; text-align:center; }
  #tlo-site .promise p { margin:0 auto; }
}
@media (max-width:680px){
  #tlo-site .section { padding:70px 0; }
  #tlo-site .nav-toggle { display:flex; }
  #tlo-site .nav-menu { position:fixed; inset:76px 0 auto 0; flex-direction:column; align-items:stretch; gap:0; background:var(--cream); border-bottom:1px solid var(--line); padding:10px 24px 24px; transform:translateY(-130%); transition:transform .35s var(--ease); box-shadow:var(--shadow); }
  #tlo-site .nav-menu.open { transform:translateY(0); }
  #tlo-site .nav-menu li { border-bottom:1px solid var(--line); }
  #tlo-site .nav-menu li:last-child { border-bottom:0; }
  #tlo-site .nav-menu a { display:block; padding:15px 0; }
  #tlo-site .nav-cta { display:inline-block; margin-top:12px; text-align:center; }
  #tlo-site .services-grid, #tlo-site .gallery-grid, #tlo-site .reviews-grid, #tlo-site .steps-grid { grid-template-columns:1fr; }
  #tlo-site .form-row.two { grid-template-columns:1fr; }
  #tlo-site .footer-inner { grid-template-columns:1fr; }
  #tlo-site .hero { min-height:80vh; }
  #tlo-site .mobile-call { display:inline-block; }
}
@media (prefers-reduced-motion:reduce){
  #tlo-site .reveal { opacity:1!important; transform:none!important; transition:none; }
}
