/* TLS flat site — page styles for Projects, market, coming-soon and search pages.
   Colours and fonts come from the Elementor kit (elementor-kit-11 / post-11.css). */
.elementor-location-header{position:relative;z-index:100;}
body.tls-flat .site-main,body.tls-flat:not([class*=elementor-page-]) .site-main{max-width:none;width:100%;padding:0;margin:0;}
.tls-flat .page-content{--tls-ink:#1c1a17;--tls-mute:#6b6253;--tls-soft:#8a7e6d;--tls-line:#e2d9c8;--tls-paper:#f7f4ef;--tls-cream:#f3ede1;--tls-tan:#d8cebc;--tls-accent:#8a6f4e;
  color:var(--tls-ink);font-family:var(--tls-sans);background:var(--tls-paper);}
.tls-flat .page-content a{color:inherit;text-decoration:none;}
.tls-flat .page-content a:hover{color:var(--tls-accent);}
.tls-eyebrow{display:block;margin:0;font-family:var(--tls-sans);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--tls-soft,#8a7e6d);}
.tls-display{font-family:"Playfair Display",serif !important;font-weight:400 !important;font-size:clamp(40px,5.2vw,72px) !important;line-height:1.04 !important;margin:16px 0 0 !important;color:#1c1a17;letter-spacing:-.01em;}
.tls-lede{font-size:17px;line-height:1.65;color:#54504a;max-width:560px;margin:20px 0 0;}
.tls-textlink{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6b6253;}
.tls-btn{display:inline-block;background:#1c1a17;color:#f3ede1 !important;border:1px solid #1c1a17;padding:15px 24px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:0;font-family:var(--tls-sans);}
.tls-btn:hover{background:#3a342b;color:#f3ede1 !important;}
.tls-btn--ghost{background:transparent;color:#1c1a17 !important;}
.tls-btn--ghost:hover{background:#1c1a17;color:#f3ede1 !important;}

/* ---------- Projects index (layout 1C) ---------- */
.tls-pi{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);max-width:1440px;margin:0 auto;min-height:900px;}
.tls-pi-index{padding:72px 40px;border-right:1px solid var(--tls-line);}
.tls-pi-list{list-style:none;margin:48px 0 0;padding:0;border-top:1px solid var(--tls-line);}
.tls-pi-list li{border-bottom:1px solid var(--tls-line);margin:0;}
.tls-pi-link{display:flex;align-items:baseline;gap:16px;padding:16px 0;color:var(--tls-soft) !important;transition:color .15s;}
.tls-pi-link.is-active,.tls-pi-link:hover,.tls-pi-link:focus-visible{color:var(--tls-ink) !important;}
.tls-pi-num{font-size:12px;font-weight:600;letter-spacing:.12em;width:24px;flex-shrink:0;color:var(--tls-soft);}
.tls-pi-name{font-family:"Playfair Display",serif;font-size:24px;line-height:1.2;flex:1;}
.tls-pi-count{font-size:12px;color:var(--tls-soft);font-variant-numeric:tabular-nums;}
.tls-pi-arrow{font-size:14px;opacity:0;transition:opacity .15s,transform .15s;}
.tls-pi-link.is-active .tls-pi-arrow,.tls-pi-link:hover .tls-pi-arrow{opacity:1;transform:translateX(2px);}
.tls-pi-preview{padding:72px 40px;position:relative;}
.tls-pi-panel{display:none;}
.tls-pi-panel.is-active{display:block;animation:tlsFade .35s ease;}
@keyframes tlsFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tls-pi-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;}
.tls-pi-card{display:block;}
.tls-pi-img{display:block;position:relative;overflow:hidden;background:var(--tls-tan);}
.tls-pi-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.tls-pi-card:hover .tls-pi-img img{transform:scale(1.03);}
.tls-pi-img--lg{height:clamp(300px,36vw,520px);}
.tls-pi-img--sm{height:clamp(180px,18vw,260px);}
.tls-pi-cap{display:flex;flex-direction:column;gap:2px;margin-top:12px;}
.tls-pi-cap strong{font-family:"Playfair Display",serif;font-weight:400;font-size:18px;color:var(--tls-ink);}
.tls-pi-cap span{font-size:13px;color:var(--tls-mute);}
.tls-pi-cap--lead{flex-direction:row;align-items:baseline;gap:10px;flex-wrap:wrap;margin:14px 0 32px;}
.tls-pi-cap--lead strong{font-size:22px;}
.tls-pi-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}

/* ---------- Market page ---------- */
.tls-mk-head{max-width:1440px;margin:0 auto;padding:48px 40px 56px;border-bottom:1px solid var(--tls-line);}
.tls-market .page-content{background:var(--tls-paper);}
.tls-market .tls-mk-head{max-width:none;padding-left:max(40px,calc((100% - 1360px)/2));padding-right:max(40px,calc((100% - 1360px)/2));}
.tls-crumbs{display:flex;gap:10px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tls-soft);}
.tls-crumbs [aria-current]{color:var(--tls-ink);}
.tls-mk-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1440px;margin:0 auto;padding:56px 40px 24px;align-items:start;}
.tls-mk-grid--single{grid-template-columns:minmax(0,900px);justify-content:center;}
.tls-mk-col{display:flex;flex-direction:column;gap:40px;}
.tls-mk-item{margin:0;scroll-margin-top:24px;}
.tls-mk-item a{display:block;overflow:hidden;background:var(--tls-tan);}
.tls-mk-item img{display:block;width:100%;height:auto;transition:transform .6s ease,opacity .3s;}
.tls-mk-item a:hover img{transform:scale(1.02);}
.tls-mk-item:target a{outline:2px solid var(--tls-accent);outline-offset:4px;}
.tls-mk-item figcaption{margin-top:14px;display:flex;flex-direction:column;gap:3px;}
.tls-mk-name{font-family:"Playfair Display",serif;font-size:20px;line-height:1.25;}
.tls-mk-sub{font-size:13px;color:var(--tls-mute);}
.tls-mk-more{max-width:1440px;margin:0 auto;padding:48px 40px 80px;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 28px;border-top:1px solid var(--tls-line);}
.tls-mk-more .tls-eyebrow{margin-right:6px;}
.tls-mk-more a{font-family:"Playfair Display",serif;font-size:22px;}

/* ---------- Lightbox ---------- */
.tls-lb{position:fixed;inset:0;z-index:9999;background:rgba(20,18,15,.94);display:none;align-items:center;justify-content:center;flex-direction:column;padding:56px 72px 32px;}
.tls-lb.is-open{display:flex;}
.tls-lb img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.tls-lb-cap{color:#f3ede1;text-align:center;margin-top:18px;font-family:"Playfair Display",serif;font-size:20px;}
.tls-lb-cap span{display:block;font-family:var(--tls-sans);font-size:13px;color:#b3a88f;margin-top:4px;}
.tls-lb button{position:absolute;background:none;border:1px solid rgba(243,237,225,.35);color:#f3ede1;width:48px;height:48px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;}
.tls-lb button:hover{background:#f3ede1;color:#1c1a17;}
.tls-lb-close{top:18px;right:18px;}
.tls-lb-prev{left:16px;top:50%;transform:translateY(-50%);}
.tls-lb-next{right:16px;top:50%;transform:translateY(-50%);}
.tls-lb-count{position:absolute;top:30px;left:24px;font-size:12px;letter-spacing:.16em;color:#b3a88f;font-family:var(--tls-sans);}
body.tls-lb-open{overflow:hidden;}

/* ---------- Coming soon ---------- */
.tls-cs{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr;gap:64px;padding:110px 40px 120px;align-items:center;min-height:62vh;}
.tls-cs-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;}
.tls-cs-side{display:flex;flex-direction:column;gap:24px;}
.tls-cs-card{background:#1c1a17;color:#cfc6b4;padding:36px 36px 30px;}
.tls-cs-card .tls-eyebrow{color:#b3a88f;}
.tls-cs-big{font-family:"Playfair Display",serif;font-size:28px;line-height:1.2;color:#f7f4ef;margin:12px 0 22px;}
.tls-cs-contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:15px;}
.tls-cs-contact li{display:flex;gap:16px;border-top:1px solid rgba(255,255,255,.12);padding-top:12px;margin:0;}
.tls-cs-contact span{width:52px;flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a3998a;padding-top:3px;}
.tls-flat .tls-cs-contact a{color:#f7f4ef;}
.tls-flat .tls-cs-contact a:hover{color:#c7b9a3;}
.tls-cs-list{background:var(--tls-cream);border:1px solid #ddd3c2;padding:28px 36px;}
.tls-cs-list ul{margin:14px 0 0;padding:0;list-style:none;columns:2;column-gap:24px;font-size:14px;line-height:2;color:#4a443a;}
.tls-cs-list li{margin:0;}

/* ---------- Search ---------- */
.tls-search{max-width:960px;margin:0 auto;padding:80px 40px 120px;min-height:60vh;}
.tls-search-form{display:flex;gap:12px;margin:32px 0 40px;}
.tls-search-form input{flex:1;border:1px solid #d3c8b5;background:#faf7f1;padding:14px 16px;font:inherit;font-size:16px;color:#1c1a17;border-radius:0;}
.tls-search-results{list-style:none;margin:0;padding:0;border-top:1px solid var(--tls-line);}
.tls-search-results li{border-bottom:1px solid var(--tls-line);margin:0;}
.tls-search-results a{display:flex;justify-content:space-between;gap:20px;padding:16px 0;}
.tls-search-results strong{font-family:"Playfair Display",serif;font-weight:400;font-size:20px;}
.tls-search-results span{font-size:13px;color:var(--tls-soft);white-space:nowrap;}
.tls-search-results .tls-empty{padding:18px 0;color:var(--tls-mute);}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .tls-pi{grid-template-columns:1fr;min-height:0;}
  .tls-pi-index{border-right:0;padding:56px 24px 24px;}
  .tls-pi-preview{display:none;}
  .tls-pi-link{color:var(--tls-ink) !important;}
  .tls-pi-arrow{opacity:1;}
  .tls-cs{grid-template-columns:1fr;gap:40px;padding:72px 24px 88px;}
  .tls-mk-head,.tls-market .tls-mk-head{padding:36px 24px 40px;}
  .tls-mk-grid{padding:40px 24px 16px;gap:24px;}
  .tls-mk-more{padding:40px 24px 64px;}
}
@media (max-width:767px){
  .tls-mk-grid{grid-template-columns:1fr;}
  .tls-mk-col{gap:32px;}
  .tls-pi-name{font-size:21px;}
  .tls-cs-list ul{columns:1;}
  .tls-search{padding:56px 20px 88px;}
  .tls-search-form{flex-direction:column;}
  .tls-lb{padding:64px 12px 24px;}
  .tls-lb-prev,.tls-lb-next{top:auto;bottom:18px;transform:none;}
}

/* ---------- About pages: Team, Our Story, NEWH Membership, Company Policy ---------- */
.tls-ab{background:#faf7f1;}
.tls-wrap{max-width:1180px;margin:0 auto;padding-left:32px;padding-right:32px;box-sizing:border-box;}
.tls-sec{padding-top:72px;}
.tls-sec--b{padding-bottom:72px;}
.tls-mt6{margin-top:6px !important;}
.tls-mt28{margin-top:28px;}
.tls-mt56{margin-top:56px;}
.tls-hero{background:#2b2722;color:#faf7f1;}
.tls-hero .tls-wrap{padding-top:56px;padding-bottom:48px;}
.tls-hero .tls-crumbs,.tls-split .tls-crumbs{color:#d9d1c1;}
.tls-hero .tls-crumbs [aria-current],.tls-split .tls-crumbs [aria-current]{color:#faf7f1;}
.tls-display--light{color:#faf7f1 !important;max-width:860px;}
.tls-hero-kicker{font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:20px 0 0 !important;color:#faf7f1;}
.tls-hero-lede{font-size:20px;line-height:1.5;margin:16px 0 0 !important;max-width:640px;color:#e9e2d2;}
.tls-hero-img{display:block;width:100%;height:auto;aspect-ratio:3/2;max-height:760px;object-fit:cover;}
.tls-h2{font-family:"Playfair Display",serif !important;font-weight:400 !important;font-size:clamp(28px,3vw,40px) !important;line-height:1.15 !important;margin:0 0 24px !important;color:inherit;}
.tls-label{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;}
.tls-cap{font-size:16px;line-height:1.5;margin:14px 0 0;color:#3d3830;}
.tls-ab p{margin:0;}
.tls-figrow{display:flex;flex-wrap:wrap;gap:28px;}
.tls-fig{flex:1 1 300px;margin:0;min-width:0;}
.tls-fig img{display:block;width:100%;height:var(--h,360px);object-fit:cover;}
.tls-wide{margin:40px 0 0;}
.tls-wide--first{margin:0 0 56px;}
.tls-wide img{display:block;width:100%;height:clamp(280px,46vw,600px);object-fit:cover;}
.tls-stats{display:flex;flex-wrap:wrap;gap:24px;margin-top:56px;}
.tls-stat{flex:1 1 300px;background:#f3ede1;border:1px solid #e7dfd0;padding:28px 32px;}
.tls-stat--dark{background:#1c1a17;border-color:#1c1a17;color:#faf7f1;}
.tls-stat-big{font-family:"Playfair Display",serif;font-size:72px;line-height:1;color:#5e574c;}
.tls-stat-big small{font-size:36px;}
.tls-stat--dark .tls-stat-big{color:#faf7f1;}
.tls-stat .tls-label{margin-top:12px;}
.tls-ab .tls-stat p{font-size:16px;line-height:1.5;margin-top:6px;color:#3d3830;}
.tls-ab .tls-stat--dark p{color:#d9d1c1;}
.tls-cols{display:flex;flex-wrap:wrap;gap:24px 48px;}
.tls-col{flex:1 1 280px;border-top:2px solid #1c1a17;padding-top:16px;}
.tls-ab .tls-col p{font-size:17px;line-height:1.55;margin-top:8px;color:#3d3830;}
.tls-band{background:#1c1a17;color:#faf7f1;padding:28px 32px;margin:0 0 56px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;}
.tls-band .tls-eyebrow{color:#d9d1c1;}
.tls-band .tls-h2{margin:4px 0 0 !important;font-size:32px !important;}
.tls-band-items{flex:1 1 420px;display:flex;flex-wrap:wrap;gap:16px 32px;}
.tls-band-items>div{flex:1 1 140px;}
.tls-ab .tls-band-items p{font-size:14px;line-height:1.4;margin-top:2px;color:#d9d1c1;}
.tls-people{display:flex;flex-wrap:wrap;gap:28px;}
.tls-person{flex:1 1 180px;min-width:0;}
.tls-person img{display:block;width:100%;height:280px;object-fit:cover;}
.tls-person-name{font-family:"Playfair Display",serif;font-size:24px;line-height:1.2;margin-top:14px;}
.tls-person-role{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#5e574c;margin-top:4px;line-height:1.4;}
.tls-ab .tls-join{font-size:17px;line-height:1.6;margin-top:56px;}
.tls-flat .page-content .tls-join a,.tls-flat .page-content .tls-cap a{text-decoration:underline;text-underline-offset:3px;}
.tls-facts{display:flex;flex-wrap:wrap;gap:28px 64px;}
.tls-fv{font-family:"Playfair Display",serif;font-size:40px;line-height:1.1;}
.tls-fl{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#5e574c;margin-top:6px;line-height:1.4;}
.tls-lightcap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-top:18px;}
.tls-lightcap .tls-fl{margin-top:0;}
.tls-lightcap .tls-cap{margin:0;flex-basis:100%;}
.tls-story{display:flex;flex-wrap:wrap;gap:40px 64px;border-top:1px solid #e7dfd0;padding-top:56px;}
.tls-story-main{flex:1 1 480px;min-width:0;}
.tls-ab .tls-story-main>p{font-size:18px;line-height:1.65;margin:0 0 18px;color:#3d3830;}
.tls-story-fig{margin:0 0 24px;}
.tls-story-fig img{display:block;width:100%;height:auto;}
.tls-sign{margin-top:24px;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;}
.tls-sign span{display:block;color:#5e574c;margin-top:2px;}
.tls-story-side{flex:1 1 340px;min-width:0;}
.tls-milestones{list-style:none;margin:0;padding:0;}
.tls-milestones li{border-bottom:1px solid #e7dfd0;padding-bottom:16px;margin:0;}
.tls-milestones li:last-child{border-bottom:0;}
.tls-milestones .tls-cap{margin-top:10px;}
.tls-yr{font-family:"Playfair Display",serif;font-size:32px;line-height:1.1;margin-top:16px;}
.tls-note{margin-top:24px;background:#f3ede1;border:1px solid #e7dfd0;padding:24px 28px;}
.tls-ab .tls-note p{font-size:16px;line-height:1.55;margin-top:10px;color:#3d3830;}
.tls-split{background:#2b2722;display:flex;flex-wrap:wrap;}
.tls-split-img{flex:1 1 460px;min-width:0;margin:0;}
.tls-split-img img{display:block;width:100%;height:100%;max-height:900px;object-fit:cover;}
.tls-split-text{flex:1 1 480px;min-width:0;padding:56px 48px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;color:#faf7f1;}
.tls-newh-badge{display:block;margin-top:28px;width:260px;height:auto;background:#fff;border-radius:2px;}
.tls-feature{display:flex;flex-wrap:wrap;background:#1c1a17;color:#faf7f1;}
.tls-feature-img{flex:1 1 380px;min-width:0;min-height:440px;width:100%;object-fit:cover;display:block;}
.tls-feature-text{flex:1 1 380px;padding:48px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;}
.tls-feature-text .tls-eyebrow{color:#d9d1c1;}
.tls-feature-text .tls-h2{margin:12px 0 16px !important;}
.tls-ab .tls-feature-text>p{font-size:17px;line-height:1.6;margin:0 0 24px;color:#e9e2d2;}
.tls-quote{margin:0 0 28px;padding:0 0 0 20px;border-left:2px solid #5e574c;}
.tls-ab .tls-quote p{font-family:"Playfair Display",serif;font-size:19px;line-height:1.5;margin:0 0 12px;color:#faf7f1;}
.tls-quote cite{font-style:normal;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#d9d1c1;}
.tls-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;}
.tls-textlink--light{color:#faf7f1 !important;}
.tls-show{display:flex;flex-wrap:wrap;gap:40px 48px;align-items:center;}
.tls-show-img{flex:0 1 380px;margin:0;min-width:0;}
.tls-show-img img{display:block;width:100%;height:auto;}
.tls-show-facts{flex:1 1 260px;min-width:0;display:flex;flex-wrap:wrap;gap:28px 32px;}
.tls-show-facts>div{flex:1 1 200px;}
.tls-tiles{display:flex;flex-wrap:wrap;gap:20px;}
.tls-tile{flex:1 1 240px;background:#f3ede1;border:1px solid #e7dfd0;padding:28px;box-sizing:border-box;}
.tls-tile .tls-fv{font-size:36px;}
.tls-tile .tls-fl{margin-top:8px;}
.tls-row{display:flex;flex-wrap:wrap;gap:6px 32px;padding:20px 0;border-top:1px solid #e7dfd0;font-size:17px;line-height:1.55;}
.tls-row:last-child{border-bottom:1px solid #e7dfd0;}
.tls-rk{flex:0 0 200px;font-weight:600;}
.tls-rv{flex:1 1 360px;min-width:0;color:#3d3830;}
.tls-rv ul{margin:0;padding:0;list-style:none;}
.tls-pack{display:flex;flex-wrap:wrap;gap:28px 40px;align-items:center;margin-top:48px;background:#f3ede1;border:1px solid #e7dfd0;}
.tls-pack-img{flex:1 1 480px;min-width:0;display:block;height:520px;width:100%;object-fit:cover;}
.tls-pack-text{flex:1 1 300px;min-width:0;padding:28px 32px;}
.tls-pack-text .tls-h2{margin:8px 0 12px !important;font-size:32px !important;}
.tls-ab .tls-pack-text p{font-size:17px;line-height:1.55;color:#3d3830;}
.tls-ab .tls-pack-text p+p{margin-top:12px;}
.tls-cta{background:#1c1a17;color:#faf7f1;}
.tls-cta-in{padding-top:64px;padding-bottom:64px;display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;}
.tls-cta .tls-h2{margin:0 0 14px !important;}
.tls-cta-tag{display:block;width:260px;max-width:100%;height:auto;}
.tls-btn--light{background:#faf7f1;color:#1c1a17 !important;border-color:#faf7f1;}
.tls-btn--light:hover{background:#e9e2d2;border-color:#e9e2d2;color:#1c1a17 !important;}

/* ---------- Contact page: photo in place of the form ---------- */
.tls-contact-fig{margin:24px 0 0;}
.tls-contact-fig img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.tls-contact-fig figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:#6b6253;}
.tls-contact-fig figcaption strong{font-weight:600;color:#1c1a17;}
.tls-newh-link{display:inline-block;}

@media (max-width:767px){
  .tls-wrap{padding-left:20px;padding-right:20px;}
  .tls-sec{padding-top:48px;}
  .tls-sec--b{padding-bottom:48px;}
  .tls-hero .tls-wrap{padding-top:40px;padding-bottom:36px;}
  .tls-hero-lede{font-size:18px;}
  .tls-stat-big{font-size:56px;}
  .tls-stat-big small{font-size:28px;}
  .tls-fig img{height:300px;}
  .tls-split-text,.tls-feature-text{padding:36px 20px;}
  .tls-feature-img{min-height:360px;}
  .tls-rk{flex-basis:100%;}
  .tls-pack-img{height:380px;}
  .tls-band{padding:24px 20px;}
  .tls-stat{padding:24px 20px;}
  .tls-split-img img{max-height:520px;}
}

/* ---------- Home: slider + project cards link to their market page ---------- */
.home .swiper-slide{position:relative;}
.tls-slide-link{position:absolute;inset:0;z-index:3;display:block;cursor:pointer;}
.tls-slide-link:focus-visible{outline:3px solid #f3ede1;outline-offset:-6px;}
.tls-card-link{display:block;overflow:hidden;}
.tls-card-link img{display:block;transition:transform .6s ease;}
.tls-card-link:hover img{transform:scale(1.03);}

/* ---------- Home: The Collection (no links during the soft launch) ---------- */
.tls-collection a:not([href]){cursor:default;}
.tls-collection a:not([href]):hover{color:inherit;}

/* ---------- Green Philosophy, CNC Wood Services, Testimonials ---------- */
.tls-hero-fig{margin:0;}
.tls-hero-img--wide{aspect-ratio:16/9;max-height:720px;}
.tls-hero-fig figcaption{padding:14px 0;font-size:14px;line-height:1.5;color:#d9d1c1;}
.tls-figrow--4 .tls-fig{flex:1 1 240px;}
.tls-pair{display:flex;gap:6px;height:300px;}
.tls-pair img{display:block;flex:1 1 0;min-width:0;width:100%;height:100%;object-fit:cover;}
.tls-facts--ruled{margin-top:64px;padding:36px 0;border-top:1px solid #e7dfd0;border-bottom:1px solid #e7dfd0;}
.tls-router{margin:0 auto 48px;max-width:760px;}
.tls-router img{display:block;width:100%;height:auto;}
.tls-fig--contain img{object-fit:contain;background:#f3ede1;}
.tls-ab .tls-cta-note{font-size:17px;line-height:1.6;margin:0 0 14px;color:#d9d1c1;}
.tls-flat .page-content .tls-cta-note a{color:#faf7f1;text-decoration:underline;text-underline-offset:3px;}
.tls-quotes{display:flex;flex-direction:column;gap:56px;}
.tls-tq{display:flex;flex-wrap:wrap;gap:40px;align-items:center;}
.tls-tq--flip{flex-direction:row-reverse;}
.tls-tq-img{display:block;flex:1 1 420px;min-width:0;width:100%;height:440px;object-fit:cover;}
.tls-tq-text{flex:1 1 420px;margin:0;padding:0;border:0;}
.tls-ab .tls-tq-text p{font-family:"Playfair Display",serif;font-size:clamp(22px,2.4vw,30px);line-height:1.3;margin:0 0 20px;color:#1c1a17;}
.tls-tq-text cite{display:block;font-style:normal;font-size:15px;line-height:1.5;color:#3d3830;}
.tls-tq-text cite strong{display:block;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#1c1a17;}

/* ---------- Back-to-top button (every page) ---------- */
.tls-totop{position:fixed;right:24px;bottom:24px;z-index:9999;width:48px;height:48px;padding:0;border:1px solid #1c1a17;border-radius:50%;
  background:#1c1a17;color:#f3ede1;display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 6px 18px rgba(28,26,23,.22);opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s,background-color .15s;}
.tls-totop.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease,visibility 0s,background-color .15s;}
.tls-totop:hover{background:#3a342b;}
.tls-totop:focus-visible{outline:3px solid #8a6f4e;outline-offset:3px;}
.tls-totop[hidden]{display:none;}
body.tls-lb-open .tls-totop{display:none;}
@media (prefers-reduced-motion:reduce){.tls-totop,.tls-totop.is-visible{transition:none;}}

@media (max-width:767px){
  .tls-tq,.tls-tq--flip{flex-direction:column;gap:24px;}
  .tls-tq-img{flex:none;height:300px;}
  .tls-tq-text{flex:none;}
  .tls-pair{height:260px;}
  .tls-totop{right:16px;bottom:16px;width:44px;height:44px;}
}

/* ---------- Projects page on phones/tablets: one photo card per market ---------- */
.tls-pi-mcards{display:none;}
@media (max-width:1024px){
  .tls-pi-list{display:none;}
  .tls-pi-mcards{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px;list-style:none;margin:36px 0 24px;padding:0;}
  .tls-pi-mcards li{margin:0;}
  .tls-pi-mcard{display:block;}
  .tls-pi-mcard-img{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--tls-tan,#d8cebc);}
  .tls-pi-mcard-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
  .tls-pi-mcard-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px;}
  .tls-pi-mcard-name{font-family:"Playfair Display",serif;font-size:22px;line-height:1.2;color:var(--tls-ink,#1c1a17);}
  .tls-pi-mcard-count{flex-shrink:0;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tls-soft,#8a7e6d);}
}
@media (max-width:600px){
  .tls-pi-mcards{grid-template-columns:1fr;gap:32px;}
}

/* ---------- Mobile (hamburger) menu ---------- */
@media (max-width:1200px){
  /* landing page first in each submenu: All Projects, Our Story */
  .e-n-menu .elementor-icon-list-items{display:flex;flex-direction:column;gap:9px;}
  .e-n-menu .elementor-icon-list-items>.elementor-icon-list-item{margin-top:0 !important;padding-top:0 !important;padding-bottom:0 !important;}
  .e-n-menu .elementor-icon-list-items .tls-menu-landing{order:-1;}
}
/* Contact Us menu item only where the header Contact Us button is hidden (phones) */
@media (min-width:768px){
  .e-n-menu .e-n-menu-item.tls-menu-contact{display:none !important;}
}

/* ---------- Market page: three highlight projects first ---------- */
.tls-hl{max-width:1440px;margin:0 auto;padding:56px 40px 16px;box-sizing:border-box;}
.tls-hl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:20px;}
.tls-hl-item{margin:0;scroll-margin-top:24px;}
.tls-hl-item a{display:block;}
.tls-hl-img{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--tls-tan,#d8cebc);}
.tls-hl-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.tls-hl-item a:hover .tls-hl-img img{transform:scale(1.03);}
.tls-hl-item:target .tls-hl-img{outline:2px solid var(--tls-accent,#8a6f4e);outline-offset:4px;}
.tls-hl-item figcaption{display:flex;flex-direction:column;gap:2px;margin-top:14px;}
.tls-hl-num{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--tls-soft,#8a7e6d);margin-bottom:4px;}
.tls-hl-item .tls-mk-name{font-size:22px;}
.tls-mk-rest{max-width:1440px;margin:48px auto 0 !important;padding:40px 40px 0;box-sizing:border-box;border-top:1px solid var(--tls-line,#e2d9c8);}
.tls-mk-rest + .tls-mk-grid{padding-top:20px;}
@media (max-width:1024px){
  .tls-hl{padding:40px 24px 8px;}
  .tls-hl-grid{gap:20px;}
  .tls-mk-rest{padding:32px 24px 0;margin-top:32px !important;}
}
@media (max-width:767px){
  .tls-hl-grid{grid-template-columns:1fr;gap:36px;}
  .tls-hl-item .tls-mk-name{font-size:20px;}
}

/* ---------- SEO headings that keep the eyebrow look; market intro ---------- */
body.tls-flat h2.tls-h2-eyebrow{font-family:var(--tls-sans) !important;font-size:12px !important;font-weight:600 !important;line-height:1.4 !important;letter-spacing:.18em !important;text-transform:uppercase !important;color:var(--tls-soft,#8a7e6d) !important;margin:0 !important;}
body.tls-flat h2.tls-h2-eyebrow.tls-mk-rest{margin:48px auto 0 !important;}
.tls-mk-intro{max-width:780px;}
@media (max-width:1024px){body.tls-flat h2.tls-h2-eyebrow.tls-mk-rest{margin-top:32px !important;}}
