/* Teller Property Solutions -- 2026-10-09 revamp. Loaded after style.css so the admin pages (cards, tables, forms)
   keep their component styles; this restyles the shell and the home page. */
:root{--navy:#12315a;--navy2:#0c2243;--green:#3f8f3a;--orange:#f08a24;--orange2:#d4710f;--paper:#f6f8fb;--ink:#17202b;--muted:#566474;--line:#dbe2ea;
  --display:'Outfit',system-ui,sans-serif;--body:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
body{margin:0!important;font-family:var(--body)!important;color:var(--ink);font-size:18px;line-height:1.6;display:block!important;height:auto!important}
body.is-home{background:var(--paper)!important}
.tp-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display)}

/* header */
.tp-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:3px solid var(--orange);box-shadow:0 2px 14px rgba(18,49,90,.08)}
.tp-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.tp-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--navy)}
.tp-brand img{width:64px;height:64px;object-fit:contain}
.tp-brand b{display:block;font:700 22px/1.1 var(--display);color:var(--navy)}
.tp-brand small{display:block;font-size:14px;color:var(--muted);margin-top:2px}
.tp-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tp-nav a{text-decoration:none;color:var(--navy);font-weight:600;font-size:16.5px;padding:10px 12px;border-radius:8px}
.tp-nav a:hover{background:#eef3f9}
.tp-nav a.tp-quiet{color:var(--muted);font-weight:500}
.tp-nav a.tp-call{background:var(--orange);color:#fff;padding:12px 18px;margin-left:6px;font-weight:700}
.tp-nav a.tp-call:hover{background:var(--orange2)}

/* hero */
.tp-hero{position:relative;color:#fff;background:linear-gradient(105deg,rgba(12,34,67,.94) 0%,rgba(12,34,67,.82) 55%,rgba(12,34,67,.55) 100%),url('/images/background.jpg') center/cover no-repeat;padding:96px 0 104px}
.tp-eyebrow{font:700 14px var(--body);letter-spacing:.16em;text-transform:uppercase;color:#ffc27a;margin-bottom:14px}
.tp-hero h1{font:800 clamp(40px,6vw,72px)/1.04 var(--display);margin:0 0 18px;max-width:780px;color:#fff;letter-spacing:-.01em}
.tp-hero h1 em{font-style:normal;color:var(--orange)}
.tp-lede{font-size:22px;max-width:640px;color:#dbe6f4;margin:0 0 30px}
.tp-cta{display:flex;gap:14px;flex-wrap:wrap}
.tp-btn{display:inline-block;font:700 17px var(--body);padding:16px 26px;border-radius:10px;text-decoration:none;background:var(--orange);color:#fff;border:2px solid var(--orange);white-space:nowrap}
.tp-btn:hover{background:var(--orange2);border-color:var(--orange2);color:#fff}
.tp-btn.ghost{background:none;color:#fff;border-color:#ffffff99}.tp-btn.ghost:hover{background:#ffffff1f;border-color:#fff}
.tp-btn.alt{background:#fff;color:var(--navy);border-color:var(--navy)}.tp-btn.alt:hover{background:var(--navy);color:#fff}

/* sections */
.tp-sec{padding:84px 0}
.tp-sec h2{border:0!important;padding:0!important;font:800 clamp(30px,4vw,44px)/1.1 var(--display);color:var(--navy);margin:0 0 10px}
.tp-sub{font-size:20px;color:var(--muted);max-width:640px;margin:0 0 38px}
.tp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.tp-card{grid-column:span 2}
.tp-card:nth-child(n+4){grid-column:span 3}
.tp-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 8px 22px rgba(18,49,90,.06)}
.tp-card .ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#eaf3e8;color:var(--green);margin-bottom:16px}
.tp-card .ic svg{width:28px;height:28px}
.tp-card h3{font:700 21px/1.2 var(--display);color:var(--navy);margin:0 0 8px}
.tp-card p{margin:0;color:var(--muted);font-size:17px}
.tp-band{background:var(--navy)}
.tp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:0;padding-bottom:0}
.tp-steps div{display:flex;align-items:center;gap:14px;padding:26px 18px;color:#fff;border-right:1px solid #ffffff22}
.tp-steps div:last-child{border-right:0}
.tp-steps b{display:grid;place-items:center;min-width:40px;height:40px;border-radius:50%;background:var(--orange);font:700 18px var(--display)}
.tp-steps span{font-weight:600;line-height:1.25}
.tp-contact{background:#fff;text-align:center}
.tp-contact .tp-sub{margin-left:auto;margin-right:auto}
.tp-contact .tp-cta{justify-content:center}

/* footer */
.tp-footer{background:#0c2243;color:#b9c8dc;padding:44px 0 26px;font-size:16px;margin-top:0}
.tp-footer a{color:#fff}
.tp-foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}
.tp-foot b{display:block;color:#fff;font:700 20px var(--display);margin-bottom:6px}
body .footer{position:static;display:block;height:auto;min-height:0;padding:.75rem 1rem;text-align:center;line-height:1.4;box-sizing:border-box}

/* admin / login pages keep their card styling inside a clean frame */
.is-inner{background:var(--paper)!important}
.is-inner .site-main{padding:34px 0 60px}
.is-inner .site-main h1{font:800 34px var(--display);color:var(--navy)}

@media (max-width:900px){
  .tp-grid{grid-template-columns:1fr 1fr}.tp-card,.tp-card:nth-child(n+4){grid-column:auto}
  .tp-steps{grid-template-columns:1fr 1fr}.tp-steps div{border-bottom:1px solid #ffffff22}
  .tp-foot{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:17px}
  .tp-bar{flex-wrap:wrap;gap:8px;padding-top:10px;padding-bottom:10px;min-height:0}
  .tp-brand img{width:52px;height:52px}.tp-brand b{font-size:19px}.tp-brand small{display:none}
  .tp-nav{width:100%;justify-content:flex-start;gap:2px}
  .tp-nav a{padding:8px 10px;font-size:16px}
  .tp-nav a.tp-call{margin-left:auto}
  .tp-hero{padding:56px 0 64px}
  .tp-grid{grid-template-columns:1fr}.tp-card,.tp-card:nth-child(n+4){grid-column:auto}
  .tp-btn{flex:1;text-align:center;padding:15px 18px}
  .tp-sec{padding:56px 0}
}
html,body{overflow-x:hidden}
