/* =========================================================
   Timeless Services VIC – site styles
   Source file. Edit this, then run: node tools/build-css.js
   ========================================================= */

:root{
  --ts-teal:#0F5C5E; --ts-teal-dark:#0B4749; --ts-teal-mid:#1F7F79;
  --ts-navy:#173B4D; --ts-slate:#344B52;
  --ts-coral:#B9452F; --ts-coral-hover:#9C3824; --ts-coral-light:#E87961; --ts-peach:#F3A08C; --ts-mint:#9FD8C8;
  --ts-sage:#DCEFE8; --ts-cream:#FAF8F3; --ts-line:#E8E3D6; --ts-white:#fff; --ts-wa:#1E7A46;
  --ts-head:var(--wp--preset--font-family--heading);
  --ts-body:var(--wp--preset--font-family--body);
  --ts-radius:26px;
  --ts-shadow:0 6px 24px -12px rgba(23,59,77,.22);
  --ts-shadow-lg:0 16px 40px -14px rgba(23,59,77,.3);
}

/* ---------- base ---------- */
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ts-coral-light);outline-offset:3px}
/* no focus box after a mouse click or tap (keyboard users still get the outline above) */
:where(a,button,summary,details,[tabindex],.wp-block-navigation-item__content):focus:not(:focus-visible){outline:none !important;box-shadow:none}
.ts-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--ts-navy);padding:10px 16px;border-radius:10px}
.ts-skip:focus{left:8px}

/* sections sit flush: remove WordPress block gap between top-level sections */
.wp-site-blocks > *,
.ts-main > .wp-block-post-content > *,
.ts-main > *{margin-block-start:0 !important;margin-block-end:0}
.ts-reset > *, .ts-grid > *{margin-block:0 !important}

.ts-sec{padding:96px 0}
.ts-sec--tight-top{padding-top:0}
.ts-sec--tight-bottom{padding-bottom:40px}
.ts-wrap{max-width:1180px;margin-inline:auto !important;padding-inline:22px;box-sizing:content-box}
.ts-wrap--narrow{max-width:820px}
.ts-cream{background:var(--ts-cream)}
.ts-white{background:#fff}
.ts-sage{background:var(--ts-sage)}
.ts-lead{max-width:58ch;color:var(--ts-slate);font-size:1.1rem}
.ts-center{text-align:center}.ts-center .ts-lead{margin-inline:auto}

/* eyebrow label above headings */
.ts-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem !important;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ts-teal);background:var(--ts-sage);padding:6px 14px;border-radius:99px;margin-bottom:6px !important}
.ts-sage .ts-eyebrow{background:#fff}

/* ---------- icons (mask technique: colour follows currentColor) ---------- */
[class*="ts-i-"]{--ts-icon:none}
.ts-i-phone{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%204h4l2%205-2.5%201.5a11%2011%200%200%200%205%205L15%2013l5%202v4a2%202%200%200%201-2%202A16%2016%200%200%201%203%206a2%202%200%200%201%202-2z%22%2F%3E%3C%2Fsvg%3E")} .ts-i-whatsapp{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2012a9%209%200%200%201-13.4%207.8L3%2021l1.3-4.4A9%209%200%201%201%2021%2012z%22%2F%3E%3Cpath%20d%3D%22M9%209c0%203%203%206%206%206l1-2-2-1-1%20.8a4%204%200%200%201-1.8-1.8L12%2010l-1-2z%22%2F%3E%3C%2Fsvg%3E")} .ts-i-mail{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%207l9%206%209-6%22%2F%3E%3C%2Fsvg%3E")}
.ts-i-pin{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s7-6%207-11a7%207%200%200%200-14%200c0%205%207%2011%207%2011z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E")} .ts-i-clock{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%207v5l3%202%22%2F%3E%3C%2Fsvg%3E")} .ts-i-shield{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%205-3.5%208-8%209-4.5-1-8-4-8-9V6z%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%3C%2Fsvg%3E")}
.ts-i-heart{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020s-7-4.5-7-10a4%204%200%200%201%207-2.5A4%204%200%200%201%2019%2010c0%205.5-7%2010-7%2010z%22%2F%3E%3C%2Fsvg%3E")} .ts-i-compass{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M15.5%208.5l-2%205-5%202%202-5z%22%2F%3E%3C%2Fsvg%3E")} .ts-i-hospital{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M12%208v8M8%2012h8%22%2F%3E%3C%2Fsvg%3E")}
.ts-i-users{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%229%22%20r%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M3%2020c0-3.3%202.7-6%206-6s6%202.7%206%206%22%2F%3E%3Cpath%20d%3D%22M16%2014c3%200%205%202%205%205%22%2F%3E%3C%2Fsvg%3E")} .ts-i-key{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2215%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M11%2012l9-9M16%207l3%203%22%2F%3E%3C%2Fsvg%3E")} .ts-i-home{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2011l9-8%209%208%22%2F%3E%3Cpath%20d%3D%22M5%2010v10h14V10%22%2F%3E%3Cpath%20d%3D%22M10%2020v-6h4v6%22%2F%3E%3C%2Fsvg%3E")}
.ts-i-chat{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205h16v11H9l-5%204z%22%2F%3E%3Cpath%20d%3D%22M8%209.5h8M8%2012.5h5%22%2F%3E%3C%2Fsvg%3E")} .ts-i-check{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M8%2012l3%203%205-6%22%2F%3E%3C%2Fsvg%3E")} .ts-i-sun{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M12%202v3M12%2019v3M2%2012h3M19%2012h3M5%205l2%202M17%2017l2%202M19%205l-2%202M7%2017l-2%202%22%2F%3E%3C%2Fsvg%3E")}
.ts-i-book{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205c3-1%206-1%208%201%202-2%205-2%208-1v14c-3-1-6-1-8%201-2-2-5-2-8-1z%22%2F%3E%3Cpath%20d%3D%22M12%206v14%22%2F%3E%3C%2Fsvg%3E")} .ts-i-pulse{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012h4l2-5%204%2010%202-5h6%22%2F%3E%3C%2Fsvg%3E")} .ts-i-bed{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2019V6M3%2015h18v4M21%2015v-3a3%203%200%200%200-3-3h-7v6%22%2F%3E%3Ccircle%20cx%3D%227%22%20cy%3D%2211.5%22%20r%3D%221.8%22%2F%3E%3C%2Fsvg%3E")}
.ts-i-quote{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%207H5v6h4v4H5M19%207h-4v6h4v4h-4%22%2F%3E%3C%2Fsvg%3E")} .ts-i-arrow{--ts-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E")}
.ts-icon{width:20px;height:20px;flex:none}
.ts-mask{display:inline-block;width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:var(--ts-icon) center/contain no-repeat;mask:var(--ts-icon) center/contain no-repeat}
/* shortcode wrappers should not add space or break layout */
.ts-shot > p:empty,.ts-cta-box > p:empty{display:none}

/* ---------- buttons ---------- */
.wp-block-buttons{gap:12px}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;gap:10px;transition:transform .2s,box-shadow .2s,background-color .2s;text-decoration:none}
.wp-block-button .wp-block-button__link:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.2)}
.wp-block-button[class*="ts-i-"] .wp-block-button__link::before{content:"";width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:var(--ts-icon) center/contain no-repeat;mask:var(--ts-icon) center/contain no-repeat}
.ts-btn-acc .wp-block-button__link{background:var(--ts-coral);color:#fff;box-shadow:0 8px 20px rgba(185,69,47,.3)}
.ts-btn-acc .wp-block-button__link:hover{background:var(--ts-coral-hover);color:#fff}
.ts-btn-wa .wp-block-button__link{background:var(--ts-wa);color:#fff}
.ts-btn-wa .wp-block-button__link:hover{background:#17633a;color:#fff}
.ts-btn-dark .wp-block-button__link{background:var(--ts-navy);color:#fff}
.ts-btn-dark .wp-block-button__link:hover{background:var(--ts-teal);color:#fff}
.ts-btn-ghost .wp-block-button__link{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.ts-btn-ghost .wp-block-button__link:hover{background:rgba(255,255,255,.12);color:#fff}
.ts-btn-line .wp-block-button__link{background:transparent;color:var(--ts-navy);box-shadow:inset 0 0 0 2px var(--ts-teal)}
.ts-btn-line .wp-block-button__link:hover{background:var(--ts-sage);color:var(--ts-navy)}
.ts-btn-sm .wp-block-button__link{padding:10px 20px;font-size:.95rem}

/* ---------- header / navigation ---------- */
.ts-header-part{position:relative;z-index:50}
/* no transform / backdrop-filter on .ts-nav itself: they would trap the full-screen mobile menu inside the pill */
.ts-nav{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));left:0;right:0;margin:0 auto !important;width:min(1120px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px 8px 16px;border-radius:999px;color:#fff;z-index:50;box-shadow:0 10px 30px -12px rgba(11,71,73,.5)}
.ts-nav::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:rgba(15,92,94,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14)}
.ts-nav > *{margin:0 !important}
.has-modal-open .ts-mobile-bar,.has-modal-open .ts-wa-float{display:none !important}
.admin-bar .ts-nav{top:calc(46px + 14px)}
@media (min-width:783px){.admin-bar .ts-nav{top:calc(32px + 14px)}}
.ts-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font:800 1.08rem/1.1 var(--ts-head);letter-spacing:-.02em;white-space:nowrap}
.ts-logo img{width:42px;height:42px;border-radius:13px;background:#fff;padding:4px;object-fit:contain;flex:none}
.ts-logo:hover{color:#fff}
.ts-nav-cta{flex-wrap:nowrap;gap:8px}

/* core navigation inside the pill */
.ts-nav .wp-block-navigation{font-weight:600;font-size:.95rem;gap:4px}
.ts-nav .wp-block-navigation .wp-block-navigation-item__content{color:rgba(255,255,255,.88);text-decoration:none;padding:10px 12px;border-radius:999px}
.ts-nav .wp-block-navigation .wp-block-navigation-item__content:hover,
.ts-nav .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content{color:#fff;background:rgba(255,255,255,.1)}
.ts-nav .wp-block-navigation .wp-block-navigation__submenu-icon{color:#fff}
/* dropdowns */
.ts-nav .wp-block-navigation .wp-block-navigation__submenu-container{background:#fff !important;color:var(--ts-navy) !important;border:1px solid var(--ts-line) !important;border-radius:20px;padding:10px !important;box-shadow:var(--ts-shadow-lg);min-width:250px !important;top:calc(100% + 6px) !important}
/* invisible bridge so the menu stays open while the mouse crosses the gap */
.ts-nav .wp-block-navigation .wp-block-navigation__submenu-container::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.ts-nav .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:var(--ts-navy);padding:9px 12px;border-radius:12px;font-weight:600}
.ts-nav .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--ts-sage);color:var(--ts-teal)}
/* Services mega menu: 4 need-based columns */
@media (min-width:1101px){
  /* position the mega panel against the whole header pill, centred */
  .ts-nav .wp-block-navigation,.ts-nav .wp-block-navigation__responsive-container,.ts-nav .wp-block-navigation__responsive-close,.ts-nav .wp-block-navigation__responsive-dialog,.ts-nav .wp-block-navigation__responsive-container-content,.ts-nav .wp-block-navigation__container,.ts-nav .ts-mega{position:static !important}
  .ts-nav .wp-block-navigation .wp-block-navigation__submenu-container{position:absolute !important}
  .ts-nav .wp-block-navigation .has-child:not(.ts-mega){position:relative !important}
  .ts-nav .wp-block-navigation .ts-mega > .wp-block-navigation__submenu-container{display:grid !important;grid-template-columns:repeat(4,minmax(170px,1fr));grid-auto-flow:row dense;align-items:start;column-gap:8px;width:min(880px,92vw) !important;left:50% !important;transform:translateX(-50%);padding:16px !important}
  .ts-nav .ts-mega .ts-col-1{grid-column:1}.ts-nav .ts-mega .ts-col-2{grid-column:2}.ts-nav .ts-mega .ts-col-3{grid-column:3}.ts-nav .ts-mega .ts-col-4{grid-column:4}
  .ts-nav .ts-mega .ts-col-all{grid-column:1 / -1;border-top:1px solid var(--ts-line);margin-top:8px !important;padding-top:6px}
}
.ts-nav .ts-menu-label > .wp-block-navigation-item__content{font-size:.72rem !important;letter-spacing:.1em;text-transform:uppercase;color:var(--ts-teal) !important;padding-bottom:4px !important}
.ts-nav .ts-menu-label > .wp-block-navigation-item__content:hover{background:transparent !important;text-decoration:underline}
.ts-nav .ts-col-all > .wp-block-navigation-item__content{color:var(--ts-coral) !important}
/* hamburger + overlay (mobile/tablet) */
.ts-nav .wp-block-navigation__responsive-container-open{color:#fff;border:1.5px solid rgba(255,255,255,.4);border-radius:999px;padding:8px}
.ts-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--ts-teal-dark) !important;color:#fff !important;padding:84px 22px 30px !important;border-radius:0}
.ts-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:stretch !important;gap:2px}
.ts-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{color:#fff !important;font-size:1.15rem;padding:12px 6px}
.ts-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{background:transparent !important;border:0 !important;box-shadow:none;padding:0 0 8px 12px !important;min-width:0 !important}
.ts-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:1rem;color:rgba(255,255,255,.85) !important;padding:8px 6px}
.ts-nav .wp-block-navigation__responsive-container.is-menu-open .ts-menu-label > .wp-block-navigation-item__content{color:var(--ts-mint) !important;font-size:.75rem !important;padding-top:14px}
.ts-nav .wp-block-navigation__responsive-container-close{color:#fff}
@media (max-width:1440px){.ts-nav-cta .ts-hide-tablet{display:none}}
/* wide screens also show the WhatsApp button, so the pill needs more room */
@media (min-width:1441px){.ts-nav{width:min(1240px,calc(100% - 28px))}}
.ts-nav .wp-block-navigation-item__content,.ts-nav-cta .wp-block-button__link,.ts-logo span{white-space:nowrap}
/* dropdown items may wrap onto two lines (long service names) */
.ts-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{white-space:normal;line-height:1.35}
@media (max-width:1100px){
  /* core switches to the hamburger at 600px; our menu needs it up to 1100px */
  .ts-nav .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex !important}
  .ts-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none !important}
  .ts-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{display:flex !important}
}
.ts-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{position:static !important;opacity:1 !important;visibility:visible !important;height:auto !important;width:auto !important;display:block !important;transform:none !important}
.ts-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container{align-items:stretch !important;gap:0}
.ts-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{display:none}
@media (max-width:600px){.ts-nav-cta{display:none !important}.ts-logo span{font-size:.98rem}.ts-logo img{width:36px;height:36px}}

/* non-hero pages need space under the floating header */
.ts-no-hero .ts-main{padding-top:100px}
.ts-no-hero.single .ts-main, .ts-no-hero .wp-site-blocks > main{padding-top:100px}

/* ---------- hero ---------- */
.ts-hero{position:relative;overflow:hidden;color:#fff;padding:150px 0 110px;background:
  radial-gradient(620px 620px at 92% 8%,rgba(47,154,144,.55),transparent 65%),
  radial-gradient(480px 480px at 0% 100%,rgba(232,121,97,.28),transparent 65%),
  radial-gradient(900px 520px at 85% 0,#13706F 0,transparent 70%),
  var(--ts-teal)}
.ts-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 30% 30%,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse at 30% 30%,#000 15%,transparent 70%)}
.ts-hero > *{position:relative;z-index:1}
.ts-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.ts-hero-grid > *{margin:0 !important}
.ts-hero h1{color:#fff;margin-bottom:22px}
.ts-hero h1 em{font-style:normal;background-image:linear-gradient(90deg,var(--ts-mint),var(--ts-peach));-webkit-background-clip:text;background-clip:text;color:transparent}
.ts-hero p{color:rgba(255,255,255,.85)}
.ts-hero-sub{max-width:50ch;font-size:1.15rem}
.ts-hero .ts-breadcrumbs, .ts-hero .ts-breadcrumbs a{color:rgba(255,255,255,.8)}
.ts-pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0 !important;margin:26px 0 0 !important}
.ts-pills li{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:.9rem;font-weight:600;margin:0}
.ts-pills li::before{content:"";width:18px;height:18px;background:var(--ts-peach);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%205-3.5%208-8%209-4.5-1-8-4-8-9V6z%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%205-3.5%208-8%209-4.5-1-8-4-8-9V6z%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.ts-shot{position:relative}
.ts-shot .ts-frame{margin:0}
.ts-shot .ts-frame img{display:block;width:100%;height:auto;aspect-ratio:440/506;object-fit:cover;border-radius:36px;box-shadow:0 40px 90px -20px rgba(0,0,0,.6);transform:rotate(2deg)}
.ts-glass{position:absolute;display:flex;align-items:center;gap:10px;width:max-content;max-width:250px;padding:12px 16px;border-radius:18px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.28);color:#fff;font-weight:600;font-size:.92rem;line-height:1.3;animation:ts-float 5s ease-in-out infinite}
.ts-glass .ts-icon{width:22px;height:22px;color:var(--ts-peach)}
.ts-glass small{display:block;font-weight:400;opacity:.85}
.ts-glass--one{right:-18px;top:-3%}
.ts-glass--two{left:-26px;bottom:26%;animation-delay:-2.5s}
@keyframes ts-float{50%{transform:translateY(-6px)}}
.ts-badge{position:absolute;left:-28px;bottom:-34px;width:128px;height:128px;border-radius:50%;background:var(--ts-coral);color:#fff;display:grid;place-items:center}
.ts-badge .ts-ring{position:absolute;inset:0;width:100%;height:100%;animation:ts-spin 60s linear infinite}
.ts-badge .ts-icon{width:38px;height:38px}
@keyframes ts-spin{to{transform:rotate(360deg)}}

/* smaller hero for inner pages */
.ts-hero--page{padding:140px 0 80px}
.ts-hero--page .ts-hero-grid{grid-template-columns:1.2fr .8fr}
.ts-hero--page h1{font-size:clamp(2.1rem,5vw,3.6rem)}
.ts-hero--page .ts-frame img{aspect-ratio:4/3.4;transform:none;border-radius:30px}
.ts-hero--text .ts-hero-grid{grid-template-columns:1fr}
/* service pages: hero with photo */
.ts-hero--photo .ts-hero-grid{grid-template-columns:1fr 1fr;gap:48px}
.ts-shot--page .ts-frame img{aspect-ratio:3/2;transform:rotate(1.2deg);border-radius:30px;box-shadow:0 30px 70px -24px rgba(0,0,0,.55)}
.ts-hero--photo .ts-pills{margin-top:22px !important}

/* "talk to our team" card in inner-page heroes */
.ts-hero-aside{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:28px;padding:28px 28px 24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ts-hero-aside > *{margin:0 0 14px !important}
.ts-hero-aside > :last-child{margin-bottom:0 !important}
.ts-aside-title{font:800 1.35rem/1.2 var(--ts-head) !important;color:#fff !important;letter-spacing:-.02em}
.ts-checks--light li{color:#fff;font-weight:600}
.ts-checks.ts-checks--light li::before{background:var(--ts-peach)}
.ts-aside-contact{font-size:.95rem}
.ts-aside-contact a{color:#fff;font:800 1.3rem var(--ts-head);text-decoration:none}
.ts-aside-contact a:hover{text-decoration:underline;color:#fff}
.ts-hero--page .ts-hero-copy .wp-block-buttons{margin-top:22px}

/* "In short" quick-answer box (good for Google AI answers) */
.ts-answer{position:relative;background:#fff;border:1px solid var(--ts-line);border-left:6px solid var(--ts-teal);border-radius:22px;padding:26px 28px;box-shadow:var(--ts-shadow)}
.ts-answer > *{margin:0 !important}
.ts-answer-label{font-size:.78rem !important;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ts-teal);margin-bottom:8px !important}
.ts-answer p:not(.ts-answer-label){font-size:1.12rem;color:var(--ts-navy)}
.ts-split-grid--even{grid-template-columns:1fr 1fr;align-items:center}

/* funding box */
.ts-funding{background:#fff;border:1px solid var(--ts-line);border-radius:30px;padding:40px 44px;max-width:900px}
.ts-funding > *{margin-block:0 0 14px !important}
.ts-funding h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.ts-checks--2col{grid-template-columns:1fr 1fr;column-gap:28px}

/* location pages: quick facts, local block, last updated */
.ts-split-grid--top{align-items:start}
.ts-facts{background:#fff;border:1px solid var(--ts-line);border-radius:24px;padding:26px 28px;box-shadow:var(--ts-shadow)}
.ts-facts > *{margin:0 !important}
.ts-facts h2,.ts-facts h3{font-size:1.2rem;letter-spacing:-.01em;margin-bottom:12px !important}
.ts-facts-list{list-style:none;padding:0 !important;margin:0 !important;display:grid;gap:10px}
.ts-facts-list li{margin:0;padding:0 0 10px;border-bottom:1px solid var(--ts-line);font-size:.97rem;color:var(--ts-slate)}
.ts-facts-list li:last-child{border-bottom:0;padding-bottom:0}
.ts-facts-list strong{color:var(--ts-navy)}
.ts-facts-list a{color:var(--ts-teal)}
.ts-local{max-width:820px}
.ts-local p{font-size:1.06rem}
.ts-local a{color:var(--ts-teal);font-weight:600}
.ts-updated{font-size:.88rem;color:var(--ts-slate);margin-top:22px !important}

.ts-wrap > .ts-chips{margin-top:22px !important}
.ts-faq-grid h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}

/* areas hub region cards */
.ts-region{background:#fff;border:1.5px solid var(--ts-line);border-radius:var(--ts-radius);padding:26px}
.ts-region > *{margin:0 0 14px !important}
.ts-region .ts-chips a{background:var(--ts-cream)}
.ts-card-grid > .ts-office{margin:0 !important}

/* breadcrumbs (Yoast block or plain paragraph) */
.ts-breadcrumbs{font-size:.9rem;margin-bottom:12px !important}
.ts-breadcrumbs a{text-decoration:none}.ts-breadcrumbs a:hover{text-decoration:underline}

/* text page hero (legal pages, blog) */
.ts-page-hero{background:var(--ts-teal);color:#fff;padding:150px 0 60px}
.ts-page-hero h1{color:#fff;font-size:clamp(2.1rem,5vw,3.4rem)}
.ts-prose{max-width:780px}
.ts-prose h2{font-size:1.9rem;margin-top:2.2rem}
.ts-prose h3{font-size:1.35rem;margin-top:1.6rem}

.ts-page-hero .ts-breadcrumbs,.ts-page-hero .ts-breadcrumbs a{color:rgba(255,255,255,.82)}
.ts-page-hero-sub{max-width:60ch;color:rgba(255,255,255,.85);font-size:1.12rem;margin-top:12px !important}
.ts-page-hero .wp-block-term-description{color:rgba(255,255,255,.85)}

/* ---------- blog ---------- */
.ts-posts .ts-post-grid{gap:22px}
.ts-post-card{height:100%;display:flex;flex-direction:column;gap:10px;background:#fff;border:1.5px solid var(--ts-line);border-radius:var(--ts-radius);overflow:hidden;padding:0 0 24px;box-shadow:var(--ts-shadow);transition:transform .25s,border-color .25s,box-shadow .25s}
.ts-post-card > *{margin:0 24px !important}
.ts-post-card > .wp-block-post-featured-image{margin:0 0 6px !important}
.ts-post-card .wp-block-post-featured-image img{border-radius:0}
.ts-post-card:hover{transform:translateY(-6px);border-color:var(--ts-teal);box-shadow:var(--ts-shadow-lg)}
.ts-post-card .wp-block-post-title{font-size:1.3rem;line-height:1.25}
.ts-post-card .wp-block-post-title a{color:var(--ts-navy);text-decoration:none}
.ts-post-card .wp-block-post-title a:hover{color:var(--ts-teal)}
.ts-post-card:not(:has(.wp-block-post-featured-image img)){padding-top:24px}
.ts-post-date,.ts-post-meta{font-size:.88rem;font-weight:600;color:var(--ts-teal)}
.ts-post-card .wp-block-post-excerpt{color:var(--ts-slate);font-size:1rem}
.ts-post-card .wp-block-post-excerpt__more-link{display:inline-block;margin-top:8px;font-weight:600;color:var(--ts-coral);text-decoration:none}
.ts-page-hero .ts-post-meta{gap:14px;margin-top:14px !important}
.ts-page-hero .ts-post-meta,.ts-page-hero .ts-post-meta *{color:var(--ts-mint) !important}
.ts-post-image img{border-radius:24px}
.ts-pagination{margin-top:40px !important;gap:8px;font-weight:600}
.ts-pagination a,.ts-pagination .page-numbers{padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--ts-navy)}
.ts-pagination .current{background:var(--ts-teal);color:#fff}
.ts-search{max-width:560px;margin-top:20px !important}
.ts-search .wp-block-search__input{border-radius:999px;border:0;padding:12px 18px;font:inherit}
.ts-search .wp-block-search__button{border-radius:999px;background:var(--ts-coral);color:#fff;border:0;padding:12px 22px;font-weight:600}
.ts-prose .wp-block-post-navigation-link{margin-top:18px !important;font-weight:600}
.ts-prose img{max-width:100%;height:auto;border-radius:18px}
.ts-prose ul,.ts-prose ol{padding-left:1.3em}

/* ---------- marquee ---------- */
.ts-marq{overflow:hidden;padding:40px 0;background:#fff;border-bottom:1px solid var(--ts-line)}
.ts-track{display:flex;gap:48px;width:max-content;animation:ts-scroll 40s linear infinite}
.ts-marq:hover .ts-track{animation-play-state:paused}
.ts-track span{display:inline-flex;align-items:center;gap:48px;font:800 clamp(2.2rem,6vw,4.4rem)/1.1 var(--ts-head);letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px var(--ts-teal);white-space:nowrap}
.ts-track span::after{content:"";width:16px;height:16px;border-radius:50%;background:var(--ts-coral-light)}
@keyframes ts-scroll{to{transform:translateX(-50%)}}

/* ---------- card grids ---------- */
.ts-card-grid{display:grid;gap:18px;margin-top:40px !important}
.ts-cols-4{grid-template-columns:repeat(4,1fr)}
.ts-cols-3{grid-template-columns:repeat(3,1fr)}
.ts-cols-2{grid-template-columns:repeat(2,1fr)}
.ts-card-grid > *{margin:0 !important}

/* generic card with icon tile (situations, services, info) */
.ts-card{position:relative;display:flex;flex-direction:column;gap:8px;background:#fff;border:1.5px solid var(--ts-line);border-radius:var(--ts-radius);padding:104px 28px 28px;box-shadow:var(--ts-shadow);transition:transform .25s,border-color .25s,box-shadow .25s}
.ts-card > *{margin:0 !important}
.ts-card::before{content:"";position:absolute;left:28px;top:28px;width:58px;height:58px;border-radius:18px;background:var(--ts-sage);transition:background .25s,transform .25s}
.ts-card::after{content:"";position:absolute;left:43px;top:43px;width:28px;height:28px;background:var(--ts-teal);-webkit-mask:var(--ts-icon) center/contain no-repeat;mask:var(--ts-icon) center/contain no-repeat;transition:background .25s,transform .25s}
.ts-card:hover{transform:translateY(-6px);border-color:var(--ts-teal);box-shadow:var(--ts-shadow-lg)}
.ts-card:hover::before{background:var(--ts-teal);transform:rotate(-6deg)}
.ts-card:hover::after{background:#fff;transform:rotate(-6deg)}
.ts-card h3{font-size:1.25rem;color:var(--ts-navy)}
.ts-card h3 a{color:inherit;text-decoration:none}
.ts-card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.ts-card h3 a:focus-visible{outline:none}
.ts-card:has(:focus-visible){outline:3px solid var(--ts-coral-light);outline-offset:3px}
.ts-card p{font-size:1rem;color:var(--ts-slate)}
.ts-card .ts-more{margin-top:auto !important;padding-top:10px;font-weight:600;font-size:.95rem;color:var(--ts-coral);display:flex;align-items:center;gap:6px}
.ts-card .ts-more::after{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;transition:transform .2s}
.ts-card:hover .ts-more::after{transform:translateX(4px)}
.ts-cream .ts-card{background:#fff}
.ts-white .ts-card{background:var(--ts-cream)}

/* services grid: first card is the big dark feature card */
.ts-svc-grid .ts-card--feature{grid-column:span 2;min-height:300px;justify-content:flex-end;background:linear-gradient(160deg,var(--ts-teal),var(--ts-teal-dark)) !important;border-color:transparent;color:#fff;overflow:hidden}
.ts-svc-grid .ts-card--feature h3,.ts-svc-grid .ts-card--feature p{color:#fff}
.ts-svc-grid .ts-card--feature p{color:rgba(255,255,255,.85)}
.ts-svc-grid .ts-card--feature::before{background:rgba(255,255,255,.14)}
.ts-svc-grid .ts-card--feature::after{background:#fff}
.ts-svc-grid .ts-card--feature:hover::before{background:var(--ts-coral)}
.ts-svc-grid .ts-card--feature .ts-more{color:var(--ts-peach)}
.ts-card-art{position:absolute !important;right:22px;top:22px;width:44%;max-width:280px;margin:0 !important;pointer-events:none}
.ts-svc-grid .ts-card--feature > :not(.ts-card-art){max-width:54%}
.ts-card-art img{width:100%;height:auto;display:block}

/* ---------- why choose us (dark section) ---------- */
.ts-why{position:relative;overflow:hidden;color:#fff;background:
  radial-gradient(520px 520px at 100% 0,rgba(232,121,97,.22),transparent 65%),
  radial-gradient(620px 520px at 0% 100%,rgba(47,154,144,.35),transparent 65%),
  var(--ts-navy)}
.ts-why h2{color:#fff}
.ts-why .ts-lead{color:rgba(255,255,255,.82)}
.ts-why .ts-eyebrow{background:rgba(255,255,255,.12);color:var(--ts-mint)}
.ts-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:40px 0 8px !important;border:1px solid rgba(255,255,255,.16);border-radius:26px;overflow:hidden;background:rgba(255,255,255,.05)}
.ts-stats > *{margin:0 !important}
.ts-stat{padding:26px 24px;border-right:1px solid rgba(255,255,255,.16)}
.ts-stat:last-child{border-right:0}
.ts-stat > *{margin:0 !important}
.ts-stat-num{font:800 clamp(2rem,4.2vw,3rem)/1.05 var(--ts-head);letter-spacing:-.03em;background-image:linear-gradient(90deg,var(--ts-mint),var(--ts-peach));-webkit-background-clip:text;background-clip:text;color:transparent}
.ts-stat-label{margin-top:6px !important;font-size:.95rem;color:rgba(255,255,255,.82)}
.ts-card--dark{background:rgba(255,255,255,.06) !important;border-color:rgba(255,255,255,.14);box-shadow:none}
.ts-card--dark h3{color:#fff}
.ts-card--dark p{color:rgba(255,255,255,.8)}
.ts-card--dark::before{background:rgba(255,255,255,.12)}
.ts-card--dark::after{background:var(--ts-peach)}
.ts-card--dark:hover{border-color:var(--ts-peach);box-shadow:0 18px 40px -18px rgba(0,0,0,.5)}
.ts-card--dark:hover::before{background:var(--ts-coral)}
.ts-card--dark:hover::after{background:#fff}

/* ---------- split section with photos ---------- */
.ts-split-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.ts-split-grid > *{margin:0 !important}
.ts-sticky{position:sticky;top:120px}
.ts-checks{list-style:none;padding:0 !important;margin:24px 0 0 !important;display:grid;gap:14px}
.ts-checks li{display:flex;gap:14px;align-items:flex-start;font-weight:600;margin:0}
.ts-checks li::before{content:"";width:26px;height:26px;flex:none;margin-top:1px;background:var(--ts-teal);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M8%2012l3%203%205-6%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M8%2012l3%203%205-6%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.ts-ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ts-ph-grid > *{margin:0 !important}
.ts-ph img{display:block;width:100%;aspect-ratio:3/4.3;object-fit:cover;border-radius:30px}
.ts-ph--b{margin-top:60px !important}

/* ---------- steps (sticky stacking cards) ---------- */
.ts-steps{margin-top:36px !important}
.ts-step{position:sticky;top:calc(108px + var(--i,0) * 22px);display:grid;grid-template-columns:auto 1fr;gap:4px 28px;align-items:center;min-height:150px;padding:26px 36px;margin:0 0 16px !important;border-radius:30px;box-shadow:0 -10px 40px rgba(0,0,0,.12)}
.ts-step > *{margin:0 !important}
.ts-step .ts-no{grid-row:span 2;font:800 clamp(3rem,7vw,5.5rem)/1 var(--ts-head);letter-spacing:-.05em}
.ts-step h3{font-size:1.6rem;align-self:end}
.ts-step p:not(.ts-no){align-self:start;max-width:52ch}
.ts-step:nth-child(1){--i:0;background:var(--ts-navy);color:#fff}
.ts-step:nth-child(2){--i:1;background:var(--ts-teal);color:#fff}
.ts-step:nth-child(3){--i:2;background:var(--ts-sage);color:var(--ts-navy)}
.ts-step:nth-child(4){--i:3;background:var(--ts-coral);color:#fff}
.ts-step:nth-child(1) h3,.ts-step:nth-child(2) h3,.ts-step:nth-child(4) h3{color:#fff}
.ts-step:nth-child(1) p:not(.ts-no),.ts-step:nth-child(2) p:not(.ts-no),.ts-step:nth-child(4) p:not(.ts-no){color:rgba(255,255,255,.9)}

/* ---------- videos (load only on click) ---------- */
.ts-yt{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:24px;overflow:hidden;cursor:pointer;background:#0B4749 center/cover no-repeat;box-shadow:var(--ts-shadow-lg)}
.ts-yt::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(11,71,73,.7))}
.ts-yt span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:var(--ts-coral);box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s}
.ts-yt span::after{content:"";position:absolute;inset:22px 18px 22px 26px;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%)}
.ts-yt:hover span{transform:translate(-50%,-50%) scale(1.08)}
.ts-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ts-yt-title{font-weight:600;margin-top:12px !important;color:var(--ts-navy)}

/* ---------- areas ---------- */
.ts-areas-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;margin-top:36px !important}
.ts-areas-grid > *{margin:0 !important}
.ts-office{position:relative;background:#fff;border:1px solid var(--ts-line);border-radius:22px;padding:22px 22px 22px 68px;margin-bottom:14px !important}
.ts-office > *{margin:0 !important}
.ts-office::before{content:"";position:absolute;left:22px;top:24px;width:28px;height:28px;background:var(--ts-coral);-webkit-mask:var(--ts-icon) center/contain no-repeat;mask:var(--ts-icon) center/contain no-repeat}
.ts-office strong{color:var(--ts-navy)}
.ts-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0 !important;margin:0 !important}
.ts-chips li{margin:0}
.ts-chips a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#fff;border:1.5px solid var(--ts-line);color:var(--ts-navy);font-weight:600;text-decoration:none;transition:border-color .2s,background .2s}
.ts-chips a::before{content:"";width:16px;height:16px;background:var(--ts-teal);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s7-6%207-11a7%207%200%200%200-14%200c0%205%207%2011%207%2011z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s7-6%207-11a7%207%200%200%200-14%200c0%205%207%2011%207%2011z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.ts-chips a:hover{border-color:var(--ts-teal);background:var(--ts-sage)}

/* ---------- testimonial ---------- */
.ts-quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.ts-quote-grid > *{margin:0 !important}
.ts-quote{position:relative;border-radius:30px;padding:40px 40px 36px 96px;background:#fff;border:1px solid var(--ts-line);box-shadow:var(--ts-shadow)}
.ts-quote::before{content:"";position:absolute;left:36px;top:40px;width:40px;height:40px;background:var(--ts-coral-light);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%207H5v6h4v4H5M19%207h-4v6h4v4h-4%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%207H5v6h4v4H5M19%207h-4v6h4v4h-4%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.ts-quote blockquote,.ts-quote .wp-block-quote{border:0;margin:0;padding:0;font:600 clamp(1.15rem,2.2vw,1.5rem)/1.4 var(--ts-head);color:var(--ts-navy)}
.ts-quote cite{display:block;margin-top:14px;font:400 .95rem var(--ts-body);color:var(--ts-slate);font-style:normal}

/* ---------- FAQ (core Details block) ---------- */
.ts-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.ts-faq-grid > *{margin:0 !important}
/* desktop: the heading column follows the questions as you scroll, so there is no empty space under it */
@media (min-width:961px){.ts-faq-grid > :first-child{position:sticky;top:120px}.admin-bar .ts-faq-grid > :first-child{top:152px}}
.ts-faq{display:grid;gap:12px}
.ts-faq > *{margin:0 !important}
.ts-faq .wp-block-details{border:1px solid var(--ts-line);border-radius:20px;padding:4px 24px;background:#fff;transition:border-color .2s,box-shadow .2s}
.ts-faq .wp-block-details[open]{border-color:var(--ts-teal);box-shadow:0 4px 18px rgba(23,59,77,.08)}
.ts-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font:600 1.08rem/1.35 var(--ts-head);letter-spacing:-.01em;color:var(--ts-navy)}
.ts-faq summary::-webkit-details-marker{display:none}
.ts-faq summary::after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;background:var(--ts-sage);color:var(--ts-teal);display:grid;place-items:center;font-size:1.5rem;line-height:1;transition:transform .25s,background .25s}
.ts-faq .wp-block-details[open] summary::after{transform:rotate(45deg);background:var(--ts-teal);color:#fff}
.ts-faq .wp-block-details > :not(summary){color:var(--ts-slate);margin:0 0 18px !important}

/* ---------- CTA box ---------- */
.ts-cta{padding:0 0 96px}
.ts-cta-box{position:relative;overflow:hidden;border-radius:40px;padding:72px 56px;color:#fff;background:linear-gradient(135deg,var(--ts-teal),var(--ts-teal-dark));display:grid;grid-template-columns:1.4fr .6fr;gap:32px;align-items:center}
.ts-cta-box::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-160px;background:radial-gradient(circle,rgba(232,121,97,.45),transparent 65%);pointer-events:none}
.ts-cta-box > *{position:relative;z-index:1;margin:0 !important}
.ts-cta-box h2{color:#fff;font-size:clamp(2.1rem,5.5vw,4rem)}
.ts-cta-box p{color:rgba(255,255,255,.88)}
.ts-reg{justify-self:center;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);display:grid;place-content:center;text-align:center;padding:16px;color:#fff}
.ts-reg .ts-icon{width:38px;height:38px;color:var(--ts-peach);margin:0 auto 6px}
.ts-reg small{font-size:.85rem;opacity:.9}
.ts-reg strong{display:block;font:800 1.45rem var(--ts-head);letter-spacing:.02em}

/* ---------- contact / enquiry ---------- */
.ts-contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start;margin-top:36px !important}
.ts-contact-grid > *{margin:0 !important}
.ts-form-card{background:var(--ts-cream);border:1px solid var(--ts-line);border-radius:30px;padding:36px}
.ts-info{display:grid;gap:12px}
.ts-info > *{margin:0 !important}
.ts-info-item{position:relative;display:block;padding:18px 20px 18px 62px;border-radius:20px;background:var(--ts-cream);border:1px solid var(--ts-line);transition:border-color .2s,transform .2s}
.ts-info-item > *{margin:0 !important}
.ts-info-item::before{content:"";position:absolute;left:20px;top:21px;width:24px;height:24px;background:var(--ts-teal);-webkit-mask:var(--ts-icon) center/contain no-repeat;mask:var(--ts-icon) center/contain no-repeat}
.ts-info-item strong{display:block;color:var(--ts-navy)}
.ts-info-item p{color:var(--ts-slate);font-size:.98rem;overflow-wrap:anywhere}
.ts-info-item a{color:var(--ts-slate);text-decoration:none}
.ts-info-item a::after{content:"";position:absolute;inset:0}
.ts-info-item:has(a):hover{border-color:var(--ts-teal);transform:translateX(4px)}
.ts-note{font-size:.9rem;color:var(--ts-slate)}
.ts-white .ts-form-card{background:var(--ts-cream)}
.ts-form-fallback{padding:18px 20px;border-radius:16px;background:#fff;border:1px dashed var(--ts-coral-light)}

/* built-in enquiry form */
.ts-form{display:grid;gap:16px}
.ts-form p{margin:0 !important}
.ts-form label,.ts-form legend{display:block;font-weight:600;color:var(--ts-navy);margin-bottom:6px;font-size:.98rem}
.ts-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ts-form input[type=text],.ts-form input[type=email],.ts-form input[type=tel],.ts-form select,.ts-form textarea{width:100%;box-sizing:border-box;font:inherit;padding:13px 16px;min-height:52px;border:1.5px solid var(--ts-line);border-radius:16px;background:#fff;color:var(--ts-navy)}
.ts-form textarea{min-height:120px;resize:vertical}
.ts-form input:focus,.ts-form select:focus,.ts-form textarea:focus{outline:3px solid rgba(15,92,94,.25);border-color:var(--ts-teal)}
.ts-form .ts-opt{font-weight:400;color:var(--ts-slate);font-size:.9rem}
.ts-form-choice{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.ts-form-choice legend{width:100%}
.ts-form-choice label{display:inline-flex;align-items:center;gap:8px;font-weight:400;margin:0}
.ts-form input[type=radio],.ts-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--ts-teal);flex:none}
.ts-form-consent label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92rem;color:var(--ts-slate)}
.ts-form-consent a{color:var(--ts-teal)}
.ts-form-submit{display:inline-flex;align-items:center;gap:10px;background:var(--ts-coral);color:#fff;border:0;border-radius:999px;padding:15px 30px;font:600 1rem var(--ts-body);cursor:pointer;box-shadow:0 8px 20px rgba(185,69,47,.3);transition:transform .2s,background .2s}
.ts-form-submit:hover{background:var(--ts-coral-hover);transform:translateY(-2px)}
.ts-form-error{background:#ffe5df;color:#7a1d0b;border-radius:14px;padding:12px 16px;font-weight:600}
.ts-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
@media (max-width:600px){.ts-form-row{grid-template-columns:1fr}}

/* high service standards */
.ts-standards-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.ts-standards-grid > *{margin:0 !important}
.ts-std-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ts-std-list > *{margin:0 !important}
.ts-std{position:relative;background:var(--ts-cream);border:1px solid var(--ts-line);border-radius:22px;padding:22px 22px 22px 72px}
.ts-std > *{margin:0 !important}
.ts-std::before{content:"";position:absolute;left:20px;top:22px;width:36px;height:36px;border-radius:12px;background:var(--ts-sage)}
.ts-std::after{content:"";position:absolute;left:28px;top:30px;width:20px;height:20px;background:var(--ts-teal);-webkit-mask:var(--ts-icon) center/contain no-repeat;mask:var(--ts-icon) center/contain no-repeat}
.ts-std h3{font-size:1.08rem;margin-bottom:4px !important;color:var(--ts-navy)}
.ts-std p{font-size:.95rem;color:var(--ts-slate)}

/* testimonials */
.ts-quote-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--ts-line);border-radius:var(--ts-radius);padding:62px 26px 24px;box-shadow:var(--ts-shadow)}
.ts-quote-card > *{margin:0 !important}
.ts-quote-card::before{content:"";position:absolute;left:26px;top:24px;width:28px;height:28px;background:var(--ts-coral-light);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%207H5v6h4v4H5M19%207h-4v6h4v4h-4%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%207H5v6h4v4H5M19%207h-4v6h4v4h-4%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.ts-quote-text{font-size:1.02rem;line-height:1.6;color:var(--ts-navy)}
.ts-quote-name{font-weight:600;color:var(--ts-teal);font-size:.95rem}
.ts-quote-name::before{content:"— "}
.ts-white .ts-quote-card{background:var(--ts-cream)}

/* google map (click to load) */
.ts-map{position:relative;display:grid;place-items:center;align-content:center;gap:10px;min-height:380px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,var(--ts-sage),#cfe6dd);border:1px solid var(--ts-line);margin-top:28px !important}
.ts-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ts-map-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ts-teal);color:#fff;border:0;border-radius:999px;padding:14px 26px;font:600 1rem var(--ts-body);cursor:pointer;box-shadow:var(--ts-shadow-lg)}
.ts-map-btn:hover{background:var(--ts-teal-dark)}
.ts-map-note{font-size:.85rem;color:var(--ts-slate);margin:0 !important;text-align:center;padding:0 16px}

/* areas band (suburbs only) */
.ts-areas-band{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.ts-areas-band > *{margin:0 !important}

/* Fluent Forms look */
.ts-form-card .fluentform .ff-el-input--label label{font-weight:600;color:var(--ts-navy)}
.ts-form-card .fluentform .ff-el-form-control{font:inherit;padding:13px 16px;border:1.5px solid var(--ts-line);border-radius:16px;background:#fff;color:var(--ts-navy);min-height:52px}
.ts-form-card .fluentform .ff-el-form-control:focus{border-color:var(--ts-teal);box-shadow:0 0 0 3px rgba(15,92,94,.15)}
.ts-form-card .fluentform .ff-btn-submit{background:var(--ts-coral) !important;color:#fff !important;border-radius:999px !important;padding:15px 30px !important;font:600 1rem var(--ts-body) !important;border:0 !important}
.ts-form-card .fluentform .ff-btn-submit:hover{background:var(--ts-coral-hover) !important}

/* ---------- footer ---------- */
.ts-foot{background:var(--ts-navy);color:#d7e2e6;padding:70px 0 120px;font-size:.98rem}
.ts-foot a{color:#d7e2e6;text-decoration:none}
.ts-foot a:hover{color:#fff;text-decoration:underline}
.ts-foot h2,.ts-foot .ts-foot-title{color:#fff;font:600 1.05rem var(--ts-head);letter-spacing:0;margin-bottom:12px !important}
.ts-foot-grid{display:grid;grid-template-columns:1.3fr .9fr .9fr 1.3fr;gap:36px}
.ts-foot-grid > *{margin:0 !important}
.ts-foot ul{list-style:none;padding:0 !important;margin:0 !important;display:grid;gap:8px}
.ts-foot ul li{margin:0}
.ts-foot p{margin:0 0 10px !important}
.ts-foot-logo{background:#fff;border-radius:18px;padding:10px 14px;width:190px;max-width:100%;margin:0 0 16px !important}
.ts-foot-logo img{display:block;width:100%;height:auto}
.ts-legal{margin-top:44px !important;padding-top:22px;border-top:1px solid #35566a;font-size:.86rem;opacity:.9}
.ts-legal a{text-decoration:underline}

/* ---------- floating WhatsApp + mobile contact bar ---------- */
.ts-wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--ts-wa);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px rgba(0,0,0,.25);transition:transform .2s}
.ts-wa-float .ts-icon{width:28px;height:28px}
.ts-wa-float:hover{transform:scale(1.07);color:#fff}
.ts-mobile-bar{display:none}
@media (max-width:960px){
  .ts-wa-float{display:none}
  body{padding-bottom:76px}
  .ts-mobile-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1px solid var(--ts-line)}
  .ts-mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:999px;font-weight:600;text-decoration:none;color:#fff}
  .ts-mobile-bar__call{background:var(--ts-coral)}
  .ts-mobile-bar__wa{background:var(--ts-wa)}
}

/* ---------- scroll reveal (only when JS is on) ---------- */
.js .ts-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease var(--d,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.js .ts-reveal.is-in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .ts-cols-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .ts-sec{padding:72px 0}
  .ts-hero{padding:120px 0 90px}
  .ts-hero--page{padding:120px 0 64px}
    .ts-standards-grid,.ts-areas-band,.ts-hero-grid,.ts-hero--page .ts-hero-grid,.ts-split-grid,.ts-faq-grid,.ts-quote-grid,.ts-areas-grid,.ts-contact-grid,.ts-cta-box{grid-template-columns:1fr}
  .ts-shot{max-width:380px;width:100%;margin-inline:auto !important}
  .ts-shot--page{max-width:620px}
  .ts-glass--one{right:-10px}.ts-glass--two{left:-10px}
  .ts-cols-3{grid-template-columns:repeat(2,1fr)}
  .ts-stats{grid-template-columns:repeat(2,1fr)}
  .ts-stat{border-bottom:1px solid rgba(255,255,255,.16)}
  .ts-stat:nth-child(2n){border-right:0}
  .ts-stat:nth-last-child(-n+2){border-bottom:0}
  .ts-sticky{position:static}
  .ts-step{grid-template-columns:1fr;padding:28px}
  .ts-step .ts-no{grid-row:auto}
  .ts-cta-box{padding:48px 28px}
  .ts-reg{justify-self:start;width:170px;height:170px}
  .ts-foot-grid{grid-template-columns:1fr 1fr}
  .ts-page-hero{padding:120px 0 48px}
}
@media (max-width:600px){
  .ts-cols-4,.ts-cols-3,.ts-cols-2,.ts-checks--2col,.ts-std-list{grid-template-columns:1fr}
  .ts-funding{padding:26px 22px}
  .ts-answer{padding:22px 20px}
  .ts-svc-grid .ts-card--feature{grid-column:auto}
  .ts-card-art{width:46%;right:16px;top:20px}
  .ts-svc-grid .ts-card--feature{padding-top:150px}
  .ts-svc-grid .ts-card--feature > :not(.ts-card-art){max-width:none}
  .ts-ph--b{margin-top:30px !important}
  .ts-form-card{padding:22px}
  .ts-quote{padding:30px 24px 28px 24px}.ts-quote::before{position:static;display:block;margin-bottom:12px}
  .ts-foot-grid{grid-template-columns:1fr}
  .ts-hero .wp-block-buttons{flex-direction:column;align-items:stretch}
  .ts-hero .wp-block-button__link{justify-content:center;width:100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ts-track,.ts-glass,.ts-badge .ts-ring{animation:none}
  .ts-track{flex-wrap:wrap;width:auto;justify-content:center}
  .js .ts-reveal{opacity:1;transform:none;transition:none}
  .wp-block-button .wp-block-button__link,.ts-card{transition:none}
}

/* ---------- editor only: keep reveal content visible ---------- */
.editor-styles-wrapper .ts-reveal{opacity:1 !important;transform:none !important}
.editor-styles-wrapper .ts-nav{position:relative;left:auto;right:auto;top:auto;width:auto}
.editor-styles-wrapper .ts-step{position:relative;top:auto}

/* Blog post: "Looking for NDIS support" links panel */
.ts-post-related{margin-top:40px !important;padding:28px 30px;background:var(--ts-cream);border:1.5px solid var(--ts-line);border-radius:var(--ts-radius)}
.ts-post-related h2{font-size:1.45rem;margin:0 0 8px}
.ts-post-related ul{margin:12px 0 0;padding-left:1.2em;display:grid;gap:6px}
.ts-post-related a{font-weight:600}

/* ---------- Location pages: layout polish ---------- */
/* Hero side box: clear gap and a divider before the phone number */
.ts-hero-aside .ts-aside-contact{padding-top:16px !important;margin-top:4px !important;border-top:1px solid rgba(255,255,255,.22)}
/* "In short" + "Quick facts": equal height, answer text centred in its card */
.ts-split-grid:has(.ts-facts){align-items:stretch}
.ts-split-grid:has(.ts-facts) > *{display:flex;flex-direction:column}
.ts-split-grid:has(.ts-facts) .ts-answer{flex:1;display:flex;flex-direction:column;justify-content:center}
/* "Support for people in …": text and map side by side */
.ts-local-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
.ts-local-grid > *{margin:0 !important}
.ts-local p{max-width:none}
.ts-local-map{background:#fff;border:1px solid var(--ts-line);border-radius:28px;padding:22px;box-shadow:var(--ts-shadow)}
.ts-local-map > *{margin:0 !important}
.ts-local-map-title{font:700 1.15rem/1.3 var(--ts-head);color:var(--ts-navy);margin-bottom:14px !important}
.ts-local-map .ts-map{min-height:300px;margin-top:0 !important;border-radius:20px}
.ts-local-map-links{margin-top:14px !important;font-size:.95rem}
.ts-local-map-links a{color:var(--ts-teal);font-weight:600}
@media (max-width:960px){.ts-local-grid{grid-template-columns:1fr;gap:28px}}
/* "Getting started" steps: same width for every number, so all headings line up */
.ts-step .ts-no{width:1.25em;font-variant-numeric:tabular-nums}
/* Enquiry form: the contact cards follow the form as you scroll (no empty space beside the form) */
@media (min-width:961px){.ts-contact-grid > :last-child{position:sticky;top:120px}.admin-bar .ts-contact-grid > :last-child{top:152px}}

/* ---------- Social icons + original-colour WhatsApp ---------- */
:root{--ts-logo-wa:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22%2325D366%22%2F%3E%3Cg%20transform%3D%22translate(4.4%204.4)%20scale(.633)%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M17.472%2014.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94%201.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198%200-.52.074-.792.372-.272.297-1.04%201.016-1.04%202.479%200%201.462%201.065%202.875%201.213%203.074.149.198%202.096%203.2%205.077%204.487.709.306%201.262.489%201.694.625.712.227%201.36.195%201.871.118.571-.085%201.758-.719%202.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421%207.403h-.004a9.87%209.87%200%2001-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86%209.86%200%2001-1.51-5.26c.001-5.45%204.436-9.884%209.888-9.884%202.64%200%205.122%201.03%206.988%202.898a9.825%209.825%200%20012.893%206.994c-.003%205.45-4.437%209.884-9.885%209.884m8.413-18.297A11.815%2011.815%200%200012.05%200C5.495%200%20.16%205.335.157%2011.892c0%202.096.547%204.142%201.588%205.945L.057%2024l6.305-1.654a11.882%2011.882%200%20005.683%201.448h.005c6.554%200%2011.89-5.335%2011.893-11.893a11.821%2011.821%200%2000-3.48-8.413Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");--ts-logo-fb:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22%231877F2%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M13.4%2024v-8.4h2.8l.45-3.3H13.4v-2.1c0-.95.27-1.6%201.63-1.6h1.73V5.66A23%2023%200%200%200%2014.24%205.5c-2.5%200-4.2%201.53-4.2%204.33v2.47H7.2v3.3h2.84V24z%22%2F%3E%3C%2Fsvg%3E");--ts-logo-ig:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cdefs%3E%3CradialGradient%20id%3D%22g%22%20cx%3D%2230%25%22%20cy%3D%22107%25%22%20r%3D%22150%25%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23FDF497%22%2F%3E%3Cstop%20offset%3D%22.05%22%20stop-color%3D%22%23FDF497%22%2F%3E%3Cstop%20offset%3D%22.45%22%20stop-color%3D%22%23FD5949%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%23D6249F%22%2F%3E%3Cstop%20offset%3D%22.9%22%20stop-color%3D%22%23285AEB%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22url(%23g)%22%2F%3E%3Crect%20x%3D%226.2%22%20y%3D%226.2%22%20width%3D%2211.6%22%20height%3D%2211.6%22%20rx%3D%223.4%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222.8%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2215.3%22%20cy%3D%228.7%22%20r%3D%22.9%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");--ts-logo-yt:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22%23FF0000%22%2F%3E%3Crect%20x%3D%225.2%22%20y%3D%227.4%22%20width%3D%2213.6%22%20height%3D%229.2%22%20rx%3D%222.6%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M10.6%209.7v4.6l4-2.3z%22%20fill%3D%22%23FF0000%22%2F%3E%3C%2Fsvg%3E")}
.ts-soc-fb{--ts-brand:var(--ts-logo-fb)}
.ts-soc-ig{--ts-brand:var(--ts-logo-ig)}
.ts-soc-wa{--ts-brand:var(--ts-logo-wa)}
.ts-soc-yt{--ts-brand:var(--ts-logo-yt)}
.ts-social{display:flex;align-items:center;gap:10px;margin:0}
.ts-soc{display:block;width:38px;height:38px;border-radius:50%;background:var(--ts-brand) center/contain no-repeat;transition:transform .2s,box-shadow .2s}
.ts-soc:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 6px 16px rgba(0,0,0,.25)}
/* header: smaller, only where there is room in the menu bar */
.ts-social--nav{gap:8px}
.ts-social--nav .ts-soc{width:32px;height:32px}
@media (max-width:1279px){.ts-social--nav{display:none !important}}
@media (min-width:1441px){.ts-nav{width:min(1300px,calc(100% - 28px))}}
/* WhatsApp buttons: original green button, with WhatsApp's own logo as the icon */
.wp-block-button.ts-btn-wa .wp-block-button__link::before{width:22px;height:22px;background:var(--ts-logo-wa) center/contain no-repeat;-webkit-mask:none;mask:none}
/* floating button = the WhatsApp logo itself */
.ts-wa-float{background:var(--ts-logo-wa) center/100% no-repeat}
.ts-soc--sm{width:24px;height:24px}
.ts-soc--sm:hover{transform:none;box-shadow:none}
/* mobile bottom bar */

/* Areas We Serve dropdown: two columns (desktop) */
@media (min-width:1101px){
  .ts-nav .wp-block-navigation .ts-areas-menu > .wp-block-navigation__submenu-container{display:grid !important;grid-template-columns:1fr 1fr;column-gap:6px;min-width:360px !important}
  .ts-nav .ts-areas-menu .ts-col-all{grid-column:1 / -1;border-top:1px solid var(--ts-line);margin-top:6px !important;padding-top:4px}
}

/* Footer "Areas we serve": main locations on one line, the rest via "All areas" */
.ts-foot-areas{margin:28px 0 0 !important;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);line-height:1.9}
.ts-foot-areas-label{color:#fff;font-weight:600;margin-right:6px}
.ts-foot-areas a{white-space:nowrap}
.ts-foot-areas a:not(:last-child)::after{content:"·";color:#8fa5ad;margin:0 8px;display:inline-block}
@media (min-width:961px){.ts-foot-grid{grid-template-columns:1.3fr 1fr 1.3fr}}
.ts-foot-areas + .ts-legal{margin-top:18px !important}
.ts-svc-links a{font-weight:600;color:var(--ts-navy);text-decoration:none}
.ts-svc-links a:hover{color:var(--ts-teal);text-decoration:underline}

/* Services mega menu: support coordination levels as indented sub-items */
.ts-nav .ts-mega .ts-sub > .wp-block-navigation-item__content{padding-left:24px !important;font-size:.88rem;font-weight:500;color:var(--ts-slate) !important}
.ts-nav .ts-mega .ts-sub > .wp-block-navigation-item__content::before{content:"–";margin-left:-12px;margin-right:6px;color:var(--ts-teal)}

/* Service pages: in-depth guide (sticky jump links + call to action, topic cards) */
.ts-guide-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;align-items:start;margin-top:36px}
.ts-guide-layout > *{margin-block:0 !important}
.ts-guide-aside{position:sticky;top:110px;display:grid;gap:18px}
.ts-guide-aside > *{margin-block:0 !important}
.ts-guide-toc{background:#fff;border:1px solid var(--ts-line);border-radius:22px;padding:22px 22px 18px}
.ts-guide-toc-title{font-family:var(--ts-head);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ts-teal);margin:0 0 10px !important}
.ts-guide-toc-list{list-style:none;padding:0 !important;margin:0 !important;counter-reset:toc}
.ts-guide-toc-list li{counter-increment:toc;margin:0 !important;border-top:1px solid var(--ts-line)}
.ts-guide-toc-list li:first-child{border-top:0}
.ts-guide-toc-list a{display:flex;gap:10px;padding:10px 0;color:var(--ts-navy);text-decoration:none;font-weight:600;font-size:.93rem;line-height:1.35}
.ts-guide-toc-list a::before{content:counter(toc,decimal-leading-zero);color:var(--ts-coral);font-weight:700;font-size:.8rem;padding-top:2px}
.ts-guide-toc-list a:hover{color:var(--ts-teal)}
.ts-guide-side-cta{background:var(--ts-teal);color:#fff;border-radius:22px;padding:24px 22px;box-shadow:var(--ts-shadow)}
.ts-guide-side-cta p{color:rgba(255,255,255,.88);font-size:.95rem;line-height:1.55;margin:0 0 6px !important}
.ts-guide-side-cta .ts-guide-cta-title{color:#fff}
.ts-guide-side-cta .wp-block-buttons{flex-direction:column;align-items:stretch;gap:10px}
.ts-guide-side-cta .wp-block-button,.ts-guide-side-cta .wp-block-button__link{width:100%;justify-content:center;text-align:center}
.ts-guide-cta-title{font-family:var(--ts-head);font-weight:700;font-size:1.3rem;line-height:1.2;color:var(--ts-navy);margin:0 0 8px !important}
.ts-guide{display:grid;gap:22px;max-width:none}
.ts-guide > *{margin-block:0 !important}
.ts-guide-item{background:#fff;border:1px solid var(--ts-line);border-radius:var(--ts-radius);padding:36px 40px;box-shadow:var(--ts-shadow)}
.ts-white .ts-guide-item{background:var(--ts-cream)}
.ts-guide-item > *{margin:0 0 14px !important}
.ts-guide-item > :last-child{margin-bottom:0 !important}
.ts-guide-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--ts-sage);color:var(--ts-teal);font-family:var(--ts-head);font-weight:800;font-size:1rem;margin-bottom:16px !important}
.ts-guide-item h2{font-size:clamp(1.45rem,3vw,1.9rem);line-height:1.2}
.ts-guide-item p{line-height:1.72}
.ts-guide-lead{font-size:1.1rem;color:var(--ts-navy);font-weight:500;padding-left:16px;border-left:4px solid var(--ts-coral-light)}
.ts-guide-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px !important;background:var(--ts-sage);border-radius:18px;padding:22px 24px !important;margin:6px 0 16px !important}
.ts-guide-list li{margin:0 !important;font-size:.97rem}
.ts-guide-note{font-size:.97rem;color:var(--ts-slate);background:var(--ts-cream);border-radius:14px;padding:14px 18px}
.ts-white .ts-guide-note{background:#fff}
.ts-guide-cta{background:linear-gradient(135deg,var(--ts-teal-dark),var(--ts-teal-mid));color:#fff;border-radius:var(--ts-radius);padding:34px 40px;box-shadow:var(--ts-shadow-lg)}
.ts-guide-cta > *{margin:0 0 6px !important}
.ts-guide-cta .ts-guide-cta-title{color:#fff;font-size:1.5rem}
.ts-guide-cta p{color:rgba(255,255,255,.9)}
.ts-guide .ts-funding{max-width:none}
@media (max-width:960px){
  .ts-guide-layout{grid-template-columns:1fr;gap:22px;margin-top:26px}
  .ts-guide-aside{position:static}
  .ts-guide-side-cta{display:none}
  .ts-guide-item,.ts-guide-cta{padding:26px 22px}
  .ts-guide-list{grid-template-columns:1fr;padding:18px !important}
}
.ts-guide-item{scroll-margin-top:44px}
.ts-guide-item > .ts-guide-num{margin-bottom:10px !important}
@media (max-width:960px){.ts-guide-lead{font-size:1.02rem;padding-left:14px}}
.ts-guide-cta > .wp-block-buttons{margin-top:18px !important}
