/* TSM 1.2.0 - one layout/typography system. No page-builder framework dependency. */
:root {
  --tsm-ink:#151515; --tsm-cream:#fbf6e9; --tsm-cream-2:#fbefc5;
  --tsm-paper:#fffdf8; --tsm-gold:#a66a14; --tsm-gold-2:#dab45d;
  --tsm-line:#e6dfd1; --tsm-muted:#605b52; --tsm-radius:20px;
  --tsm-width:1280px; --tsm-gutter:48px; --tsm-section-space:88px;
  --tsm-body:18px; --tsm-card-heading:26px;
  --tsm-display-font:'DM Serif Display',Georgia,serif;
  --tsm-body-font:'Manrope',Arial,sans-serif;
  --tsm-shadow:0 18px 48px rgb(41 32 17 / 7%);
}
/* Only TSM widget wrappers are standardised. Other Elementor widgets are untouched. */
.elementor-widget[class*="elementor-widget-tsm-"] {
  width:100%; max-width:100%; min-width:0; margin-block-end:0;
  --widgets-spacing:0; --kit-widget-spacing:0;
}
.elementor-widget[class*="elementor-widget-tsm-"] > .elementor-widget-container { margin:0; }
.tsm-layout-container.e-con,
.tsm-layout-container.elementor-section {
  --content-width:100%; --container-max-width:100%; --container-default-padding-top:0px;
  --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px;
  --gap:0px; --row-gap:0px; --column-gap:0px; --widgets-spacing:0px;
  width:100%!important; max-width:100%!important; margin:0!important; padding:0!important;
  gap:0!important; min-height:0;
}
.tsm-layout-container.e-con > .e-con-inner,
.tsm-layout-container.elementor-section > .elementor-container {
  width:100%!important; max-width:100%!important; padding:0!important; margin:0!important; gap:0!important;
}
.tsm-layout-container.elementor-column > .elementor-widget-wrap {
  padding:0!important; gap:0!important;
}
.elementor-widget-tsm-pricing:has(.tsm-pricing-disabled) { display:none!important; }
.tsm-layout-container:has(.tsm-pricing-disabled):not(:has(.tsm-section,.tsm-header-wrap,.tsm-stats)) { display:none!important; }
.tsm-section,.tsm-header-wrap,.tsm-stats,.tsm-editor-note {
  box-sizing:border-box; color:var(--tsm-ink); font-family:var(--tsm-body-font);
  font-size:var(--tsm-body); line-height:1.65; -webkit-font-smoothing:antialiased;
}
.tsm-section *,.tsm-header-wrap *,.tsm-stats * { box-sizing:border-box; }
.tsm-section :is(h1,h2,h3,h4,p,ul),.tsm-header-wrap :is(p,ul) { margin-top:0; }
.tsm-section :is(h1,h2,h3,h4) { color:inherit; font-style:normal; text-transform:none; }
.tsm-section img,.tsm-header-wrap img { display:block; max-width:100%; height:auto; }
.tsm-section a,.tsm-header-wrap a { color:inherit; text-decoration:none; }
.tsm-section :is(a,button,input,textarea,select):focus-visible,
.tsm-header-wrap :is(a,button):focus-visible { outline:3px solid var(--tsm-gold); outline-offset:4px; }
.tsm-section { padding:var(--tsm-section-space) 0; position:relative; width:100%; scroll-margin-top:104px; }
.tsm-shell { width:calc(100% - var(--tsm-gutter)*2); max-width:var(--tsm-width); margin-inline:auto; min-width:0; }
.tsm-kicker { color:var(--tsm-gold); font-size:13px; font-weight:800; letter-spacing:.15em; line-height:1.5; margin-bottom:16px; }
.tsm-section h2,.tsm-section .tsm-display {
  font-family:var(--tsm-display-font); font-weight:400; letter-spacing:-.028em;
  line-height:1.1; margin:0; text-wrap:balance;
}
.tsm-section h2 { font-size:clamp(38px,4.05vw,56px); max-width:850px; }
.tsm-section h3,.tsm-section h4 { font-family:var(--tsm-body-font); font-weight:700; letter-spacing:-.025em; line-height:1.3; }
.tsm-section h3 { font-size:var(--tsm-card-heading); }
.tsm-section p { color:var(--tsm-muted); font-size:var(--tsm-body); line-height:1.7; }
.tsm-section-head { margin-bottom:42px; }
.tsm-section-head--split { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:64px; align-items:end; }
.tsm-section-head--split > p { font-size:19px; line-height:1.65; margin:0 0 3px; max-width:460px; }
.tsm-section-head--row { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; }
.tsm-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.tsm-btn {
  display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:54px;
  padding:14px 25px; border:1px solid transparent; border-radius:999px;
  font:700 16px/1.35 var(--tsm-body-font); text-decoration:none!important;
  cursor:pointer; transition:background .2s ease,transform .2s ease,border-color .2s ease;
  text-align:center; max-width:100%; white-space:normal;
}
.tsm-btn span { display:inline-block; transition:transform .2s ease; }
.tsm-btn:hover { transform:translateY(-2px); }
.tsm-btn:hover span { transform:translateX(3px); }
.tsm-btn--dark { background:#111; color:#fff!important; border-color:#111; }
.tsm-btn--dark:hover { background:#29251d; border-color:var(--tsm-gold); }
.tsm-btn--ghost { background:transparent; border-color:#c9c1b1; color:var(--tsm-ink)!important; }
.tsm-btn--gold { background:var(--tsm-gold-2); color:#16130d!important; border-color:var(--tsm-gold-2); }
.tsm-btn--outline-light { background:transparent; color:#fff!important; border-color:#757168; }
.tsm-btn--block { width:100%; }
.tsm-btn:disabled { opacity:.6; cursor:wait; transform:none; }
.tsm-wordmark { font-family:var(--tsm-display-font); font-size:27px; line-height:1.15; }
.tsm-wordmark--light { color:#fff; }
/* Header */
.tsm-header-wrap { width:100%; background:var(--tsm-cream); border-bottom:1px solid var(--tsm-line); position:relative; z-index:20; }
.tsm-header-wrap--sticky { position:sticky; top:0; }
.tsm-header { display:grid; grid-template-columns:180px minmax(0,1fr) auto; align-items:center; gap:28px; padding-block:20px; }
.tsm-header__logo { display:flex; align-items:center; width:160px; height:64px; max-width:100%; overflow:hidden; }
.tsm-header__logo img { width:100%; height:100%; object-fit:cover; object-position:center 57%; max-width:none; }
.tsm-header__nav { display:flex; align-items:center; justify-content:center; gap:24px; }
.tsm-header__nav a { font:600 15px/1.4 var(--tsm-body-font); position:relative; padding:8px 0; }
.tsm-header__nav a::after { content:''; height:1px; position:absolute; bottom:2px; left:0; right:100%; background:var(--tsm-gold); transition:right .2s; }
.tsm-header__nav a:hover::after { right:0; }
.tsm-header__cta { font-size:15px; }
.tsm-header__toggle { display:none!important; padding:10px!important; margin:0; border:1px solid var(--tsm-line)!important; border-radius:10px; background:transparent!important; width:46px; height:46px; cursor:pointer; }
.tsm-header__toggle span { display:block; height:2px; width:24px; background:var(--tsm-ink); margin:6px 0; }
/* Hero */
.tsm-hero { padding:64px 0 0; background:var(--tsm-cream); overflow:hidden; }
.tsm-hero__grid { display:grid; grid-template-columns:minmax(0,1.26fr) minmax(0,1fr); align-items:center; gap:56px; }
.tsm-section .tsm-display { font-size:clamp(46px,5.1vw,74px); line-height:1.07; text-wrap:initial; }
.tsm-hero__accent { font-weight:400; font-style:italic; color:var(--tsm-gold); font-size:.87em; }
.tsm-section .tsm-lede { margin:26px 0 28px; max-width:650px; font-size:19px; line-height:1.7; }
.tsm-hero__trust { display:flex; align-items:center; gap:10px; margin-top:24px; color:var(--tsm-muted); font-size:14px; }
.tsm-trust-mark { width:25px; height:25px; border:1px solid #d6bc84; border-radius:50%; display:grid; place-items:center; flex-shrink:0; color:var(--tsm-gold); }
.tsm-hero__visual { position:relative; min-width:0; min-height:500px; display:flex; align-items:center; padding:48px 0; }
.tsm-hero__blob { position:absolute; inset:2% -3% 0 3%; background:#eee1be; border-radius:48% 48% 45% 53%; transform:rotate(9deg); }
.tsm-hero__visual::before { content:''; position:absolute; inset:12% 3% 3% -1%; border:1px solid #cfb984; border-radius:48%; transform:rotate(-17deg); }
.tsm-proof-stack { position:relative; width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; z-index:2; }
.tsm-proof-card { display:flex; flex-direction:column; min-width:0; background:var(--tsm-paper); border:1px solid var(--tsm-line); padding:26px 23px; border-radius:22px; box-shadow:var(--tsm-shadow); animation:tsm-float 7s ease-in-out infinite; }
.tsm-proof-card--two { margin-top:50px; animation-delay:-3s; }
.tsm-proof-card--three { grid-column:1/-1; margin:0 46px; animation-delay:-5s; }
.tsm-proof-card > span { font-size:12px; font-weight:800; letter-spacing:.1em; line-height:1.5; text-transform:uppercase; color:var(--tsm-muted); }
.tsm-proof-card strong { font-family:var(--tsm-display-font); font-weight:400; font-size:48px; line-height:1.2; letter-spacing:-.025em; margin:14px 0 8px; }
.tsm-proof-card small { font-size:15px; line-height:1.5; color:var(--tsm-muted); }
.tsm-proof-card--three strong { margin:10px 0 4px; }
.tsm-hero__image { position:relative; z-index:2; width:100%; max-height:560px; object-fit:contain; }
.tsm-handnote { position:absolute; z-index:3; font:italic 20px/1.05 var(--tsm-display-font); color:#80602d; transform:rotate(-8deg); }
.tsm-hero .tsm-handnote { left:-12px; bottom:36px; display:none; }
.tsm-sidewords { position:absolute; right:8px; top:-15px; font-size:10px; font-weight:800; letter-spacing:.2em; line-height:2.6; color:#766448; }
@keyframes tsm-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
.tsm-marquee { overflow:hidden; border-block:1px solid var(--tsm-line); margin-top:54px; padding:18px 0; }
.tsm-marquee__track { display:flex; width:max-content; animation:tsm-marquee 36s linear infinite; }
.tsm-marquee:hover .tsm-marquee__track { animation-play-state:paused; }
.tsm-marquee span { display:flex; gap:32px; align-items:center; padding-inline:16px; font-size:13px; font-weight:800; letter-spacing:.12em; white-space:nowrap; }
.tsm-marquee b { color:var(--tsm-gold); }
@keyframes tsm-marquee { to { transform:translateX(-50%); } }
/* Proof strip */
.tsm-stats { background:var(--tsm-cream-2); border-bottom:1px solid var(--tsm-line); }
.tsm-stats__grid { display:grid; grid-template-columns:repeat(var(--tsm-stat-count,4),minmax(0,1fr)); }
.tsm-stat { padding:30px 18px; min-width:0; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid #e1d4b0; }
.tsm-stat:last-child { border-right:0; }
.tsm-stat strong { font-family:var(--tsm-display-font); font-size:clamp(32px,3.4vw,46px); font-weight:400; letter-spacing:-.025em; line-height:1.15; white-space:normal; }
.tsm-stat span { font-size:14px; font-weight:600; line-height:1.5; margin-top:9px; color:#605338; }
/* Framework: subgrid shares the title/description baselines between the four steps. */
.tsm-framework { background:var(--tsm-paper); }
.tsm-framework__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 26px; border-top:1px solid var(--tsm-line); padding-top:34px; }
.tsm-step { display:flex; flex-direction:column; min-width:0; margin:0; padding:0; }
.tsm-step__top { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:23px; }
.tsm-step__icon,.tsm-service-card__icon { color:var(--tsm-gold); background:#fbefcf; border:1px solid #ead5a8; width:48px; height:48px; border-radius:14px; display:grid; place-items:center; flex-shrink:0; }
.tsm-step__icon svg,.tsm-service-card__icon svg { width:24px; height:24px; fill:none; }
.tsm-step__number { font-size:13px; letter-spacing:.1em; font-weight:700; color:var(--tsm-gold); }
.tsm-step h3 { margin:0 0 12px; font-size:var(--tsm-card-heading); }
.tsm-step p { margin:0 0 18px; font-size:17px; line-height:1.6; }
.tsm-step ul { list-style:none; padding:0; margin:0; }
.tsm-step li { display:flex; align-items:flex-start; gap:10px; margin:10px 0; font-size:16px; line-height:1.55; }
.tsm-check { flex:0 0 18px; width:18px; height:18px; margin-top:3px; display:grid; place-items:center; font-size:11px; border:1px solid #d5b77e; border-radius:50%; color:var(--tsm-gold); }
@supports (grid-template-rows:subgrid) {
  .tsm-step { display:grid; grid-template-rows:subgrid; grid-row:span 4; }
}
/* Work */
.tsm-case-studies { background:var(--tsm-cream); }
.tsm-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.tsm-case-card { min-width:0; border:1px solid var(--tsm-line); border-radius:var(--tsm-radius); background:var(--tsm-paper); overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease; }
.tsm-case-card:hover { transform:translateY(-4px); }
.tsm-case-card__media { display:block; position:relative; aspect-ratio:4/3; background:#f1e8d4; overflow:hidden; }
.tsm-case-card__media > img { width:100%; height:100%; object-fit:cover; }
.tsm-card-placeholder { width:100%; height:100%; min-height:220px; background:linear-gradient(140deg,#ede4ce,#faf4e6); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:12px; padding:32px; }
.tsm-card-placeholder > span { font-size:11px; font-weight:800; letter-spacing:.14em; color:#806331; }
.tsm-card-placeholder > strong { font:400 32px/1.2 var(--tsm-display-font); color:#76654a; }
.tsm-card-placeholder > small { font-size:14px; color:#6d624f; line-height:1.5; }
.tsm-pill { position:absolute; bottom:16px; left:18px; background:#fff8e2; border:1px solid #e2d3b0; border-radius:999px; padding:5px 11px; font:700 11px/1.4 var(--tsm-body-font); letter-spacing:.06em; color:#70551f!important; }
.tsm-case-card__body { display:flex; flex-direction:column; flex:1; padding:26px; }
.tsm-case-card h3 { font-size:24px; margin:0 0 12px; }
.tsm-case-card__body > p { font-size:15px; margin:0 0 26px; }
.tsm-case-card__result { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; }
.tsm-case-card__result strong { display:block; font:400 30px/1.2 var(--tsm-display-font); letter-spacing:-.02em; }
.tsm-case-card__result span { display:block; font-size:14px; line-height:1.5; color:var(--tsm-muted); margin-top:8px; }
.tsm-circle-link { display:grid; place-items:center; width:42px; height:42px; flex-shrink:0; border:1px solid #d9d1c2; border-radius:50%; font-size:21px; }
/* Creative performance */
.tsm-creatives { background:#fbefcf; }
.tsm-creatives__rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.tsm-creative-card { display:flex; flex-direction:column; border:1px solid var(--tsm-line); border-radius:var(--tsm-radius); overflow:hidden; min-width:0; background:var(--tsm-paper); }
.tsm-creative-card__copy { padding:32px; }
.tsm-mini-label { font-size:12px; font-weight:800; letter-spacing:.09em; line-height:1.5; color:#745724; text-transform:uppercase; }
.tsm-creative-card h3 { margin:16px 0 24px; }
.tsm-creative-card__metrics { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-bottom:30px; }
.tsm-creative-card__metric strong { display:block; font:400 44px/1.15 var(--tsm-display-font); color:var(--tsm-gold); }
.tsm-creative-card__metric span { display:block; margin-top:9px; font-size:15px; line-height:1.5; color:var(--tsm-muted); }
.tsm-creative-card__media { min-width:0; background:#eee5ce; }
.tsm-creative-card__media > img { height:100%; width:100%; max-height:620px; object-fit:contain; }
.tsm-creative-card__media .tsm-card-placeholder { min-height:360px; }
.tsm-creative-card__footer { padding:14px 32px; font-size:14px; border-top:1px solid var(--tsm-line); color:var(--tsm-muted); margin-top:auto; }
.tsm-creative-card--featured { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr auto; }
.tsm-creative-card--featured .tsm-creative-card__copy { display:flex; flex-direction:column; justify-content:center; padding:40px; }
.tsm-creative-card--featured .tsm-btn { align-self:flex-start; }
.tsm-creative-card--featured .tsm-creative-card__media { grid-column:2; grid-row:1/3; }
/* Services: equal rows and aligned links, even with longer copy. */
.tsm-services { background:var(--tsm-paper); }
.tsm-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.tsm-service-card { min-width:0; background:var(--tsm-paper); border:1px solid var(--tsm-line); border-radius:var(--tsm-radius); padding:32px; display:flex; flex-direction:column; }
.tsm-service-card__icon { margin-bottom:24px; }
.tsm-service-card h3 { margin:0 0 14px; }
.tsm-service-card p { margin:0 0 26px; }
.tsm-service-card > a { color:#835916; font-size:16px; font-weight:700; margin-top:auto; align-self:flex-start; }
/* Dedicated e-commerce management section */
.tsm-marketplaces { background:var(--tsm-cream); }
.tsm-market-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.tsm-market-card { min-width:0; display:flex; flex-direction:column; padding:36px; border:1px solid var(--tsm-line); border-radius:var(--tsm-radius); background:var(--tsm-paper); }
.tsm-market-card__top { display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.tsm-platform-index { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border:1px solid #dac08a; border-radius:50%; color:#8c611c; font-weight:700; font-size:13px; }
.tsm-section .tsm-market-card__platform { font-family:var(--tsm-display-font); font-size:44px; font-weight:400; letter-spacing:-.02em; margin:0 0 16px; }
.tsm-section .tsm-market-card__intro { margin:0 0 28px; }
.tsm-market-card__block { padding-top:26px; border-top:1px solid var(--tsm-line); }
.tsm-market-card__block + .tsm-market-card__block { margin-top:28px; }
.tsm-market-card h4 { margin:0 0 18px; font-size:22px; line-height:1.4; }
.tsm-market-list { list-style:none; padding:0; margin:0; }
.tsm-market-list li { display:flex; align-items:flex-start; gap:12px; font-size:17px; line-height:1.6; margin:12px 0; }
.tsm-market-list li > span { color:#997026; flex:0 0 20px; }
.tsm-market-bottom { display:flex; justify-content:space-between; gap:40px; align-items:center; padding-top:32px; }
.tsm-market-bottom p { max-width:760px; font-size:16px; margin:0; }
.tsm-market-bottom .tsm-btn { flex-shrink:0; }
@supports (grid-template-rows:subgrid) {
  .tsm-market-card { display:grid; grid-template-rows:subgrid; grid-row:span 5; }
  .tsm-market-grid { row-gap:0; }
}
/* Pricing exists for later, but is not output publicly until enabled in TSM Core. */
.tsm-pricing { background:var(--tsm-cream); }
.tsm-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.tsm-price-card { display:flex; flex-direction:column; border:1px solid var(--tsm-line); border-radius:var(--tsm-radius); padding:34px 28px; background:var(--tsm-paper); min-width:0; position:relative; }
.tsm-price-card h3 { min-height:2.6em; margin:0 0 22px; }
.tsm-price-card__prefix { font-size:14px; color:var(--tsm-muted); }
.tsm-price-card__price { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin:12px 0 26px; }
.tsm-price-card__price strong { font:400 36px/1.2 var(--tsm-display-font); }
.tsm-price-card__price span { font-size:14px; }
.tsm-price-card ul { list-style:none; padding:0; margin:0 0 28px; }
.tsm-price-card li { display:flex; gap:10px; font-size:16px; line-height:1.55; margin:12px 0; }
.tsm-price-card li > span { color:var(--tsm-gold); }
.tsm-price-card .tsm-btn { margin-top:auto; align-self:flex-start; }
.tsm-price-card--featured { border-color:var(--tsm-gold); }
.tsm-price-card__badge { position:absolute; top:-14px; left:24px; padding:5px 14px; background:var(--tsm-gold-2); font:800 11px/1.5 var(--tsm-body-font); border-radius:999px; letter-spacing:.08em; }
.tsm-editor-note { background:#f4f0e7; border:1px dashed #bba06b; padding:22px; margin:16px; border-radius:10px; font-size:15px; }
.tsm-editor-note strong { display:block; margin-bottom:5px; }
/* Audit */
.tsm-audit { background:#fbefc5; }
.tsm-audit__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.14fr); gap:64px; align-items:center; }
.tsm-audit__copy p { margin:24px 0; }
.tsm-benefits { display:flex; flex-direction:column; gap:12px; margin-top:26px; font-size:16px; font-weight:600; }
.tsm-audit__form-wrap { background:var(--tsm-paper); border:1px solid var(--tsm-line); border-radius:var(--tsm-radius); padding:32px; position:relative; }
.tsm-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.tsm-form-grid label { display:block; min-width:0; }
.tsm-form-grid label > span { display:block; font:600 14px/1.5 var(--tsm-body-font); margin:0 0 8px; }
.tsm-form-grid input,.tsm-form-grid select,.tsm-form-grid textarea {
  width:100%; min-width:0; min-height:50px; background:#fff!important; color:#24211b!important;
  border:1px solid #ccc4b6!important; border-radius:9px!important; padding:12px 13px!important;
  font:400 16px/1.5 var(--tsm-body-font)!important; box-shadow:none!important;
}
.tsm-form-grid textarea { resize:vertical; }
.tsm-form-grid :is(input,textarea)::placeholder { color:#7b7468; opacity:1; }
.tsm-form-full { grid-column:1/-1; }
.tsm-audit-form .tsm-btn { margin-top:22px; }
.tsm-form-status { font-size:15px; margin-top:12px; }
.tsm-form-status:empty { display:none; }
.tsm-form-status.is-success { color:#27613b; }
.tsm-form-status.is-error { color:#a02828; }
.tsm-hp { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; left:-10000px!important; }
/* Footer */
.tsm-final { color:#fff; background:#12120f; padding-bottom:28px; overflow:hidden; }
.tsm-final__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:88px; align-items:start; }
.tsm-final .tsm-kicker { color:#d7b565; }
.tsm-final__brand p { font-size:16px; color:#c0bbae; max-width:350px; margin:22px 0; }
.tsm-final__logo { width:190px; height:80px!important; object-fit:cover; object-position:center 57%; }
.tsm-final__cta h2 { color:#fff; }
.tsm-final__cta p { color:#c0bbae; margin:22px 0 26px; }
.tsm-final__call { color:#151515!important; }
.tsm-socials { display:flex; flex-wrap:wrap; gap:20px; }
.tsm-socials a { color:#eee9db; font-size:15px; }
.tsm-final__bottom { margin-top:56px; padding-top:24px; border-top:1px solid #434036; display:flex; justify-content:space-between; gap:28px; font-size:14px; color:#bab3a6; }
/* Content stays visible even when JavaScript, analytics or animations are blocked. */
.tsm-reveal,.tsm-stat,.tsm-step { opacity:1; }
@media (min-width:1800px) { .tsm-section .tsm-display { font-size:74px; } }
@media (max-width:1199px) {
  :root { --tsm-gutter:32px; --tsm-section-space:76px; }
  .tsm-header { grid-template-columns:155px minmax(0,1fr) auto; gap:20px; }
  .tsm-header__nav { gap:16px; }
  .tsm-header__nav a { font-size:14px; }
  .tsm-header__cta { font-size:14px; padding-inline:18px; }
  .tsm-hero__grid { gap:32px; }
  .tsm-proof-card { padding:22px 16px; }
  .tsm-proof-card strong { font-size:40px; }
  .tsm-proof-card--three { margin-inline:28px; }
  .tsm-section-head--split { gap:40px; }
  .tsm-framework__grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:0; column-gap:40px; }
  .tsm-step { border-bottom:1px solid var(--tsm-line); padding-bottom:24px; margin-bottom:32px; }
  .tsm-step p { max-width:440px; }
  .tsm-case-card__body { padding:22px; }
  .tsm-case-card h3 { font-size:23px; }
  .tsm-case-card__result strong { font-size:28px; }
  .tsm-market-card { padding:28px; }
  .tsm-market-bottom { align-items:flex-start; }
  .tsm-market-bottom .tsm-btn { max-width:280px; }
}
@media (max-width:1023px) {
  .tsm-header { grid-template-columns:1fr auto; }
  .tsm-header__nav,.tsm-header__cta { display:none; }
  .tsm-header__toggle { display:block!important; }
  .tsm-header.is-open .tsm-header__nav { display:flex; grid-column:1/-1; flex-direction:column; align-items:flex-start; gap:12px; border-top:1px solid var(--tsm-line); padding-top:16px; }
  .tsm-header.is-open .tsm-header__nav a { font-size:17px; }
  .tsm-header.is-open .tsm-header__cta { display:inline-flex; grid-column:1/-1; justify-self:start; margin-bottom:8px; }
  .tsm-hero__grid { grid-template-columns:1fr; }
  .tsm-section .tsm-display { max-width:820px; font-size:64px; }
  .tsm-hero__visual { max-width:640px; width:100%; min-height:440px; margin:10px auto; }
  .tsm-proof-card { padding:26px; }
  .tsm-proof-card strong { font-size:48px; }
  .tsm-section .tsm-lede { max-width:740px; }
  .tsm-section-head--split { grid-template-columns:1.55fr 1fr; gap:32px; }
  .tsm-section-head--split > p { font-size:18px; }
  .tsm-case-grid { gap:18px; }
  .tsm-case-card__result { flex-wrap:wrap; }
  .tsm-case-card__body { padding:20px; }
  .tsm-case-card h3 { font-size:22px; }
  .tsm-creative-card--featured .tsm-creative-card__copy { padding:28px; }
  .tsm-audit__grid { grid-template-columns:1fr; gap:36px; }
  .tsm-audit__copy { max-width:740px; }
  .tsm-benefits { flex-direction:row; flex-wrap:wrap; gap:14px 24px; }
  .tsm-final__grid { gap:48px; }
}
@media (max-width:859px) {
  :root { --tsm-gutter:28px; --tsm-section-space:64px; }
  .tsm-section-head--split { grid-template-columns:1fr; gap:22px; }
  .tsm-section-head--split > p { max-width:680px; }
  .tsm-section-head--row { align-items:flex-start; flex-direction:column; gap:24px; }
  .tsm-case-grid { grid-template-columns:1fr; max-width:600px; margin-inline:auto; }
  .tsm-case-card__media { aspect-ratio:16/9; }
  .tsm-case-card__body { padding:26px; }
  .tsm-case-card h3 { font-size:26px; }
  .tsm-market-grid { grid-template-columns:1fr; row-gap:24px; }
  .tsm-market-card { display:flex; padding:32px; }
  .tsm-market-bottom { flex-direction:column; gap:24px; }
  .tsm-market-bottom .tsm-btn { max-width:100%; }
  .tsm-price-grid { grid-template-columns:1fr; }
  .tsm-price-card h3 { min-height:0; }
  .tsm-final__grid { grid-template-columns:1fr; gap:40px; }
}
@media (max-width:699px) {
  :root { --tsm-gutter:20px; --tsm-section-space:56px; }
  .tsm-section { scroll-margin-top:80px; }
  .tsm-section h2 { font-size:38px; line-height:1.12; }
  .tsm-section p { font-size:17px; }
  .tsm-section-head { margin-bottom:32px; }
  .tsm-section-head--split > p { font-size:18px; }
  .tsm-header { padding-block:14px; }
  .tsm-header__logo { height:54px; }
  .tsm-hero { padding-top:42px; }
  .tsm-section .tsm-display { font-size:clamp(39px,8.8vw,55px); line-height:1.1; }
  .tsm-section .tsm-lede { font-size:18px; }
  .tsm-hero__trust { font-size:13px; align-items:flex-start; }
  .tsm-hero__visual { min-height:390px; padding-block:38px; }
  .tsm-proof-stack { gap:12px; }
  .tsm-proof-card { padding:22px 16px; border-radius:16px; }
  .tsm-proof-card strong { font-size:38px; }
  .tsm-proof-card > span { font-size:10px; letter-spacing:.06em; }
  .tsm-proof-card small { font-size:14px; }
  .tsm-proof-card--three { margin-inline:20px; }
  .tsm-sidewords { display:none; }
  .tsm-marquee { margin-top:24px; }
  .tsm-stats__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tsm-stat { padding:24px 12px; }
  .tsm-stat:nth-child(2n) { border-right:0; }
  .tsm-stat:nth-child(n+3) { border-top:1px solid #e1d4b0; }
  .tsm-stat:last-child:nth-child(odd) { grid-column:1/-1; border-right:0; }
  .tsm-stat strong { font-size:34px; }
  .tsm-stat span { font-size:13px; }
  .tsm-framework__grid { grid-template-columns:1fr; row-gap:26px; padding-top:26px; }
  .tsm-step { display:flex; padding-bottom:24px; }
  .tsm-step:last-child { padding-bottom:0; border-bottom:0; }
  .tsm-step p { max-width:none; }
  .tsm-step h3 { font-size:28px; }
  .tsm-step li { font-size:17px; }
  .tsm-service-grid { grid-template-columns:1fr; }
  .tsm-service-card { padding:26px; }
  .tsm-service-card h3 { font-size:25px; }
  .tsm-market-card { padding:26px; }
  .tsm-market-card__top { align-items:flex-start; }
  .tsm-market-card h4 { font-size:22px; }
  .tsm-market-list li { font-size:16px; }
  .tsm-creatives__rail { grid-template-columns:1fr; }
  .tsm-creative-card--featured { display:flex; }
  .tsm-creative-card--featured .tsm-creative-card__copy { padding:26px; }
  .tsm-creative-card__media { min-height:280px; }
  .tsm-creative-card__media .tsm-card-placeholder { min-height:280px; }
  .tsm-creative-card__metric strong { font-size:38px; }
  .tsm-creative-card__footer { padding:14px 26px; }
  .tsm-audit__form-wrap { padding:24px; }
  .tsm-form-grid { grid-template-columns:1fr; gap:18px; }
  .tsm-form-full { grid-column:1; }
  .tsm-benefits { flex-direction:column; }
  .tsm-final__bottom { flex-direction:column; gap:10px; }
}
@media (max-width:399px) {
  .tsm-actions { align-items:stretch; }
  .tsm-actions .tsm-btn { width:100%; }
  .tsm-proof-card { padding:19px 12px; }
  .tsm-section .tsm-display { font-size:37px; }
  .tsm-card-placeholder { padding:24px; }
  .tsm-section h2 { font-size:35px; }
  .tsm-market-card,.tsm-service-card { padding:22px; }
}
@media (prefers-reduced-motion:reduce) {
  .tsm-proof-card,.tsm-marquee__track { animation:none!important; }
  .tsm-section *,.tsm-header-wrap * { transition:none!important; scroll-behavior:auto!important; }
}

/* ===== TSM 1.2.0 architecture additions ===== */
/* More deliberate hierarchy and symmetrical section heads. */
.tsm-section-head--split{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:72px;align-items:start}
.tsm-section-head--split>p,.tsm-directory__intro>p{font-size:19px;line-height:1.7;margin:42px 0 0;max-width:480px}
.tsm-section h3{font-size:var(--tsm-card-heading);line-height:1.22}

/* WordPress dropdown navigation */
.tsm-header__nav .tsm-header-menu{display:flex;align-items:center;justify-content:center;gap:24px;list-style:none;margin:0;padding:0}
.tsm-header__nav .tsm-header-menu>li{position:relative;list-style:none;margin:0;padding:0}
.tsm-header__nav .tsm-header-menu a{display:block}
.tsm-header__nav .menu-item-has-children>a{padding-right:17px}
.tsm-header__nav .menu-item-has-children>a:before{content:'⌄';position:absolute;right:0;top:7px;font-size:13px;color:var(--tsm-gold)}
.tsm-header__nav .sub-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,8px);min-width:240px;background:var(--tsm-paper);border:1px solid var(--tsm-line);box-shadow:var(--tsm-shadow);border-radius:14px;padding:10px;list-style:none;opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease;z-index:60}
.tsm-header__nav .sub-menu:before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
.tsm-header__nav .sub-menu li{list-style:none;margin:0}
.tsm-header__nav .sub-menu a{padding:11px 12px!important;border-radius:9px;font-size:14px!important;white-space:nowrap}
.tsm-header__nav .sub-menu a:after{display:none}
.tsm-header__nav .sub-menu a:hover{background:var(--tsm-cream)}
.tsm-header__nav li:hover>.sub-menu,.tsm-header__nav li:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.tsm-header-menu--fallback{display:flex;align-items:center;justify-content:center;gap:24px}

/* Dynamic directories */
.tsm-directory{background:var(--tsm-paper)}
.tsm-directory__intro{display:flex;flex-direction:column;align-items:flex-start}
.tsm-inline-proof{display:flex;align-items:baseline;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--tsm-line);width:100%;max-width:480px}
.tsm-inline-proof strong{font:400 34px/1 var(--tsm-display-font);color:var(--tsm-ink)}
.tsm-inline-proof span{font:600 13px/1.45 var(--tsm-body-font);color:var(--tsm-muted);text-transform:uppercase;letter-spacing:.08em}
.tsm-empty-state{grid-column:1/-1;border:1px dashed #cbbd9f;border-radius:16px;padding:30px;background:#fff9ec;color:var(--tsm-muted)}
.tsm-service-grid--dynamic .tsm-service-card{min-height:310px}
.tsm-service-card .tsm-mini-label{margin:-4px 0 14px}

/* Website portfolio */
.tsm-websites{background:#fff9ec}
.tsm-website-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.tsm-website-card{border:1px solid var(--tsm-line);border-radius:var(--tsm-radius);background:var(--tsm-paper);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .22s ease,box-shadow .22s ease}
.tsm-website-card:hover{transform:translateY(-4px);box-shadow:var(--tsm-shadow)}
.tsm-website-card__media{position:relative;display:block;aspect-ratio:16/10;background:#eee2c9;overflow:hidden}
.tsm-website-card__media img{width:100%;height:100%;object-fit:cover}
.tsm-website-card__body{padding:28px;display:flex;flex-direction:column;flex:1}
.tsm-website-card__body h3{margin:9px 0 12px;font-family:var(--tsm-display-font);font-weight:400;font-size:32px}
.tsm-website-card__body p{margin-bottom:24px}
.tsm-website-card__body .tsm-text-link{margin-top:auto}
.tsm-video-badge{position:absolute;left:18px;bottom:18px;background:#111;color:#fff;border-radius:999px;padding:8px 12px;font:700 12px/1.3 var(--tsm-body-font)}

/* Team */
.tsm-team-section{background:var(--tsm-paper)}
.tsm-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.tsm-team-card{border:1px solid var(--tsm-line);border-radius:var(--tsm-radius);background:#fff;overflow:hidden;display:flex;flex-direction:column}
.tsm-team-card__photo{aspect-ratio:4/5;background:#eee3ca;overflow:hidden;display:block}
.tsm-team-card__photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.tsm-team-placeholder{height:100%;display:grid;place-items:center;font:400 80px/1 var(--tsm-display-font);color:var(--tsm-gold)}
.tsm-team-card__body{padding:22px;display:flex;flex-direction:column;flex:1}
.tsm-team-card__body h3{font-family:var(--tsm-display-font);font-size:30px;font-weight:400;margin-bottom:3px}
.tsm-team-role{font:700 12px/1.4 var(--tsm-body-font);letter-spacing:.08em;text-transform:uppercase;color:var(--tsm-gold);margin-bottom:12px}
.tsm-team-card__body p{font-size:16px;margin-bottom:16px}
.tsm-team-card__body .tsm-text-link{margin-top:auto}

/* Qualified lead form + Calendly */
.tsm-service-choices{border:0;padding:0;margin:0;min-width:0}
.tsm-service-choices legend{font:600 14px/1.5 var(--tsm-body-font);margin-bottom:10px}
.tsm-service-choices>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tsm-service-choices label{display:flex!important;align-items:center;gap:8px;border:1px solid var(--tsm-line);border-radius:9px;padding:10px 11px;background:#fff;cursor:pointer}
.tsm-service-choices input{width:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important}
.tsm-service-choices label>span{margin:0!important;font-size:14px!important}
.tsm-service-choices.has-error{outline:2px solid #a02828;outline-offset:5px;border-radius:8px}
.tsm-audit-form.is-complete .tsm-form-grid,.tsm-audit-form.is-complete>button{display:none}
.tsm-audit-form.is-complete .tsm-form-status{margin:0;padding:14px 16px;border-radius:10px;background:#f0f8f2;border:1px solid #b9ddc2}
.tsm-booking{border-top:1px solid var(--tsm-line);margin-top:24px;padding-top:28px;scroll-margin-top:110px}
.tsm-booking[hidden]{display:none!important}
.tsm-booking__copy h3{font-family:var(--tsm-display-font);font-size:36px;font-weight:400;margin:0 0 8px}
.tsm-booking__copy p{font-size:16px;margin:0 0 18px}
.tsm-calendly-frame{min-height:620px;border-radius:14px;overflow:hidden;background:#fff}
.tsm-calendly-frame iframe{display:block;width:100%;height:650px;border:0;background:#fff}
.tsm-booking__missing{padding:16px;border:1px dashed #c3a768;background:#fff8e5;border-radius:10px}
.tsm-booking.is-booked:after{content:'Call booked — see you there.';display:block;margin-top:12px;padding:12px 14px;border-radius:9px;background:#eef8f0;color:#246438;font:700 14px/1.4 var(--tsm-body-font)}

/* Standalone detail pages */
.tsm-standalone{margin:0;background:var(--tsm-paper);color:var(--tsm-ink);font-family:var(--tsm-body-font);font-size:var(--tsm-body);-webkit-font-smoothing:antialiased}
.tsm-standalone *{box-sizing:border-box}
.tsm-detail-main{min-height:60vh}
.tsm-detail-nav{background:#fff8e4}
.tsm-detail-logo.custom-logo-link,.tsm-detail-logo .custom-logo-link{display:block}
.tsm-detail-hero{background:var(--tsm-cream);padding-top:110px;padding-bottom:80px}
.tsm-detail-hero h1{font:400 clamp(52px,6vw,88px)/1.02 var(--tsm-display-font);letter-spacing:-.035em;margin:0;max-width:1000px;text-wrap:balance}
.tsm-detail-lede{font-size:clamp(19px,2vw,24px)!important;max-width:820px;margin:26px 0 0;color:var(--tsm-muted);line-height:1.55}
.tsm-detail-metrics{display:flex;flex-wrap:wrap;gap:18px;margin-top:42px}
.tsm-detail-metrics>div{min-width:210px;border-top:1px solid #d7c79f;padding-top:16px}
.tsm-detail-metrics strong{display:block;font:400 36px/1.1 var(--tsm-display-font)}
.tsm-detail-metrics span{display:block;font:700 12px/1.4 var(--tsm-body-font);letter-spacing:.08em;text-transform:uppercase;color:var(--tsm-muted);margin-top:5px}
.tsm-detail-cover{background:var(--tsm-cream);padding-bottom:50px}
.tsm-detail-cover img{width:100%;max-height:760px;object-fit:cover;border-radius:24px;border:1px solid var(--tsm-line)}
.tsm-detail-grid{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.7fr);gap:80px;align-items:start}
.tsm-prose{max-width:850px;color:var(--tsm-ink)}
.tsm-prose>*:first-child{margin-top:0}
.tsm-prose h2{font:400 48px/1.08 var(--tsm-display-font);margin:48px 0 18px}
.tsm-prose h3{font:700 24px/1.25 var(--tsm-body-font);margin:34px 0 12px}
.tsm-prose p,.tsm-prose li{font-size:18px;line-height:1.8;color:var(--tsm-muted)}
.tsm-prose img{max-width:100%;height:auto;border-radius:18px}
.tsm-prose--wide{max-width:1000px}
.tsm-detail-list{list-style:none;margin:0;padding:0}
.tsm-detail-list li{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--tsm-line);font-size:16px;line-height:1.5}
.tsm-detail-list li>span{color:var(--tsm-gold)}
.tsm-detail-list--columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}
.tsm-detail-blocks{background:#fff8e8}
.tsm-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tsm-three-grid>article{background:var(--tsm-paper);border:1px solid var(--tsm-line);border-radius:var(--tsm-radius);padding:30px}
.tsm-three-grid>article p{margin-bottom:0}
.tsm-detail-note{margin-top:28px;border-left:3px solid var(--tsm-gold);padding:18px 22px;background:var(--tsm-paper);font-size:17px;color:var(--tsm-muted)}
.tsm-detail-section-copy{font-size:19px!important;max-width:650px}
.tsm-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tsm-dashboard-shot{margin:0;border:1px solid var(--tsm-line);border-radius:var(--tsm-radius);overflow:hidden;background:#fff}
.tsm-dashboard-shot img{display:block;width:100%;height:auto}
.tsm-dashboard-shot figcaption{padding:15px 18px;font:700 13px/1.4 var(--tsm-body-font);text-transform:uppercase;letter-spacing:.08em;color:var(--tsm-muted)}
.tsm-website-media{background:#fff7df}
.tsm-website-media__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.45fr);gap:24px;align-items:start}
.tsm-site-shot{margin:0;background:#fff;border:1px solid var(--tsm-line);border-radius:20px;overflow:hidden}
.tsm-site-shot img{width:100%;height:auto;display:block}
.tsm-site-shot--mobile{max-width:380px;justify-self:center}
.tsm-site-video{grid-column:1/-1;border-radius:20px;overflow:hidden;background:#111}
.tsm-site-video video,.tsm-site-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.tsm-team-detail__hero{display:grid;grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr);gap:70px;align-items:center}
.tsm-team-detail__hero img{width:100%;max-height:620px;object-fit:cover;border-radius:24px}
.tsm-team-detail__role{font:700 14px/1.4 var(--tsm-body-font);letter-spacing:.1em;text-transform:uppercase;color:var(--tsm-gold);margin:16px 0}
.tsm-detail-footer{background:#111;color:#fff;padding:72px 0}
.tsm-detail-footer__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}
.tsm-detail-footer p{color:#c6c1b7;max-width:420px;line-height:1.7}
.tsm-detail-footer h2{font:400 46px/1.05 var(--tsm-display-font);margin:0 0 24px;color:#fff}
.tsm-detail-footer__ghost{border-color:#625d52!important;color:#fff!important}

@media(max-width:1199px){
  .tsm-header__nav .tsm-header-menu,.tsm-header-menu--fallback{gap:16px}
  .tsm-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1023px){
  .tsm-section-head--split{grid-template-columns:1fr;gap:18px}
  .tsm-section-head--split>p,.tsm-directory__intro>p{margin-top:0;max-width:760px}
  .tsm-header.is-open .tsm-header__nav{width:100%}
  .tsm-header.is-open .tsm-header-menu{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0}
  .tsm-header.is-open .tsm-header-menu>li{width:100%;border-bottom:1px solid var(--tsm-line)}
  .tsm-header.is-open .tsm-header-menu>li>a{padding:13px 0}
  .tsm-header.is-open .tsm-header-menu .sub-menu{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;border:0;border-left:2px solid #ead8ac;border-radius:0;background:transparent;min-width:0;padding:0 0 8px 14px;margin:0 0 8px}
  .tsm-header.is-open .tsm-header-menu .sub-menu a{white-space:normal;padding:8px 0!important;font-size:15px!important}
  .tsm-header__nav .menu-item-has-children>a:before{right:4px;top:12px}
  .tsm-website-grid{grid-template-columns:1fr}
  .tsm-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tsm-detail-grid,.tsm-team-detail__hero{grid-template-columns:1fr;gap:38px}
  .tsm-three-grid{grid-template-columns:1fr}
  .tsm-detail-footer__grid{grid-template-columns:1fr;gap:38px}
}
@media(max-width:699px){
  .tsm-service-choices>div{grid-template-columns:1fr}
  .tsm-calendly-frame{min-height:700px}
  .tsm-calendly-frame iframe{height:700px}
  .tsm-team-grid{grid-template-columns:1fr}
  .tsm-detail-hero{padding-top:70px;padding-bottom:56px}
  .tsm-detail-hero h1{font-size:clamp(45px,13vw,66px)}
  .tsm-detail-metrics{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .tsm-detail-metrics>div{min-width:0}
  .tsm-dashboard-grid{grid-template-columns:1fr}
  .tsm-website-media__grid{grid-template-columns:1fr}
  .tsm-site-shot--mobile{max-width:320px}
  .tsm-detail-list--columns{grid-template-columns:1fr}
  .tsm-detail-footer h2{font-size:38px}
}

/* Website Project Engine v1.3 — intentionally scoped to single Website Project pages */
.tsm-website-project-v2 .tsm-detail-main{background:var(--tsm-paper)}
.tsm-wp-hero{background:linear-gradient(135deg,#fffaf0 0%,#f8edcf 100%);padding-top:96px;padding-bottom:86px}
.tsm-wp-hero__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:72px;align-items:center}
.tsm-wp-back{display:inline-flex;margin-bottom:30px;color:var(--tsm-muted);font:600 13px/1.2 var(--tsm-body-font);text-decoration:none}
.tsm-wp-client-logo{display:block;max-width:170px;max-height:70px;object-fit:contain;object-position:left center;margin-bottom:24px}
.tsm-wp-hero h1{font:400 clamp(58px,6vw,92px)/.98 var(--tsm-display-font);letter-spacing:-.04em;margin:12px 0 0}
.tsm-wp-tags{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 4px}
.tsm-wp-tags span{padding:8px 12px;border:1px solid #ddcfac;border-radius:999px;background:rgba(255,255,255,.55);font:700 11px/1 var(--tsm-body-font);letter-spacing:.06em;text-transform:uppercase}
.tsm-wp-hero__visual{position:relative;min-height:470px;border-radius:30px;border:1px solid rgba(175,145,76,.23);background:#f1e5c8;overflow:hidden;padding:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 28px 60px rgba(62,46,21,.09)}
.tsm-wp-hero__visual>img:not(.tsm-wp-hero__phone){width:100%;max-height:540px;object-fit:cover;border-radius:20px;box-shadow:0 24px 50px rgba(0,0,0,.14)}
.tsm-wp-hero__phone{position:absolute!important;right:24px;bottom:22px;width:26%!important;max-height:350px!important;object-fit:cover!important;border:6px solid #171717;border-radius:28px!important;box-shadow:0 24px 46px rgba(0,0,0,.25)}
.tsm-wp-walkthroughs{background:#111;color:#fff}
.tsm-wp-walkthroughs .tsm-kicker{color:#d5a341}
.tsm-wp-walkthroughs h2{color:#fff}
.tsm-wp-walkthroughs .tsm-section-head>p{color:#c8c3bb}
.tsm-wp-walkthrough-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:24px;align-items:stretch}
.tsm-wp-walkthrough{margin:0;border-radius:24px;overflow:hidden;background:#1d1d1d;border:1px solid #343434;display:flex;flex-direction:column}
.tsm-wp-walkthrough__media{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:360px;background:#0b0b0b;overflow:hidden}
.tsm-wp-walkthrough--mobile .tsm-wp-walkthrough__media{min-height:520px}
.tsm-wp-walkthrough__media video,.tsm-wp-walkthrough__media iframe{display:block;width:100%;height:100%;min-height:360px;aspect-ratio:16/9;border:0;object-fit:cover}
.tsm-wp-walkthrough--mobile .tsm-wp-walkthrough__media video,.tsm-wp-walkthrough--mobile .tsm-wp-walkthrough__media iframe{aspect-ratio:9/16;max-height:620px;object-fit:contain;background:#0b0b0b}
.tsm-wp-walkthrough__media img{display:block;width:100%;height:100%;object-fit:cover}
.tsm-wp-walkthrough--mobile .tsm-wp-walkthrough__media img{object-fit:contain;max-height:620px}
.tsm-wp-walkthrough__label{padding:15px 18px;font:700 12px/1.4 var(--tsm-body-font);text-transform:uppercase;letter-spacing:.09em;color:#e5dfd5}
.tsm-wp-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.92);color:#111}
.tsm-wp-results{background:#fff8e8;padding-top:56px;padding-bottom:56px}
.tsm-wp-results__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}
.tsm-wp-results article{padding:28px;border:1px solid var(--tsm-line);border-radius:18px;background:var(--tsm-paper);min-height:160px}
.tsm-wp-results strong{display:block;font:400 45px/1 var(--tsm-display-font);color:var(--tsm-gold);margin-bottom:12px}
.tsm-wp-results h3{font:700 16px/1.35 var(--tsm-body-font);margin:0}
.tsm-wp-results p{font-size:14px!important;margin:8px 0 0;color:var(--tsm-muted)}
.tsm-wp-overview{background:var(--tsm-paper)}
.tsm-wp-overview__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:80px;align-items:start}
.tsm-wp-overview .tsm-prose h2{font:400 clamp(42px,4vw,60px)/1.03 var(--tsm-display-font);letter-spacing:-.03em;margin:16px 0 22px}
.tsm-wp-snapshot{border:1px solid var(--tsm-line);border-radius:20px;background:#fffaf0;padding:14px 28px}
.tsm-wp-snapshot>div{padding:19px 0;border-bottom:1px solid var(--tsm-line)}
.tsm-wp-snapshot>div:last-child{border-bottom:0}
.tsm-wp-snapshot span{display:block;font:700 11px/1.3 var(--tsm-body-font);text-transform:uppercase;letter-spacing:.09em;color:var(--tsm-gold);margin-bottom:6px}
.tsm-wp-snapshot strong{font:600 17px/1.5 var(--tsm-body-font)}
.tsm-wp-highlights{background:#fff9ec}
.tsm-wp-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.tsm-wp-highlight-grid article{display:flex;gap:14px;align-items:flex-start;padding:22px;border:1px solid var(--tsm-line);border-radius:16px;background:var(--tsm-paper)}
.tsm-wp-highlight-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#fff0c7;color:var(--tsm-gold)}
.tsm-wp-highlight-grid h3{font:700 15px/1.35 var(--tsm-body-font);margin:2px 0 5px}
.tsm-wp-highlight-grid p{font-size:13px!important;line-height:1.55;margin:0;color:var(--tsm-muted)}
.tsm-wp-cro{background:#111;color:#fff}
.tsm-wp-cro .tsm-kicker{color:#d9a33a}
.tsm-wp-cro h2{color:#fff;font:400 clamp(43px,4.4vw,64px)/1.02 var(--tsm-display-font);letter-spacing:-.03em;margin:15px 0 0}
.tsm-wp-cro__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.tsm-wp-cro .tsm-detail-list li{border-color:#333;color:#fff}
.tsm-wp-cro__outcome{font-size:18px!important;color:#c9c4bb;max-width:610px;line-height:1.7}
.tsm-wp-features{background:#fff8e8}
.tsm-wp-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tsm-wp-feature-card{border:1px solid var(--tsm-line);border-radius:20px;background:var(--tsm-paper);overflow:hidden;display:flex;flex-direction:column;min-width:0}
.tsm-wp-feature-card__media{position:relative;display:block;aspect-ratio:4/3;background:#eadfc8;overflow:hidden;text-decoration:none}
.tsm-wp-feature-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.tsm-wp-feature-card:hover .tsm-wp-feature-card__media img{transform:scale(1.025)}
.tsm-wp-feature-card__video{display:grid;place-items:center;color:#111;font-weight:700}
.tsm-wp-feature-card__body{padding:22px;display:flex;flex-direction:column;flex:1}
.tsm-wp-feature-card__body h3{font:700 var(--tsm-card-heading)/1.18 var(--tsm-body-font);font-size:20px;margin:0 0 9px}
.tsm-wp-feature-card__body p{font-size:14px!important;margin:0 0 14px;color:var(--tsm-muted);line-height:1.6}
.tsm-wp-feature-card__body .tsm-text-link{margin-top:auto}
.tsm-wp-before-after{background:var(--tsm-paper)}
.tsm-wp-before-after h2{font:400 clamp(42px,4vw,60px)/1.03 var(--tsm-display-font);margin:14px 0 30px}
.tsm-wp-before-after__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tsm-wp-before-after__grid a{position:relative;display:block;border:1px solid var(--tsm-line);border-radius:20px;overflow:hidden;background:#eee;text-decoration:none}
.tsm-wp-before-after__grid img{display:block;width:100%;height:auto;min-height:280px;object-fit:cover}
.tsm-wp-before-after__grid span{position:absolute;z-index:2;left:16px;top:16px;padding:7px 11px;border-radius:999px;background:#111;color:#fff;font:700 11px/1 var(--tsm-body-font);letter-spacing:.08em;text-transform:uppercase}
.tsm-wp-gallery{background:#fff9ec}
.tsm-wp-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tsm-wp-gallery figure{margin:0;border:1px solid var(--tsm-line);border-radius:18px;overflow:hidden;background:var(--tsm-paper)}
.tsm-wp-gallery a{display:block;aspect-ratio:16/10;overflow:hidden}
.tsm-wp-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.tsm-wp-gallery a:hover img{transform:scale(1.02)}
.tsm-wp-gallery figcaption{padding:12px 15px;font:600 12px/1.45 var(--tsm-body-font);color:var(--tsm-muted)}
.tsm-wp-testimonial{background:#f2dfac;text-align:center}
.tsm-wp-testimonial blockquote{max-width:1000px;margin:0 auto;font:400 clamp(36px,4vw,58px)/1.12 var(--tsm-display-font);letter-spacing:-.02em}
.tsm-wp-testimonial p{margin:22px 0 0;font:700 13px/1.4 var(--tsm-body-font);letter-spacing:.08em;text-transform:uppercase}
.tsm-wp-cta{background:var(--tsm-paper)}
.tsm-wp-cta__box{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:60px;align-items:center;padding-top:56px;padding-bottom:56px;border-top:1px solid var(--tsm-line);border-bottom:1px solid var(--tsm-line)}
.tsm-wp-cta h2{font:400 clamp(42px,4vw,62px)/1.02 var(--tsm-display-font);letter-spacing:-.03em;margin:12px 0 16px;max-width:820px}
.tsm-wp-cta p{max-width:720px;color:var(--tsm-muted);font-size:18px!important;line-height:1.65}
.tsm-lightbox[hidden]{display:none!important}
.tsm-lightbox{position:fixed;z-index:999999;inset:0;background:rgba(10,10,10,.94);display:grid;place-items:center;padding:30px}
.tsm-lightbox__inner{max-width:min(1400px,94vw);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.tsm-lightbox__inner img{display:block;max-width:100%;max-height:82vh;object-fit:contain;border-radius:12px;background:#fff}
.tsm-lightbox__caption{color:#fff;font:600 13px/1.4 var(--tsm-body-font)}
.tsm-lightbox__close{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:42px;line-height:1;cursor:pointer}
body.tsm-lightbox-open{overflow:hidden}

@media(max-width:1100px){
  .tsm-wp-hero__grid{grid-template-columns:1fr;gap:45px}.tsm-wp-hero__visual{min-height:400px}
  .tsm-wp-results__grid,.tsm-wp-highlight-grid,.tsm-wp-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tsm-wp-overview__grid,.tsm-wp-cro__grid{grid-template-columns:1fr;gap:40px}
  .tsm-wp-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tsm-wp-cta__box{grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px){
  .tsm-wp-hero{padding-top:64px;padding-bottom:58px}.tsm-wp-hero__visual{min-height:290px;padding:16px}.tsm-wp-hero__phone{width:29%!important;right:12px;bottom:12px;border-width:4px;border-radius:18px!important}
  .tsm-wp-walkthrough-grid{grid-template-columns:1fr}.tsm-wp-walkthrough--mobile{max-width:420px;width:100%;justify-self:center}
  .tsm-wp-results__grid,.tsm-wp-highlight-grid,.tsm-wp-feature-grid,.tsm-wp-before-after__grid,.tsm-wp-gallery__grid{grid-template-columns:1fr}
  .tsm-wp-results article{min-height:0}.tsm-wp-cro__grid{gap:32px}.tsm-wp-cta__box{padding-top:42px;padding-bottom:42px}
}
