:root {
  --ink: #111820;
  --ink-soft: #32383d;
  --ivory: #f5f2eb;
  --paper: #fffdf8;
  --copper: #a86f4d;
  --copper-dark: #805138;
  --line: #d9d5cd;
  --muted: #6e716f;
  --success: #45675a;
  --container: 1180px;
  --radius: 3px;
  --shadow: 0 18px 50px rgba(17, 24, 32, .08);
  --font-sans: Inter, "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-color: var(--copper); text-underline-offset: .2em; }
a:hover { color: var(--copper-dark); }
button, input { font: inherit; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; background: var(--ink); color: #fff; padding: 10px 16px; }
.skip-link:focus { top: 16px; }

.topbar { background: var(--ink); color: #f5f2eb; font-size: 13px; letter-spacing: .04em; }
.topbar .container { display: flex; min-height: 34px; align-items: center; justify-content: center; }
.site-header {
  position: sticky; top: 0; z-index: 100; background: rgba(245, 242, 235, .94);
  border-bottom: 1px solid transparent; backdrop-filter: blur(16px); transition: border-color .2s, box-shadow .2s;
}
.site-header.is-scrolled { border-bottom-color: var(--line); box-shadow: 0 6px 24px rgba(17, 24, 32, .05); }
.header-inner { min-height: 84px; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; flex: 0 0 auto; text-decoration: none; }
.brand-image {
  display: block; width: 350px; height: 48px; max-width: 45vw;
  background-image: var(--brand-image); background-repeat: no-repeat;
  background-size: 480px auto; background-position: center 45%;
}
.site-navigation { margin-left: auto; }
.site-navigation ul { display: flex; align-items: center; gap: 28px; padding: 0; margin: 0; list-style: none; }
.site-navigation a { text-decoration: none; font-size: 14px; font-weight: 650; letter-spacing: .02em; }
.site-navigation .current > a, .site-navigation .active > a { color: var(--copper-dark); }
.button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px;
  border: 1px solid var(--ink); border-radius: var(--radius); background: var(--ink); color: #fff;
  font-size: 14px; font-weight: 750; letter-spacing: .025em; text-decoration: none; cursor: pointer; transition: .2s ease;
}
.button:hover { transform: translateY(-1px); background: var(--copper-dark); border-color: var(--copper-dark); color: #fff; }
.button-small { min-height: 42px; padding-inline: 18px; }
.nav-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; }
.nav-toggle > span:not(.visually-hidden) { display: block; height: 2px; margin: 5px 0; background: var(--ink); }

.hero { position: relative; overflow: hidden; min-height: 650px; background: var(--ivory); border-bottom: 1px solid var(--line); }
.hero::after { content: ""; position: absolute; width: 420px; height: 420px; right: -180px; top: -190px; border: 1px solid rgba(168,111,77,.25); border-radius: 50%; }
.hero-grid { position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(rgba(17,24,32,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(17,24,32,.06) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to right, transparent, #000 45%, #000); }
.hero-inner { position: relative; z-index: 1; padding-block: 104px 92px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; color: var(--copper-dark); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow span { width: 34px; height: 2px; background: var(--copper); }
.hero h1 { max-width: 850px; margin: 0; font-size: clamp(46px, 7vw, 86px); line-height: .98; letter-spacing: -.055em; font-weight: 630; }
.hero-lede { max-width: 670px; margin: 30px 0 42px; color: var(--ink-soft); font-size: clamp(18px, 2.2vw, 22px); line-height: 1.55; }
.directory-search { display: grid; grid-template-columns: minmax(250px, 1.35fr) minmax(210px, .9fr) auto; max-width: 980px; padding: 8px; background: var(--paper); border: 1px solid var(--line); border-radius: 4px; box-shadow: var(--shadow); }
.search-field { display: grid; padding: 8px 18px; border-right: 1px solid var(--line); }
.search-field span { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.search-field input { width: 100%; padding: 3px 0 0; border: 0; outline: none; background: transparent; color: var(--ink); }
.search-field input::placeholder { color: #888b89; }
.search-button { min-width: 170px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 26px; color: var(--muted); font-size: 14px; }
.trust-row i { display: inline-grid; width: 20px; height: 20px; margin-right: 6px; place-items: center; border: 1px solid var(--copper); border-radius: 50%; color: var(--copper-dark); font-size: 11px; font-style: normal; }

.module-band, .featured-section { padding: 56px 0; background: var(--paper); }
.featured-section { border-bottom: 1px solid var(--line); }
.site-main { min-height: 45vh; padding: 72px 0 90px; }
.site-home .site-main { padding-top: 64px; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 52px; }
.content-layout.has-sidebar { grid-template-columns: minmax(0, 1fr) 320px; }
.content-top { margin-bottom: 42px; }
.content-bottom { margin-top: 42px; }
.module-card { margin-bottom: 24px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.module-title, .footer-module h2 { margin: 0 0 18px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.module-card ul { padding-left: 20px; }

.blog-items, .items-leading, .category-list, .finder, .contact, .com-content-article { max-width: 880px; }
.blog-item, .item, .result-item { padding: 28px 0; border-bottom: 1px solid var(--line); }
.page-header h1, .page-header h2, .item-title, .contact h1 { letter-spacing: -.025em; line-height: 1.15; }
.page-header h1 { font-size: clamp(38px, 5vw, 62px); }
.pagination ul { display: flex; gap: 8px; padding: 0; list-style: none; }
.pagination a, .pagination span { display: grid; min-width: 40px; height: 40px; padding: 0 10px; place-items: center; border: 1px solid var(--line); text-decoration: none; }
.form-control, input[type="text"], input[type="email"], input[type="search"], textarea, select { border: 1px solid var(--line); border-radius: 2px; padding: 12px 14px; background: #fff; color: var(--ink); }
.form-control:focus, input:focus, textarea:focus, select:focus { outline: 2px solid rgba(168,111,77,.35); outline-offset: 1px; border-color: var(--copper); }

.cta-band { padding: 58px 0; background: var(--copper); color: #fff; }
.cta-band h2 { margin-top: 0; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.035em; }
.site-footer { padding: 70px 0 24px; background: var(--ink); color: #d9dad8; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 54px; }
.brand-footer { filter: grayscale(1) brightness(0) invert(1); opacity: .94; }
.footer-brand p { max-width: 330px; margin-top: 18px; color: #9ea3a5; font-size: 14px; }
.footer-module h2 { color: #fff; }
.footer-module ul { padding: 0; margin: 0; list-style: none; }
.footer-module li { margin: 9px 0; }
.footer-module a { color: #bfc2c2; text-decoration: none; font-size: 14px; }
.footer-module a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 56px; padding-top: 22px; border-top: 1px solid #333a40; color: #858b8e; font-size: 12px; }

.utility-page { min-height: 100vh; display: grid; place-items: center; padding: 30px; background: var(--ivory); }
.utility-card { width: min(100%, 680px); padding: 64px; background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow); }
.utility-card h1 { margin: 0; font-size: clamp(64px, 16vw, 130px); line-height: 1; letter-spacing: -.07em; }
.component-only { padding: 24px; background: #fff; }

@media (max-width: 980px) {
  .header-inner { min-height: 74px; gap: 18px; }
  .brand-image { width: 290px; height: 42px; background-size: 398px auto; }
  .header-cta { margin-left: auto; }
  .nav-toggle { display: block; order: 3; }
  .site-navigation { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 24px 20px; background: var(--ivory); border-bottom: 1px solid var(--line); }
  .site-navigation.is-open { display: block; }
  .site-navigation ul { align-items: stretch; flex-direction: column; gap: 4px; }
  .site-navigation a { display: block; padding: 11px 0; font-size: 16px; }
  .directory-search { grid-template-columns: 1fr 1fr; }
  .search-location { border-right: 0; }
  .search-button { grid-column: 1 / -1; }
  .content-layout.has-sidebar { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .brand-image { width: 235px; max-width: 58vw; height: 36px; background-size: 323px auto; }
  .header-cta { display: none; }
  .hero { min-height: auto; }
  .hero-inner { padding-block: 72px 66px; }
  .hero h1 { font-size: clamp(44px, 13.5vw, 64px); }
  .directory-search { grid-template-columns: 1fr; }
  .search-field { border-right: 0; border-bottom: 1px solid var(--line); }
  .search-button { grid-column: auto; margin-top: 4px; }
  .trust-row { gap: 13px; flex-direction: column; }
  .site-main { padding: 52px 0 64px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
  .utility-card { padding: 38px 28px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
.footer-bottom a{color:var(--copper-light,#d59a63);font-weight:700;text-decoration:none}.footer-bottom a:hover{text-decoration:underline}
.offline-parent{text-align:center;margin:2rem 0;color:#6d6a64}.offline-parent a{color:#9a6133;font-weight:700}

/* Academy: full-bleed editorial school identity, with the course library as the visual focus. */
.site-main:has(.tl-academy){padding:0;background:#f1eee7}
.site-main .container:has(.tl-academy){width:100%;max-width:none;padding:0}
.site-main .content-layout:has(.tl-academy){display:block}
.site-main .component-area:has(.tl-academy){min-width:0}
.tl-academy{width:100%;margin:0;background:#f1eee7;color:#202323}
.tl-academy .tl-shell{width:min(1180px,calc(100% - 48px))}
.tl-academy .tl-cinematic-hero{position:relative;display:flex;min-height:500px;align-items:stretch;overflow:hidden;background:#151a1b}
.tl-academy .tl-cinematic-hero>img{left:auto;right:0;z-index:0;width:52%;height:100%;object-fit:cover;object-position:center 43%;opacity:.94}
.tl-academy .tl-cinematic-hero__shade{z-index:1;background:linear-gradient(90deg,#151a1b 0%,#151a1b 39%,rgba(21,26,27,.88) 51%,rgba(21,26,27,.24) 79%,rgba(21,26,27,.08) 100%)}
.tl-academy .tl-cinematic-hero .tl-shell{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding-top:62px;padding-bottom:42px}
.tl-academy .tl-cinematic-hero h1{max-width:760px;margin:0 0 18px;font-size:clamp(3rem,5vw,5rem);line-height:.96;letter-spacing:-.065em}
.tl-academy .tl-cinematic-hero h1 em{color:#d9a06f}
.tl-academy .tl-cinematic-hero p{max-width:510px;margin:0;color:#e0ded8;font-size:1.02rem;line-height:1.6}
.tl-academy .tl-academy-hero__actions{margin-top:24px}
.tl-academy .tl-academy-hero__facts{max-width:510px;margin-top:30px}
.tl-academy .tl-academy-intro{align-items:center;gap:40px;padding-top:38px!important;padding-bottom:32px!important;border-bottom:1px solid #d6d0c5}
.tl-academy .tl-academy-intro h2{font-size:clamp(1.7rem,3vw,2.4rem)!important;line-height:1.08!important}
.tl-academy .tl-academy-intro>div+div p{font-size:.84rem}
.tl-academy .tl-academy-catalog{padding-top:38px;padding-bottom:52px}
.tl-academy .tl-academy-catalog__head{align-items:end}
.tl-academy .tl-academy-catalog__head h2{font-size:clamp(2rem,4vw,3rem)!important}
.tl-academy .tl-course-category{margin-bottom:36px}
.tl-academy .tl-course-category>h3{border-bottom:1px solid #c8c0b4;font-size:.98rem}
.tl-academy .tl-course-category__grid{gap:14px;padding-top:14px}
.tl-academy .tl-course-category__grid article{min-height:340px;padding:22px;border:1px solid #d7d0c4;background:#fbfaf7}
.tl-academy .tl-course-category__grid article.is-paid{border-top:3px solid #a86439;background:#f5eee5}
.tl-academy .tl-course-category__grid h4{font-family:Inter,Arial,sans-serif;font-size:1.18rem;font-weight:740;letter-spacing:-.035em;line-height:1.2}
.tl-academy .tl-course-category__grid p{font-size:.83rem;line-height:1.55}
.tl-academy .tl-course-price{min-height:40px}
.tl-academy .tl-course-category__grid dl{grid-template-columns:1fr 1fr 1.35fr;gap:8px}
.tl-academy .tl-course-category__grid dt{font-size:.62rem;letter-spacing:.05em}
.tl-academy .tl-course-category__grid dd{font-size:.76rem;line-height:1.35}
.tl-academy .tl-course-category__grid .tl-btn{margin-top:14px}
.tl-academy .tl-academy-rules{margin-bottom:56px!important;background:#e8e2d9!important}
@media(max-width:760px){
 .tl-academy{width:100%;margin:0}
 .tl-academy .tl-shell{width:calc(100% - 32px)}
 .tl-academy .tl-cinematic-hero{display:block;min-height:0;padding-top:220px}
 .tl-academy .tl-cinematic-hero>img{top:0;right:0;left:0;width:100%;height:250px;object-position:62% 36%;opacity:.9}
 .tl-academy .tl-cinematic-hero__shade{background:linear-gradient(180deg,rgba(21,26,27,.02) 0,rgba(21,26,27,.05) 145px,#151a1b 245px,#151a1b 100%)}
 .tl-academy .tl-cinematic-hero .tl-shell{padding-top:20px;padding-bottom:25px}
 .tl-academy .tl-cinematic-hero h1{font-size:clamp(2.65rem,11vw,3.7rem)}
 .tl-academy .tl-cinematic-hero p{font-size:.91rem}
 .tl-academy .tl-academy-hero__actions{display:grid;grid-template-columns:1fr 1fr}
 .tl-academy .tl-academy-hero__facts{margin-top:20px}
 .tl-academy .tl-academy-hero__facts span{font-size:.57rem;letter-spacing:.02em}
 .tl-academy .tl-academy-intro{padding-top:28px!important;padding-bottom:24px!important}
 .tl-academy .tl-academy-catalog{padding-top:28px;padding-bottom:36px}
 .tl-academy .tl-academy-catalog__head{gap:10px}
 .tl-academy .tl-course-category__grid{grid-template-columns:1fr}
 .tl-academy .tl-course-category__grid article{min-height:0;padding:18px}
 .tl-academy .tl-course-category__grid h4{margin-top:10px}
 .tl-academy .tl-academy-rules{margin-bottom:32px!important}
}

/* Course detail pages: quiet training-manual layout, without decorative progress numbers or stock-photo noise. */
.tl-course .tl-course-hero{padding:38px 0 34px;background:#171a1b!important;background-image:none!important;border-top:3px solid #b87843}
.tl-course .tl-course-hero .tl-shell{width:min(1120px,calc(100% - 48px))}
.tl-course .tl-back{margin-bottom:22px;color:#d8d5ce;font-size:.83rem;text-decoration:none}
.tl-course .tl-course-code,.tl-course .tl-course-section-heading>span,.tl-course .tl-assessment-index>span,.tl-course .tl-course-module summary>span{display:none!important}
.tl-course .tl-course-hero h1{max-width:860px;margin:0 0 12px;color:#fff;font-size:clamp(2.5rem,5vw,4.15rem);font-weight:730;line-height:1.02;letter-spacing:-.055em}
.tl-course .tl-course-hero p{max-width:700px;margin:0;color:#d9d7d1;font-size:1rem;line-height:1.6}
.tl-course .tl-course-hero .tl-academy-hero__facts{gap:8px 22px;margin-top:23px;padding-top:15px;border-top:1px solid #454846}
.tl-course .tl-course-hero .tl-academy-hero__facts span{padding:0;border:0;border-radius:0;background:none;color:#d8d5ce;font-size:.77rem;font-weight:600;letter-spacing:0}
.tl-course .tl-course-layout{grid-template-columns:minmax(0,1fr) minmax(280px,350px);gap:64px;padding-top:38px;padding-bottom:60px}
.tl-course .tl-course-section-heading{margin-bottom:20px}
.tl-course .tl-course-section-heading h2{margin:0 0 5px;font-size:1.45rem;font-weight:730;letter-spacing:-.03em}
.tl-course .tl-course-section-heading p{margin:0;color:#666760;font-size:.83rem}
.tl-course .tl-course-module{border-top:1px solid #d8d1c7;border-radius:0;background:transparent}
.tl-course .tl-course-module:last-child{border-bottom:1px solid #d8d1c7}
.tl-course .tl-course-module summary{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px 2px;cursor:pointer;list-style:none}
.tl-course .tl-course-module summary::-webkit-details-marker{display:none}
.tl-course .tl-course-module summary:after{content:"+";grid-column:2;grid-row:1;color:#9a623b;font-size:1.2rem}
.tl-course .tl-course-module[open] summary:after{content:"−"}
.tl-course .tl-course-module summary strong{font-size:.96rem;line-height:1.35}
.tl-course .tl-course-module summary small{grid-column:2;grid-row:1;margin-right:24px;color:#71726c;font-size:.72rem;white-space:nowrap}
.tl-course .tl-course-module>div{padding:0 36px 20px 2px;color:#50524e;font-size:.9rem;line-height:1.7}
.tl-course .tl-course-exam,.tl-course .tl-course-history{position:sticky;top:92px;padding:23px;border:1px solid #d8d1c7;border-top:3px solid #b87843;border-radius:2px;background:#fbfaf7;color:#202323}
.tl-course .tl-assessment-index{padding-bottom:10px;border-bottom:1px solid #ded8ce}
.tl-course .tl-assessment-index small{color:#8d5b37;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.tl-course .tl-course-exam h2{margin:15px 0 6px;color:#222524;font-size:1.15rem;line-height:1.25}
.tl-course .tl-assessment-summary{margin:0;color:#696a64;font-size:.79rem;line-height:1.5}
.tl-course .tl-course-access{display:grid;gap:3px;margin:16px 0 10px;padding:12px 0;border-block:1px solid #e2ddd5}
.tl-course .tl-course-access strong{color:#263b33;font-size:.92rem}
.tl-course .tl-course-access span{color:#676862;font-size:.7rem}
.tl-course .tl-assessment-facts{margin:10px 0 14px}
.tl-course .tl-course-exam form{display:grid;gap:12px}
.tl-course .tl-course-exam .tl-check{display:flex;align-items:flex-start;gap:8px;margin:6px 0;color:#5b5d57;font-size:.73rem;line-height:1.5}
.tl-course .tl-course-exam .tl-check input{flex:0 0 auto;margin-top:3px}
.tl-course .tl-course-exam .tl-btn{min-height:48px;margin:6px 0 0;border-radius:2px}
.tl-course .tl-checkout-note{display:block;margin-top:10px}
@media(max-width:900px){.tl-course .tl-course-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:28px}}
@media(max-width:760px){
 .tl-course .tl-course-hero{padding:24px 0 27px}
 .tl-course .tl-course-hero .tl-shell{width:calc(100% - 32px)}
 .tl-course .tl-back{margin-bottom:17px}
 .tl-course .tl-course-hero h1{font-size:clamp(2.15rem,9vw,3rem);line-height:1.05}
 .tl-course .tl-course-hero p{font-size:.9rem}
 .tl-course .tl-course-hero .tl-academy-hero__facts{gap:8px 14px;margin-top:18px}
 .tl-course .tl-course-hero .tl-academy-hero__facts span{font-size:.7rem}
 .tl-course .tl-course-layout{grid-template-columns:1fr;gap:20px;padding-top:26px;padding-bottom:38px}
 .tl-course .tl-course-layout main{order:0}
 .tl-course .tl-course-layout aside{order:1}
 .tl-course .tl-course-exam{position:static;padding:18px}
 .tl-course .tl-course-module summary{padding:16px 1px}
 .tl-course .tl-course-module summary strong{font-size:.9rem}
 .tl-course .tl-course-module>div{padding-right:4px}
}

/* Mobile directory cards: keep a real photo and readable content instead of squeezing both into a narrow column. */
@media(max-width:620px){
  .tl-directory .tl-company-card{grid-template-columns:minmax(0,1fr)}
  .tl-directory .tl-company-photo{height:clamp(150px,48vw,190px);min-height:0;margin:12px 0 0}
  .tl-directory .tl-company-photo img{height:100%;min-height:0}
  .tl-directory .tl-company-copy{min-width:0;padding:13px 0 17px}
  .tl-directory .tl-company-card__head{gap:8px}
  .tl-directory .tl-company-card__head h3{font-size:1.05rem;line-height:1.25}
  .tl-directory .tl-card-actions{gap:8px}
  .tl-directory .tl-card-actions .tl-btn{flex:1 1 100px;min-height:42px;font-size:.78rem}
  .tl-directory .tl-card-actions .tl-link{padding:8px 2px}
}

/* 1.1 cinematic discovery system */
.site-header{background:rgba(247,243,236,.94);backdrop-filter:blur(14px)}.site-header .header-inner{min-height:82px}.site-navigation a{font-size:13px;letter-spacing:.015em}.hero{isolation:isolate;display:grid;align-items:end;min-height:760px;background:#0b1012;color:#fff;border:0}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{z-index:-3;object-fit:cover;object-position:center}.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(4,9,12,.98) 0%,rgba(4,9,12,.91) 34%,rgba(4,9,12,.45) 65%,rgba(4,9,12,.08) 100%),linear-gradient(0deg,rgba(4,9,12,.82) 0%,transparent 48%)}.hero-inner{padding-block:124px 52px}.hero .eyebrow{color:#d79a62}.hero .eyebrow span{background:#d79a62}.hero h1{max-width:720px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(60px,7.6vw,108px);font-weight:500;line-height:.86;letter-spacing:-.066em}.hero-lede{max-width:600px;margin:26px 0 34px;color:#dddeda;font-size:18px}.directory-search{max-width:900px;border:0;border-radius:2px;background:#fff;box-shadow:0 24px 58px rgba(0,0,0,.28)}.search-field span{color:#756e65;font-size:10px;letter-spacing:.11em}.search-field input{font-size:15px}.search-button{border-radius:2px;background:#a96d3b;color:#fff}.search-button:hover{background:#8e572f}.trust-row{display:grid;grid-template-columns:repeat(3,max-content);gap:42px;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22)}.trust-row span{display:grid;gap:2px}.trust-row b{color:#fff;font-family:Georgia,serif;font-size:1.35rem;font-weight:500}.trust-row small{color:#aaaead;font-size:.64rem;text-transform:uppercase;letter-spacing:.11em}.site-main{background:#f3efe7}.site-footer{background:#141718}
@media(max-width:760px){.hero{min-height:760px}.hero-image{object-position:68% center}.hero-shade{background:linear-gradient(90deg,rgba(4,9,12,.96),rgba(4,9,12,.7)),linear-gradient(0deg,rgba(4,9,12,.94),transparent 68%)}.hero-inner{padding-block:92px 38px}.hero h1{font-size:clamp(54px,17vw,82px)}.hero-lede{font-size:16px}.trust-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.trust-row b{font-size:1rem}.trust-row small{font-size:.52rem}}

/* 1.2 premium responsive hero and navigation */
.hero-media{position:absolute;inset:0;z-index:-3;display:block;width:100%;height:100%}
.hero-media .hero-image{position:absolute;inset:0;z-index:auto;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(4,10,15,.82) 0%,rgba(4,10,15,.68) 32%,rgba(4,10,15,.1) 68%,transparent 100%),linear-gradient(0deg,rgba(4,10,15,.93) 0%,transparent 43%)}
.hero::after{display:none}
.hero h1{max-width:760px;font-size:clamp(60px,7vw,100px);line-height:.94;letter-spacing:-.055em}
.hero-lede{max-width:560px}
.directory-search{border-radius:10px;overflow:hidden}
.search-button{border-radius:7px}
.brand-image{background-size:455px auto}
@media(max-width:980px){
  .brand-image{background-size:375px auto}
  .site-navigation{z-index:120;max-height:calc(100dvh - 74px);overflow-y:auto;box-shadow:0 24px 35px rgba(8,18,24,.14)}
  .nav-toggle{position:relative;z-index:121;cursor:pointer}
}
@media(max-width:760px){
  .site-header .header-inner{min-height:72px;gap:10px}
  .brand-image{width:225px;max-width:calc(100vw - 112px);height:36px;background-size:292px auto}
  .nav-toggle{flex:0 0 44px;margin-left:auto}
  .hero{display:block;min-height:0;background:#071119}
  .hero-media .hero-image{object-position:center top}
  .hero-shade{background:linear-gradient(180deg,rgba(3,9,13,.02) 0%,rgba(3,9,13,.06) 27%,rgba(3,9,13,.66) 42%,#071119 68%,#071119 100%)}
  .hero-inner{padding-top:clamp(350px,96vw,430px);padding-bottom:44px}
  .hero .eyebrow{margin-bottom:16px;font-size:10px;letter-spacing:.12em}
  .hero .eyebrow span{width:24px;flex:0 0 24px}
  .hero h1{font-size:clamp(47px,13vw,67px);line-height:.98;letter-spacing:-.052em}
  .hero-lede{font-size:15px;line-height:1.55;margin:20px 0 25px}
  .directory-search{grid-template-columns:1fr;max-width:none;padding:6px;border-radius:10px}
  .search-field{min-height:68px;padding:6px 13px;border-right:0;border-bottom:1px solid #e2ddd5}
  .search-field input{min-height:32px;font-size:16px}
  .search-button{grid-column:auto;min-height:54px;margin-top:4px;width:100%}
  .trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:25px;padding-top:16px}
  .trust-row b{font-size:1.05rem}.trust-row small{font-size:.58rem;letter-spacing:.04em;line-height:1.25}
}
@media(max-width:380px){.brand-image{background-size:270px auto}.hero-inner{padding-top:330px}.hero h1{font-size:45px}.trust-row{gap:7px}.trust-row small{font-size:.52rem}}
.hero-location-row{display:flex;align-items:center;gap:14px;margin-top:13px;min-height:28px}.hero-location-button{border:0;background:none;padding:2px 0;color:#f1d7bd;font-size:13px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.hero-location-button span{font-size:18px;vertical-align:-1px;margin-right:5px}.hero-location-button:hover,.hero-location-button:focus-visible{color:#fff}.hero-location-button:disabled{opacity:.65;cursor:wait}.hero-location-status{margin:0;color:#fff;font-size:12px}.hero-location-status[hidden]{display:none}@media(max-width:760px){.hero-location-row{align-items:flex-start;flex-direction:column;gap:6px;margin-top:10px}.hero-location-button{font-size:14px;min-height:34px}}
@media(max-width:760px){.hero-media{height:330px;bottom:auto}.hero-media .hero-image{object-position:center 18%}.hero-shade{background:linear-gradient(180deg,rgba(3,9,13,.03) 0,rgba(3,9,13,.1) 160px,rgba(3,9,13,.72) 250px,#071119 330px,#071119 100%)}.hero-inner{padding-top:245px;padding-bottom:30px}.hero .eyebrow{margin-bottom:10px}.hero h1{font-size:clamp(43px,12vw,56px);line-height:.99}.hero-lede{font-size:14px;line-height:1.45;margin:12px 0 18px}.directory-search{padding:5px}.search-field{min-height:58px;padding:4px 10px}.search-field input{min-height:27px}.search-button{min-height:48px}.trust-row{margin-top:16px;padding-top:13px}.site-home .site-main{padding-top:24px}}
@media(max-width:380px){.hero-media{height:305px}.hero-shade{background:linear-gradient(180deg,transparent 0,rgba(3,9,13,.15) 140px,rgba(3,9,13,.8) 235px,#071119 305px,#071119 100%)}.hero-inner{padding-top:225px}.hero h1{font-size:43px}}

/* Homepage search: one clear task per control, with location permission attached to the location field. */
.directory-search{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto;gap:8px;align-items:stretch;overflow:visible}
.directory-search .search-field{min-width:0}
.search-location-group{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;align-items:stretch}
.directory-search .search-location{min-width:0;border:0}
.directory-search .search-location input{min-width:0;width:100%}
.directory-search .hero-location-button{align-self:stretch;min-height:54px;padding:0 11px;border:1px solid #c8c2b8;border-radius:3px;background:#f4f1eb;color:#272a29;font-size:.74rem}
.directory-search .hero-location-button span{color:#9a623b}
.directory-search .hero-location-button:hover,.directory-search .hero-location-button:focus-visible{border-color:#9a623b;background:#ebe4da;color:#171a1b}
.directory-search .search-button{min-height:54px;padding-inline:20px;white-space:nowrap}
.directory-search .hero-location-status{grid-column:1/-1;color:#52534f}
@media(max-width:980px){.directory-search{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.search-location-group,.directory-search .search-button{grid-column:1/-1}}
@media(max-width:760px){
 .directory-search{grid-template-columns:minmax(0,1fr);gap:7px;padding:8px;border-radius:4px}
 .directory-search .search-field{grid-column:auto;min-height:58px;padding:7px 10px}
 .search-location-group{grid-column:auto;grid-template-columns:minmax(0,1fr) auto;gap:6px}
 .directory-search .search-location{min-height:58px;padding:7px 10px}
 .directory-search .hero-location-button{min-height:58px;max-width:142px;padding:0 9px;font-size:.7rem;line-height:1.25;white-space:normal}
 .directory-search .search-button{grid-column:auto;width:100%;min-height:50px;margin:0;padding-inline:14px}
 .directory-search .hero-location-status{grid-column:auto;padding:4px 2px;color:#f1e7dc}
 .trust-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
 .trust-row b{font-size:.82rem}
 .trust-row small{font-size:.55rem;line-height:1.3}
 .site-header .header-inner{min-height:68px}
 .brand-image{max-width:calc(100vw - 94px)}
 .nav-toggle{min-width:44px;min-height:44px}
 .tl-directory .tl-company-card{grid-template-columns:minmax(0,1fr)}
 .tl-directory .tl-company-photo{height:clamp(150px,48vw,190px);min-height:0;margin:12px 0 0}
 .tl-directory .tl-company-photo img{height:100%;min-height:0}
 .tl-directory .tl-company-copy{min-width:0;padding:13px 0 17px}
 .tl-profile-actions .tl-btn,.tl-card-actions .tl-btn{min-height:44px}
 .tl-academy .tl-course-category__grid{grid-template-columns:minmax(0,1fr)}
 .tl-course .tl-course-layout{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){.directory-search .hero-location-button{max-width:118px;font-size:.66rem}.hero h1{font-size:41px}.trust-row small{font-size:.51rem}}

/* Mechanic Roster field-guide identity: clear controls, hard edges, utility first. */
:root{--paper:#f3efe7;--ink:#171a1b;--line:#d8d1c7;--copper:#b87843}
.site-header{background:#f8f5ef;backdrop-filter:none;border-bottom:1px solid #ddd6cc}
.site-header .header-inner{min-height:74px}
.hero{min-height:650px;background:#111718}
.hero-shade{background:linear-gradient(90deg,rgba(8,13,15,.98) 0%,rgba(8,13,15,.91) 38%,rgba(8,13,15,.22) 74%,rgba(8,13,15,.08) 100%),linear-gradient(0deg,rgba(8,13,15,.74),transparent 45%)}
.hero-inner{padding-block:108px 36px}
.hero h1{max-width:760px;font-family:Inter,Arial,sans-serif;font-size:clamp(52px,6.4vw,88px);font-weight:760;line-height:.94;letter-spacing:-.065em}
.hero-lede{max-width:540px;margin:20px 0 28px;font-size:16px;line-height:1.55;color:#d3d5d2}
.directory-search{max-width:910px;padding:5px;border:1px solid #e0ddd6;border-radius:4px;box-shadow:0 14px 36px rgba(0,0,0,.24)}
.search-field{padding:7px 15px}
.search-field input{font-size:14px}
.search-button{min-width:160px;border-radius:3px;background:#b87843}
.hero-location-row{margin-top:10px}
.hero-location-button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 13px;border:1px solid rgba(236,214,192,.6);border-radius:3px;background:rgba(13,19,20,.72);color:#f4dfcb;text-decoration:none}
.hero-location-button span{margin:0;font-size:17px}
.hero-location-button:hover,.hero-location-button:focus-visible{background:#f4dfcb;color:#171a1b}
.trust-row{gap:30px;margin-top:22px;padding-top:16px}
.trust-row b{font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:750;letter-spacing:-.02em}
.trust-row small{font-size:.62rem}
.site-home .site-main{padding-top:22px}
@media(max-width:760px){.hero{min-height:0}.hero-inner{padding-top:245px;padding-bottom:26px}.hero h1{font-size:clamp(42px,11vw,58px);line-height:.98}.hero-lede{font-size:14px;line-height:1.45;margin:12px 0 18px}.directory-search{border-radius:4px}.search-field{min-height:56px}.search-button{min-height:49px}.hero-location-row{align-items:flex-start;flex-direction:row;margin-top:10px}.hero-location-button{min-height:44px}.trust-row{gap:10px;margin-top:16px;padding-top:13px}.trust-row b{font-size:.9rem}.trust-row small{font-size:.56rem;letter-spacing:.035em}}

/* Keep both primary discovery actions in the hero search control. */
.directory-search{grid-template-columns:minmax(220px,1.1fr) minmax(185px,.9fr) auto auto;align-items:stretch}
.directory-search .hero-location-button{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 13px;border:1px solid rgba(236,214,192,.65);border-radius:3px;background:#171a1b;color:#f4dfcb;font:inherit;font-size:.76rem;font-weight:700;white-space:nowrap;cursor:pointer}
.directory-search .hero-location-button:hover,.directory-search .hero-location-button:focus-visible{background:#f4dfcb;color:#171a1b}
.directory-search .hero-location-status{grid-column:1/-1;margin:0;padding:2px 10px;color:#f1e7dc;font-size:.76rem;line-height:1.4}
.directory-search .hero-location-status[hidden]{display:none}
@media(max-width:980px){.directory-search{grid-template-columns:1fr 1fr}.directory-search .search-field{min-width:0}.directory-search .search-button,.directory-search .hero-location-button{min-height:48px}}
@media(max-width:760px){.directory-search{grid-template-columns:1fr 1fr;gap:5px;padding:6px}.directory-search .search-field{grid-column:1/-1;min-height:56px;padding:7px 10px}.directory-search .search-button,.directory-search .hero-location-button{min-width:0;min-height:48px;padding:7px 6px;font-size:.69rem;white-space:normal}.directory-search .hero-location-status{grid-column:1/-1}.trust-row{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Real handset layout: the template must use the device viewport, and search must not inherit tablet columns. */
@media(max-width:760px){
  .directory-search{grid-template-columns:minmax(0,1fr);gap:7px;padding:8px}
  .directory-search>.search-field,
  .directory-search>.search-location-group,
  .directory-search>.search-button{grid-column:1/-1;width:100%;min-width:0}
  .directory-search>.search-field{min-height:58px;padding:7px 10px}
  .directory-search .search-location-group{grid-template-columns:minmax(0,1fr) minmax(118px,auto);gap:6px;width:100%}
  .directory-search .search-location{min-width:0;min-height:58px;padding:7px 10px}
  .directory-search .hero-location-button{width:auto;min-width:118px;max-width:148px;min-height:58px;padding:7px 9px;line-height:1.2;white-space:normal}
  .directory-search .hero-location-button svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .directory-search>.search-button{min-height:50px;margin:0;padding-inline:14px}
}
@media(max-width:360px){
  .directory-search .search-location-group{grid-template-columns:minmax(0,1fr) minmax(108px,auto)}
  .directory-search .hero-location-button{min-width:108px;padding-inline:6px;font-size:.65rem}
}
.directory-search .hero-location-button>svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.directory-search .hero-location-button>span{margin:0;color:inherit;font-size:.76rem;font-weight:700;vertical-align:baseline}

/* Hero discovery panel: balanced search fields, one quiet location action, one unmistakable submit. */
.hero .hero-inner{width:min(1160px,calc(100% - 48px))}
.hero h1{max-width:730px;font-size:clamp(48px,6.3vw,82px);line-height:.99;letter-spacing:-.055em}
.hero-lede{max-width:560px;margin:18px 0 26px;font-size:16px;line-height:1.55}
.directory-search{grid-template-columns:minmax(0,1.1fr) minmax(310px,1.15fr) minmax(150px,auto);gap:9px;max-width:1000px;padding:9px;border-radius:4px;align-items:stretch}
.directory-search>.search-field{grid-column:auto;min-width:0;min-height:60px;padding:8px 12px;border:0;border-right:1px solid #e4ded5}
.directory-search .search-location-group{grid-column:auto;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;min-height:60px;align-items:stretch}
.directory-search .search-location{min-width:0;min-height:60px;padding:8px 12px;border:0}
.directory-search .hero-location-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:156px;min-height:60px;padding:8px 14px;border:1px solid #cfc7bd;border-radius:3px;background:#f4f1eb;color:#222827;font-size:.78rem;font-weight:750;white-space:nowrap}
.directory-search .hero-location-button>svg{stroke:#a66538}
.directory-search .hero-location-button:hover,.directory-search .hero-location-button:focus-visible{border-color:#9b5f37;background:#ebe3d9;color:#171a1b}
.directory-search .search-button{grid-column:auto;width:auto;min-width:150px;min-height:60px;margin:0;padding:10px 20px;border:0;border-radius:3px;background:#b87843;color:#fff;font-size:.9rem;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.directory-search .search-button:hover{background:#965b32}
.directory-search .hero-location-button:focus-visible,.directory-search .search-button:focus-visible{outline:3px solid #f0c69d;outline-offset:2px}
@media(max-width:980px) and (min-width:761px){
  .directory-search{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);max-width:100%}
  .directory-search>.search-field,.directory-search>.search-location-group{grid-column:auto}
  .directory-search>.search-button{grid-column:1/-1;width:100%}
}
@media(max-width:760px){
  .hero .hero-inner{width:calc(100% - 28px);padding-top:245px;padding-bottom:24px}
  .hero h1{max-width:540px;font-size:clamp(42px,11vw,56px);line-height:1.02;letter-spacing:-.05em}
  .hero-lede{max-width:36ch;margin:12px 0 18px;font-size:14px;line-height:1.45}
  .directory-search{grid-template-columns:minmax(0,1fr);gap:7px;padding:8px;border-radius:4px}
  .directory-search>.search-field,.directory-search>.search-location-group,.directory-search>.search-button{grid-column:1/-1;width:100%;min-width:0}
  .directory-search>.search-field{min-height:56px;padding:7px 10px;border:0;border-bottom:1px solid #e4ded5}
  .directory-search .search-location-group{grid-template-columns:minmax(0,1fr) 132px;gap:6px;min-height:56px}
  .directory-search .search-location{min-height:56px;padding:7px 10px}
  .directory-search .hero-location-button{width:100%;min-width:0;max-width:none;min-height:56px;padding:7px 8px;font-size:.72rem;white-space:normal}
  .directory-search .search-button{grid-column:1/-1;width:100%;min-width:0;min-height:54px;padding:12px 16px;font-size:.9rem}
}
@media(max-width:360px){
  .hero .hero-inner{width:calc(100% - 24px)}
  .directory-search .search-location-group{grid-template-columns:minmax(0,1fr) 122px}
  .directory-search .hero-location-button{font-size:.68rem}
}

/* Keep the mobile hero compact enough that the search actions appear without a long dead zone. */
@media(max-width:760px){
  .hero .hero-inner{padding-top:160px;padding-bottom:18px}
  .hero-media{height:270px}
  .hero-media .hero-image{object-position:center 20%}
  .hero-shade{background:linear-gradient(180deg,rgba(3,9,13,.02) 0%,rgba(3,9,13,.1) 38%,rgba(3,9,13,.72) 68%,#071119 100%)}
  .hero h1{font-size:clamp(40px,10.5vw,52px);line-height:1;letter-spacing:-.05em}
  .hero-lede{margin:10px 0 14px;font-size:14px;line-height:1.4}
  .directory-search{gap:5px;padding:6px}
  .directory-search>.search-field{min-height:50px;padding:4px 9px}
  .directory-search .search-location-group{min-height:50px;grid-template-columns:minmax(0,1fr) 128px;gap:5px}
  .directory-search .search-location{min-height:50px;padding:4px 9px}
  .directory-search .hero-location-button{min-height:50px;padding:5px 7px;font-size:.69rem}
  .directory-search .search-button{min-height:48px;padding:9px 12px}
  .trust-row{margin-top:12px;padding-top:10px}
}
@media(max-width:360px){
  .hero .hero-inner{padding-top:150px}
  .directory-search .search-location-group{grid-template-columns:minmax(0,1fr) 116px}
  .directory-search .hero-location-button{font-size:.65rem}
}

/* Keep the inputs together and present location + search as one deliberate action row. */
.directory-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.directory-search>.search-field{grid-column:auto;min-height:60px}
.directory-search .search-actions{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:stretch;gap:8px}
.directory-search .search-actions .hero-location-button,
.directory-search .search-actions .search-button{width:auto;min-width:176px;min-height:54px;margin:0}
.directory-search .search-actions .search-button{min-width:210px}
.brand-footer{filter:none;opacity:1;padding:0 8px;border-radius:3px;background:#f5f2eb}
.footer-brand .brand-image{width:300px;max-width:100%;height:48px;background-size:420px auto}
.footer-links h2{margin:4px 0 18px;color:#f5f2eb;font-size:.78rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.footer-links ul{margin:0;padding:0;list-style:none}
.footer-links li{margin:10px 0}
.footer-links a{color:#bdc1c0;font-size:.88rem;text-decoration:none}
.footer-links a:hover,.footer-links a:focus-visible{color:#f1c69e}
.footer-tools-cta{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:10px 12px;border:1px solid #805138;border-radius:3px;color:#f2d9c2!important;font-weight:700}
.footer-tools-cta span{font-size:1.1rem}
@media(max-width:980px) and (min-width:761px){
  .directory-search{grid-template-columns:repeat(2,minmax(0,1fr))}
  .directory-search .search-actions{grid-column:1/-1}
}
@media(max-width:760px){
  .directory-search{grid-template-columns:minmax(0,1fr);gap:6px}
  .directory-search>.search-field{grid-column:1/-1;min-height:52px;border-right:0;border-bottom:1px solid #e4ded5}
  .directory-search .search-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7px}
  .directory-search .search-actions .hero-location-button,
  .directory-search .search-actions .search-button{width:100%;min-width:0;min-height:50px;padding:8px 6px;font-size:.72rem;white-space:normal}
  .directory-search .hero-location-button{gap:6px}
  .directory-search .hero-location-button>svg{width:15px;height:15px;flex:0 0 15px}
  .footer-grid{align-items:start}
  .footer-brand{grid-column:1/-1}
  .footer-brand .brand-image{width:270px;height:44px;background-size:385px auto}
  .footer-links h2{margin-top:0;font-size:.7rem}
  .footer-tools-cta{margin-top:12px;font-size:.77rem}
}
@media(max-width:380px){.directory-search .search-actions{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.directory-search .search-actions .hero-location-button,.directory-search .search-actions .search-button{font-size:.68rem}}
.home-shop-owner-band{padding:56px 0;background:#eae7df;border-bottom:1px solid #d7d3ca}
.home-shop-owner-inner{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:18px;align-items:stretch}
.home-shop-owner-heading{padding:13px 20px 13px 0}
.home-shop-owner-heading>span{color:#8a5534;font-size:.68rem;font-weight:800;letter-spacing:.13em}
.home-shop-owner-heading h2{margin:12px 0;font-family:var(--font-display,inherit);font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.02;color:#17262a}
.home-shop-owner-heading p{max-width:34ch;color:#566164;font-size:.94rem;line-height:1.6}
.home-owner-card{display:flex;gap:14px;padding:23px;background:#f8f6f1;border:1px solid #d7d3ca}
.home-owner-mark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #b9a28d;color:#865636;font-size:.68rem;font-weight:800}
.home-owner-card h3{margin:1px 0 8px;color:#19292d;font-size:1.12rem}
.home-owner-card p{margin:0 0 15px;color:#596568;font-size:.85rem;line-height:1.55}
.home-owner-card a{display:inline-flex;gap:8px;align-items:center;color:#795033;font-size:.79rem;font-weight:800;text-decoration:none}
.home-owner-card a:hover{text-decoration:underline}
@media(max-width:760px){.home-shop-owner-band{padding:34px 0}.home-shop-owner-inner{grid-template-columns:1fr;gap:10px}.home-shop-owner-heading{padding:0 0 7px}.home-shop-owner-heading h2 br{display:none}.home-owner-card{padding:17px}}

/* 1.3.9 brand and mobile usability finish */
.brand-footer{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;filter:none!important;opacity:1}
.footer-brand .footer-wordmark{display:block;width:min(100%,330px);height:auto;max-height:58px;object-fit:contain;filter:brightness(0) invert(1);opacity:.94}
.footer-brand p{max-width:34ch;margin-top:15px;color:#a8afad}
.home-owner-mark{flex:0 0 38px;width:38px;height:38px;border-color:#c9b7a4;color:#805138}
.home-owner-mark svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.directory-search .search-actions{display:flex;grid-column:1/-1;align-items:stretch;justify-content:flex-end;gap:8px;min-width:0}
.directory-search .search-actions .hero-location-button,.directory-search .search-actions .search-button{width:auto;min-width:176px;min-height:54px;margin:0}
.directory-search .search-actions .search-button{min-width:210px}
.tl-results-trust-note{max-width:58ch;margin-top:6px!important;color:#6b706e!important;font-size:.77rem;line-height:1.45}
.tl-listing-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0 0 8px;padding:4px 8px;border:1px solid #d9d2c7;background:#f4f1eb;color:#625f59;font-size:.66rem;font-weight:750;line-height:1.2}
.tl-listing-status.is-verified{border-color:#c6d9cb;background:#edf4ee;color:#355b42}
.tl-photo-caption{position:absolute;right:9px;bottom:9px;padding:4px 7px;background:rgba(20,23,24,.8);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.01em}
.tl-company-photo{position:relative}
.tl-mobile-toggle{display:flex;width:max-content;max-width:100%;gap:3px;margin:0 0 14px;padding:4px;border:1px solid #d6d1c8;border-radius:3px;background:#eeeae2}
.tl-mobile-toggle button{min-width:88px;padding:9px 14px;border:0;border-radius:2px;background:transparent;color:#4b514f;font-size:.8rem;font-weight:750;cursor:pointer}
.tl-mobile-toggle button.is-active{background:#202626;color:#fff;box-shadow:none}
.tl-submit-page{background:#f3efe7!important;color:#202626!important}
.tl-submit-hero{padding:58px 0 64px!important;background:linear-gradient(112deg,rgba(17,22,23,.98) 0%,rgba(17,22,23,.92) 51%,rgba(17,22,23,.65) 100%)!important;color:#fff}
.tl-submit-hero__grid{grid-template-columns:minmax(0,1fr) minmax(280px,.82fr)!important;gap:clamp(28px,5vw,72px)!important}
.tl-submit-kicker{display:block;color:#d7a578;font-size:.69rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.tl-submit-hero h1{max-width:620px!important;margin:10px 0 18px!important;font-size:clamp(3rem,5.1vw,5.2rem)!important;line-height:.96!important;letter-spacing:-.06em!important}
.tl-submit-hero__copy>p{max-width:570px!important;color:#dedbd4!important;font-size:1.02rem!important;line-height:1.6!important}
.tl-submit-hero__visual{min-height:350px!important;border:0!important;border-radius:2px!important;box-shadow:0 22px 48px rgba(0,0,0,.24)!important;transform:none!important}
.tl-submit-hero__visual img{height:350px!important;object-position:68% center}
.tl-submit-hero__visual:after{background:linear-gradient(0deg,rgba(16,20,21,.72),transparent 46%)!important}
.tl-submit-hero__visual span{left:16px!important;bottom:15px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:#fff!important;font-size:.68rem!important;letter-spacing:.08em!important}
.tl-submit-hero__actions{gap:16px!important;margin-top:27px!important}
.tl-submit-hero__actions .tl-btn{min-height:50px;border-radius:2px!important;background:#a96d3b!important;color:#fff!important}
.tl-submit-hero__actions>a:not(.tl-btn){color:#eee5dc!important;border-bottom-color:#a96d3b!important}
.tl-submit-benefits{padding-top:54px!important}
.tl-submit-benefits>header{grid-template-columns:minmax(0,.9fr) minmax(260px,1.1fr)!important;gap:12px 48px!important;margin-bottom:26px!important}
.tl-submit-benefits h2{color:#202626!important;font-size:clamp(2rem,3.5vw,3rem)!important;letter-spacing:-.05em!important}
.tl-submit-benefits>header p{color:#626965!important;font-size:.91rem;line-height:1.65}
.tl-submit-benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;border-color:#d9d2c7!important}
.tl-submit-benefit-grid article{min-height:210px!important;padding:22px!important;border-color:#d9d2c7!important;background:#fbfaf6!important}
.tl-submit-benefit-grid__featured{background:#212626!important}
.tl-submit-benefit-grid h3{margin:21px 0 8px!important;color:#202626!important;font-size:1.1rem}
.tl-submit-benefit-grid p{color:#636864!important;font-size:.82rem!important}
.tl-submit-benefit-grid__featured h3{color:#f7f2e9!important}
.tl-submit-benefit-grid__featured p{color:#d6d7d1!important}
.tl-submit-benefit-icon{background:#efe4d7!important;color:#865a3b!important}
.tl-submit-placement{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;margin-top:16px!important;padding:27px!important;border:1px solid #d7d1c7!important;border-radius:2px!important;background:#ece8df!important}
.tl-submit-placement .tl-eyebrow{display:none}
.tl-submit-placement h3{color:#202626!important}
.tl-submit-placement p,.tl-submit-placement li span{color:#626965!important}
.tl-submit-placement ul{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tl-submit-placement li{border-left:2px solid #a96d3b!important;background:#f8f6f1!important}
.tl-submit-placement strong{color:#292f2e!important}
.tl-submit-body{gap:24px!important;padding-top:50px!important}
.tl-submit-aside{top:98px!important;border-radius:2px!important;background:#202626!important;box-shadow:none!important}
.tl-submit-aside .tl-eyebrow{display:none}
.tl-submit-aside h2{margin-top:0!important;font-size:1.6rem!important}
.tl-submit-aside ul{padding-left:18px!important}
.tl-submit-card{border:1px solid #d8d2c8!important;border-radius:2px!important;box-shadow:0 12px 32px rgba(25,29,28,.05)!important}
.tl-submit-card__head{background:#f8f6f1!important}
.tl-submit-card__head h2,.tl-submit-section legend{color:#202626!important}
.tl-submit-section legend small{color:#6f726d!important}
.tl-submit-form label{color:#373f3c!important}
.tl-submit-form input:not([type=checkbox]),.tl-submit-form textarea{border-radius:2px!important;border-color:#cbc6bd!important}
.tl-submit-form input:focus,.tl-submit-form textarea:focus{outline-color:rgba(169,109,59,.18)!important;border-color:#a96d3b!important}
.tl-submit-actions{background:#202626!important}
.tl-submit-actions .tl-btn{border-radius:2px!important;background:#a96d3b!important;color:#fff!important}
.tl-submit-toggle{border-radius:2px!important;border-color:#d4b993!important;background:#f7f0e6!important}
.tl-submit-signin h2{color:#202626!important}
.tl-submit-signin .tl-btn{border-radius:2px!important;background:#a96d3b!important;color:#fff!important}
@media(max-width:760px){
  .footer-brand .footer-wordmark{width:min(100%,290px);max-height:48px}
  .directory-search .search-actions{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);justify-content:stretch}
  .directory-search .search-actions .hero-location-button,.directory-search .search-actions .search-button{width:100%;min-width:0;min-height:50px;padding:8px 7px;font-size:.72rem;white-space:normal}
  .tl-directory .tl-results-map-grid{grid-template-columns:minmax(0,1fr)!important}
  .tl-directory .tl-mobile-toggle{display:flex}
  .tl-directory .tl-map-wrap{position:static}
  .tl-directory .tl-map{height:min(58vh,470px)}
  .tl-results-trust-note{font-size:.7rem}
  .tl-listing-status{font-size:.62rem}
  .tl-submit-hero{padding:40px 0 42px!important}
  .tl-submit-hero__grid{grid-template-columns:1fr!important;gap:24px!important}
  .tl-submit-hero h1{max-width:16ch!important;font-size:clamp(2.65rem,11vw,3.7rem)!important}
  .tl-submit-hero__copy>p{font-size:.94rem!important}
  .tl-submit-hero__actions{align-items:center!important;flex-direction:row!important;flex-wrap:wrap;gap:13px!important}
  .tl-submit-hero__actions .tl-btn{width:auto!important;flex:0 0 auto;padding-inline:16px}
  .tl-submit-hero__visual{min-height:220px!important}
  .tl-submit-hero__visual img{height:220px!important}
  .tl-submit-benefits{padding-top:36px!important}
  .tl-submit-benefits>header{grid-template-columns:1fr!important;gap:10px!important}
  .tl-submit-benefit-grid{grid-template-columns:1fr!important}
  .tl-submit-benefit-grid article{min-height:0!important;padding:18px!important}
  .tl-submit-benefit-grid h3{margin:14px 0 6px!important}
  .tl-submit-placement{grid-template-columns:1fr!important;padding:19px!important}
  .tl-submit-placement ul{grid-template-columns:1fr!important}
  .tl-submit-body{padding-top:30px!important}
  .tl-submit-aside{border-radius:0!important}
  .tl-submit-card{border-width:1px 0!important}
}
.directory-search .hero-location-button>svg{fill:currentColor;stroke:none}
.home-owner-mark img{display:block;width:24px;height:24px;object-fit:contain}
.home-owner-mark svg{fill:currentColor;stroke:none}
/* 1.3.12: keep both search actions on the same clean mobile row. */
@media(max-width:760px){
  .directory-search .search-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch}
  .directory-search .search-actions .hero-location-button,
  .directory-search .search-actions .search-button{grid-column:auto!important;width:100%;min-width:0;max-width:none;min-height:54px;margin:0;padding:8px 10px;white-space:normal;line-height:1.2}
  .directory-search .search-actions .hero-location-button{gap:7px}
  .directory-search .search-actions .search-button{justify-self:stretch}
}
@media(max-width:360px){
  .directory-search .search-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px}
  .directory-search .search-actions .hero-location-button,
  .directory-search .search-actions .search-button{font-size:.68rem;padding-inline:5px}
}
/* Account creation: keep Joomla's native form/validation, but give signup a clear, branded journey. */
.mr-registration-page{width:min(100% - 32px,760px);margin:clamp(32px,7vw,88px) auto;padding-bottom:clamp(32px,7vw,88px)}
.mr-registration-card{padding:clamp(24px,5vw,54px);border:1px solid #d8d2c8;background:#fbf9f4;box-shadow:0 18px 46px rgba(20,23,24,.08)}
.mr-registration-kicker{margin:0 0 12px;color:#9b6036;font-size:11px;font-weight:800;letter-spacing:.13em}
.mr-registration-card h1{max-width:620px;margin:0;color:#182125;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,5vw,52px);font-weight:500;line-height:1.04;letter-spacing:-.035em}
.mr-registration-lede{max-width:590px;margin:14px 0 24px;color:#596267;font-size:16px;line-height:1.6}
.mr-registration-context{display:grid;gap:4px;margin:20px 0 22px;padding:15px 17px;border-left:3px solid #a96d3b;background:#f1ece3;color:#39464b;line-height:1.5}
.mr-registration-context strong{color:#182125}
.mr-registration-next-step{display:flex;align-items:center;gap:13px;margin:20px 0 22px;padding:15px 17px;background:#fff;border:1px solid #e0dbd2}
.mr-registration-step-mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;background:#102536;color:#fff;font-family:Georgia,serif;font-size:15px}
.mr-registration-next-step p{display:grid;gap:3px;margin:0;color:#596267;font-size:13px;line-height:1.45}
.mr-registration-next-step strong{color:#1b282d;font-size:14px}
.mr-registration-google{display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:10px;min-height:52px;padding:0 16px;border:1px solid #c9c4bc;background:#fff;color:#17242a;text-decoration:none;font-weight:700}
.mr-registration-google:hover{border-color:#a96d3b;color:#17242a;background:#f8f4ee}
.mr-registration-google-mark{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:#f5f7f9;color:#0b1f33;font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;font-weight:950;line-height:1.55}
.mr-registration-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#77736c;font-size:12px}
.mr-registration-divider::before,.mr-registration-divider::after{content:"";height:1px;flex:1;background:#ded9d1}
.mr-registration-fields{display:grid;gap:15px}
.mr-registration-fields .control-group,.mr-registration-fields .form-group{display:grid;gap:6px;margin:0}
.mr-registration-fields label{color:#39464b;font-size:13px;font-weight:700}
.mr-registration-fields input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.mr-registration-fields select,.mr-registration-fields textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #c9c4bc;border-radius:2px;background:#fff;color:#17242a;font:inherit}
.mr-registration-fields input:focus,.mr-registration-fields select:focus,.mr-registration-fields textarea:focus{outline:2px solid rgba(169,109,59,.28);outline-offset:1px;border-color:#a96d3b}
.mr-registration-fields .form-text,.mr-registration-fields .form-control-feedback,.mr-registration-fields .text-muted{color:#6b706e;font-size:12px;line-height:1.45}
html.mr-registration-auto-username .mr-registration-username-fallback{display:none!important}
.mr-registration-password-note{margin:12px 0 18px;color:#686d6b;font-size:12px;line-height:1.5}
.mr-registration-submit{width:100%;min-height:52px;padding:13px 18px;border:0;border-radius:2px;background:#a96d3b;color:#fff;font-size:15px;font-weight:800;cursor:pointer}
.mr-registration-submit:hover{background:#8e572f}
.mr-registration-signin{margin:18px 0 0;color:#555f63;text-align:center;font-size:14px}
.mr-registration-signin a,.mr-registration-paths a span{color:#8d542e;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.mr-registration-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px;padding-top:20px;border-top:1px solid #ddd7cd}
.mr-registration-paths a{display:grid;gap:4px;padding:13px;border:1px solid #dfd9d0;background:#fff;color:#576166;text-decoration:none;font-size:12px}
.mr-registration-paths a span{font-size:13px}
@media(max-width:600px){.mr-registration-page{width:min(100% - 24px,760px);margin:20px auto 32px}.mr-registration-card{padding:22px 17px}.mr-registration-card h1{font-size:35px}.mr-registration-context{font-size:14px}.mr-registration-next-step{align-items:flex-start;padding:12px}.mr-registration-paths{grid-template-columns:1fr}.mr-registration-fields input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.mr-registration-fields select,.mr-registration-fields textarea{font-size:16px}}
