/*
Theme Name: Hello TTA
Theme URI: https://tradie.agency/
Description: Child theme for The Tradie Agency. Holds the site stylesheet (ported from the signed-off reference build), the Projects post type and small helpers.
Author: The Design Space
Author URI: https://thedesignspace.com.au/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-tta
*/

/* ===== 1. Elementor compatibility layer (must come first) ===== */
/* Containers built from the reference markup carry the class "tta".
   Neutralise Elementor's container defaults (flex column, padding, gap, 100% widths) so each
   container behaves like the plain HTML element it replaces. Component classes below set
   display/grid/flex themselves. Vars use !important so per-element CSS can't re-flex them. */
.e-con.tta{
  --display:block!important;--flex-direction:row!important;--flex-wrap:nowrap!important;
  --justify-content:normal!important;--align-items:normal!important;--align-content:normal!important;
  --gap:0px!important;--row-gap:0px!important;--column-gap:0px!important;--widgets-spacing:0px!important;
  --padding-top:0px!important;--padding-right:0px!important;--padding-bottom:0px!important;--padding-left:0px!important;
  --padding-block-start:0px!important;--padding-block-end:0px!important;--padding-inline-start:0px!important;--padding-inline-end:0px!important;
  --margin-top:0px!important;--margin-right:0px!important;--margin-bottom:0px!important;--margin-left:0px!important;
  --margin-block-start:0px!important;--margin-block-end:0px!important;--margin-inline-start:0px!important;--margin-inline-end:0px!important;
  --width:auto!important;--min-height:0px!important;--content-width:100%!important;
  --container-widget-width:auto!important;--container-widget-flex-grow:0!important;--container-widget-align-self:auto!important;--container-widget-height:auto!important;
  --overflow:visible!important;--position:static!important;
  width:auto;max-width:none;min-width:0;transition:none;
}
:where(.e-con.tta)>.elementor-element{--flex-grow:0;--flex-shrink:1;--flex-basis:auto}
.tta-site .elementor-widget{max-width:none}
/* the reference's *{box-sizing:border-box} doesn't reach pseudo-elements; Elementor's does. Restore content-box (checklist ticks etc.) */
.tta-site .e-con.tta ::before,.tta-site .e-con.tta ::after{box-sizing:content-box}
/* Text Editor widgets hold the reference markup verbatim; on the front end their wrapper steps out of the
   layout so the inner element is the grid/flex item, exactly as in the reference (no extra line-box strut). */
body.tta-site:not(.elementor-editor-active) .e-con.tta>.elementor-widget-text-editor{display:contents}
/* heading widget: Elementor sets line-height:1 / margin on .elementor-heading-title; the h1-h3 rules below restore the reference values */
.tta-site .elementor-heading-title{color:inherit}
/* Elementor removes link underlines inside .elementor; the reference keeps browser defaults */
.tta-site :where(.elementor) a:where(:not(.elementor-button)){text-decoration:underline}
.tta-site :where(.elementor) a{box-shadow:none}


/* ===== 2. Reference stylesheet (reference/site.css), selectors scoped to .tta-site ===== */

:root{
  /* Brand world: navy + cream from the TTA concepts, one hi-vis accent used like site paint.
     Layout idea: job-site paperwork. Rulers, job sheets, stamps; bold condensed type does the shouting. */
  --navy:var(--e-global-color-navy,#1B2869);
  --navy-deep:var(--e-global-color-navy-deep,#121C4F);
  --cream:var(--e-global-color-cream,#FFF4DF);
  --paper:var(--e-global-color-paper,#FFFBF2);
  --hivis:var(--e-global-color-hivis,#F7C21B);
  --ink-soft:var(--e-global-color-ink-soft,#4A5280);
  --line:rgba(27,40,105,.18);
  --font-display:"Big Shoulders Display","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --font-body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --wrap:1180px;
  color-scheme:light;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{animation:none!important;transition:none!important}
}

body.tta-site{margin:0;background:var(--cream);color:var(--navy);font-family:var(--font-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}

.tta-site img{max-width:100%}

.tta-site a{color:inherit}

.tta-site :focus-visible{outline:3px solid var(--hivis);outline-offset:3px}

.tta-site h1,.tta-site h2,.tta-site h3{font-family:var(--font-display);font-weight:900;line-height:.92;letter-spacing:.005em;text-transform:uppercase;margin:0;text-wrap:balance}

.tta-site h1{font-size:clamp(56px,9vw,124px)}

.tta-site h2{font-size:clamp(40px,5.6vw,72px)}

.tta-site h3{font-size:clamp(26px,2.6vw,32px);font-weight:800;line-height:1}

.tta-site p{margin:0;max-width:62ch}

.tta-site .wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,40px)}

.tta-site .label{font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase}

.tta-site .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:700;font-size:16px;padding:16px 24px;border-radius:4px;text-decoration:none;border:2px solid var(--navy);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}

.tta-site .btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--navy)}

.tta-site .btn.btn-primary{background:var(--navy);color:var(--cream)}

.tta-site .btn.btn-primary:hover{box-shadow:4px 4px 0 var(--hivis)}

.tta-site .btn.btn-hivis{background:var(--hivis);color:var(--navy)}

.tta-site .btn.btn-ghost{background:transparent;color:var(--navy)}

.tta-site .on-navy .btn.btn-ghost{color:var(--cream);border-color:var(--cream)}

.tta-site .on-navy .btn.btn-ghost:hover{box-shadow:4px 4px 0 var(--hivis)}


/* ---------- header ---------- */
.tta-site .elementor-location-header{position:sticky;top:0;z-index:20;background:var(--cream);border-bottom:2px solid var(--navy)}

.tta-site .elementor-location-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}

.tta-site .logo{display:flex;flex-direction:column;align-items:center;text-decoration:none;line-height:1}

.tta-site .logo small{font-family:var(--font-body);font-weight:700;font-size:9px;letter-spacing:.3em}

.tta-site .logo b{font-family:var(--font-display);font-weight:900;font-size:30px;letter-spacing:.01em;margin:1px 0}

.tta-site nav.main{display:flex;gap:4px;align-items:center}

.tta-site nav.main a{font-weight:600;font-size:15px;text-decoration:none;padding:8px 12px;border-radius:4px}

.tta-site nav.main a[aria-current="page"]{background:var(--navy);color:var(--cream)}

.tta-site nav.main a:not([aria-current]):hover{background:rgba(27,40,105,.08)}

.tta-site nav.main .btn{padding:10px 16px;font-size:15px;margin-left:8px}

@media (max-width:860px){
  .tta-site .elementor-location-header .wrap{height:auto;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}

  .tta-site nav.main{order:3;width:100%;overflow-x:auto;padding-bottom:4px}

  .tta-site nav.main a{white-space:nowrap}

}


/* ---------- views ---------- */
.tta-site #content{animation:rise .4s ease both}

@keyframes rise{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}

.tta-site section{padding:clamp(56px,8vw,104px) 0}

.tta-site .on-navy{background:var(--navy);color:var(--cream)}

.tta-site .on-paper{background:var(--paper)}

.tta-site .sec-head{display:grid;gap:18px;margin-bottom:44px}

.tta-site .sec-head p{font-size:19px;color:var(--ink-soft)}

.tta-site .on-navy .sec-head p{color:rgba(255,244,223,.78)}


/* ruler divider: ticks every 10px, numbered every 100 */
.tta-site .ruler{height:34px;background:
  repeating-linear-gradient(90deg,var(--navy) 0 2px,transparent 2px 100px) 0 0/100% 100% no-repeat,
  repeating-linear-gradient(90deg,var(--navy) 0 1px,transparent 1px 50px) 0 0/100% 60% no-repeat,
  repeating-linear-gradient(90deg,var(--navy) 0 1px,transparent 1px 10px) 0 0/100% 30% no-repeat,
  var(--hivis);border-top:2px solid var(--navy);border-bottom:2px solid var(--navy)}


/* ---------- hero ---------- */
.tta-site .hero{padding:clamp(40px,6vw,80px) 0 clamp(56px,7vw,96px)}

.tta-site .hero .wrap{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}

.tta-site .hero h1 .hl{background:var(--hivis);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.tta-site .hero .lede{font-size:clamp(18px,1.6vw,21px);margin:28px 0 32px;color:var(--ink-soft)}

.tta-site .hero .ctas{display:flex;flex-wrap:wrap;gap:14px}

.tta-site .hero .fine{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 22px}

.tta-site .hero .fine span::before{content:"✓ ";font-weight:700}

@media (max-width:900px){.tta-site .hero .wrap{grid-template-columns:1fr}
}


/* phone mockup */
.tta-site .phone-wrap{position:relative;justify-self:center}

.tta-site .phone{width:min(320px,82vw);aspect-ratio:9/18.5;border:10px solid var(--navy);border-radius:42px;background:#fff;overflow:hidden;box-shadow:14px 14px 0 var(--navy);display:flex;flex-direction:column;transform:rotate(2deg)}

.tta-site .phone .bar{height:26px;background:var(--navy-deep);flex:none}

.tta-site .ps-head{background:#0F3B2E;color:#fff;padding:14px 16px 18px}

.tta-site .ps-head .nm{font-family:var(--font-display);font-weight:900;font-size:26px;text-transform:uppercase;line-height:.95}

.tta-site .ps-head .ar{font-size:11px;opacity:.8;margin-top:4px}

.tta-site .ps-head .stars{margin-top:10px;font-size:12px}

.tta-site .ps-head .stars b{color:#FFD34D;letter-spacing:1px}

.tta-site .ps-call{margin:14px 16px 0;background:#FFD34D;color:#0F3B2E;font-weight:800;text-align:center;padding:13px;border-radius:8px;font-size:15px}

.tta-site .ps-quote{margin:8px 16px 0;border:2px solid #0F3B2E;color:#0F3B2E;font-weight:700;text-align:center;padding:10px;border-radius:8px;font-size:13px}

.tta-site .ps-trust{margin:14px 16px 0;display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:10.5px;color:#0F3B2E}

.tta-site .ps-trust div{background:#EEF4F1;padding:7px 8px;border-radius:6px;font-weight:600}

.tta-site .ps-svc{margin:14px 16px 0;font-size:11px;color:#333}

.tta-site .ps-svc b{display:block;font-size:12px;color:#0F3B2E;margin-bottom:6px}

.tta-site .ps-svc span{display:inline-block;background:#F3F3F3;padding:4px 8px;border-radius:20px;margin:0 4px 4px 0}

.tta-site .phone-tag{position:absolute;left:-28px;bottom:48px;background:var(--hivis);color:var(--navy);border:2px solid var(--navy);padding:8px 12px;transform:rotate(-6deg);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;box-shadow:4px 4px 0 var(--navy)}


/* proof strip */
.tta-site .strip{border-top:2px solid var(--navy);border-bottom:2px solid var(--navy);background:var(--paper)}

.tta-site .strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}

.tta-site .strip .cell{padding:26px 20px;border-left:2px solid var(--line)}

.tta-site .strip .cell:first-child{border-left:0;padding-left:0}

.tta-site .strip .big{font-family:var(--font-display);font-weight:900;font-size:44px;line-height:1}

.tta-site .strip .cell p{font-size:14px;color:var(--ink-soft);margin-top:6px}

@media (max-width:760px){.tta-site .strip .wrap{grid-template-columns:1fr 1fr}
.tta-site .strip .cell:nth-child(3){border-left:0;padding-left:0}
.tta-site .strip .cell{border-top:2px solid var(--line)}
.tta-site .strip .cell:nth-child(-n+2){border-top:0}
}


/* defects list */
.tta-site .defects{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:2px solid var(--navy)}

.tta-site .defect{padding:28px;border-left:2px solid var(--navy);background:var(--paper);display:grid;gap:14px;align-content:start}

.tta-site .defect:first-child{border-left:0}

.tta-site .defect .label{color:#B3261E}

.tta-site .defect p{font-size:16px;color:var(--ink-soft)}

@media (max-width:860px){.tta-site .defects{grid-template-columns:1fr}
.tta-site .defect{border-left:0;border-top:2px solid var(--navy)}
.tta-site .defect:first-child{border-top:0}
}


/* free mockup band */
.tta-site .mock-band .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}

.tta-site .mock-band ol{list-style:none;padding:0;margin:0;display:grid;gap:14px;counter-reset:s}

.tta-site .mock-band li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:16px;border:2px solid rgba(255,244,223,.3);border-radius:4px}

.tta-site .mock-band li::before{content:counter(s);font-family:var(--font-display);font-weight:900;font-size:40px;line-height:.9;color:var(--hivis)}

.tta-site .mock-band li b{display:block;font-size:17px}

.tta-site .mock-band li span{font-size:15px;opacity:.8}

@media (max-width:860px){.tta-site .mock-band .wrap{grid-template-columns:1fr}
}


/* tape measure timeline */
.tta-site .tape{position:relative;margin-top:12px}

.tta-site .tape-bar{height:64px;border:2px solid var(--navy);border-radius:6px;background:
  repeating-linear-gradient(90deg,var(--navy) 0 2px,transparent 2px calc(100%/7)) 0 0/100% 100% no-repeat,
  repeating-linear-gradient(90deg,var(--navy) 0 1px,transparent 1px calc(100%/28)) 0 0/100% 40% no-repeat,
  var(--hivis)}

.tta-site .tape-days{display:grid;grid-template-columns:repeat(7,1fr);font-family:var(--font-mono);font-size:12px;margin-top:6px}

.tta-site .tape-days span{padding-left:4px}

.tta-site .tape-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}

.tta-site .step{border-top:6px solid var(--navy);padding-top:16px;display:grid;gap:10px;align-content:start}

.tta-site .step .label{color:var(--ink-soft)}

.tta-site .step p{font-size:15.5px;color:var(--ink-soft)}

@media (max-width:860px){.tta-site .tape-steps{grid-template-columns:1fr 1fr}
}

@media (max-width:480px){.tta-site .tape-steps{grid-template-columns:1fr}
.tta-site .tape-days span:nth-child(even){visibility:hidden}
}


/* ---------- pricing: job sheets ---------- */
.tta-site .tiers{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:22px;align-items:stretch}

.tta-site .sheet{position:relative;background:var(--paper);border:2px solid var(--navy);border-radius:4px;padding:26px 26px 28px;display:flex;flex-direction:column;gap:18px}

.tta-site .sheet .meta{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding-bottom:12px;color:var(--ink-soft)}

.tta-site .sheet .price{font-family:var(--font-display);font-weight:900;font-size:64px;line-height:.9;font-variant-numeric:tabular-nums}

.tta-site .sheet .price small{font-family:var(--font-body);font-weight:600;font-size:15px;letter-spacing:0;margin-left:6px}

.tta-site .sheet .per{font-size:14px;color:var(--ink-soft);margin-top:-8px}

.tta-site .sheet .for{font-size:15.5px}

.tta-site .sheet ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:15px}

.tta-site .sheet li{display:grid;grid-template-columns:20px 1fr;gap:8px}

.tta-site .sheet li::before{content:"✓";font-weight:800}

.tta-site .sheet li.no{opacity:.5}

.tta-site .sheet li.no::before{content:"✕"}

.tta-site .sheet .btn{margin-top:auto;justify-content:center}

.tta-site .sheet.pick{background:var(--navy);color:var(--cream);transform:translateY(-14px);box-shadow:10px 10px 0 var(--hivis)}

.tta-site .sheet.pick .meta{color:rgba(255,244,223,.7);border-color:rgba(255,244,223,.3)}

.tta-site .sheet.pick .per{color:var(--hivis)}

.tta-site .sheet.pick .btn{border-color:var(--hivis)}

.tta-site .stamp{position:absolute;top:-22px;right:-14px;background:var(--hivis);color:var(--navy);border:2px solid var(--navy);font-family:var(--font-display);font-weight:900;font-size:20px;text-transform:uppercase;line-height:1;padding:9px 14px;transform:rotate(5deg);box-shadow:3px 3px 0 var(--navy)}

@media (max-width:960px){.tta-site .tiers{grid-template-columns:1fr}
.tta-site .sheet.pick{transform:none;order:-1}
}


.tta-site .compare{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}

.tta-site .compare-wrap{overflow-x:auto;border:2px solid var(--navy);border-radius:4px;background:var(--paper)}

.tta-site .compare th,.tta-site .compare td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line)}

.tta-site .compare thead th{font-family:var(--font-display);font-weight:900;font-size:22px;text-transform:uppercase;background:var(--cream);border-bottom:2px solid var(--navy)}

.tta-site .compare td:not(:first-child),.tta-site .compare th:not(:first-child){text-align:center;width:19%}

.tta-site .compare .mid{background:rgba(247,194,27,.22)}

.tta-site .compare thead .mid{background:var(--hivis)}

.tta-site .compare tbody tr:last-child td{border-bottom:0}

.tta-site .y{font-weight:800}
.tta-site .n{opacity:.35}


.tta-site .care{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.tta-site .care .card{border:2px solid rgba(255,244,223,.35);border-radius:4px;padding:24px;display:grid;gap:12px;align-content:start}

.tta-site .care .card p{font-size:15.5px;opacity:.82}

@media (max-width:860px){.tta-site .care{grid-template-columns:1fr}
}


/* ---------- work ---------- */
.tta-site .work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.tta-site .job{border:2px solid var(--navy);border-radius:4px;background:var(--paper);overflow:hidden;display:flex;flex-direction:column}

.tta-site .thumb{aspect-ratio:4/3;border-bottom:2px solid var(--navy);padding:16px;display:grid;align-content:start;gap:8px}

.tta-site .thumb .t1{height:14px;width:60%;border-radius:2px}

.tta-site .thumb .t2{height:44px;width:85%;border-radius:2px;margin-top:6px}

.tta-site .thumb .t3{height:10px;width:70%;border-radius:2px;opacity:.5}

.tta-site .thumb .t4{height:30px;width:42%;border-radius:4px;margin-top:8px}

.tta-site .job .body{padding:20px;display:grid;gap:10px}

.tta-site .job .body p{font-size:15px;color:var(--ink-soft)}

.tta-site .tag{display:inline-block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;border:1.5px solid var(--navy);padding:3px 8px;border-radius:20px;justify-self:start}

.tta-site .tag.concept{background:var(--hivis)}

@media (max-width:900px){.tta-site .work-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:560px){.tta-site .work-grid{grid-template-columns:1fr}
}


/* ---------- process + faq ---------- */
.tta-site .need{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}

.tta-site .need div{border:2px solid var(--navy);border-radius:4px;padding:18px;background:var(--paper);font-size:15.5px}

.tta-site .need b{display:block;font-family:var(--font-display);font-size:22px;text-transform:uppercase;margin-bottom:4px}

.tta-site .faq{display:grid;gap:0;border-top:2px solid var(--navy)}

.tta-site .faq details{border-bottom:2px solid var(--navy)}

.tta-site .faq summary{cursor:pointer;list-style:none;padding:22px 48px 22px 0;position:relative;font-weight:700;font-size:19px}

.tta-site .faq summary::-webkit-details-marker{display:none}

.tta-site .faq summary::after{content:"+";position:absolute;right:6px;top:14px;font-family:var(--font-display);font-size:36px;font-weight:900}

.tta-site .faq details[open] summary::after{content:"–"}

.tta-site .faq details p{padding:0 0 22px;color:var(--ink-soft)}


/* ---------- contact ---------- */
.tta-site .contact .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}

.tta-site form.quote{background:var(--paper);border:2px solid var(--navy);border-radius:4px;padding:28px;display:grid;gap:16px;box-shadow:10px 10px 0 var(--navy)}

.tta-site .field{display:grid;gap:6px}

.tta-site .field label{font-weight:700;font-size:14px}

.tta-site .field input,.tta-site .field select,.tta-site .field textarea{font:inherit;font-size:16px;padding:12px 14px;border:2px solid var(--navy);border-radius:4px;background:#fff;color:var(--navy)}

.tta-site .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}

@media (max-width:860px){.tta-site .contact .wrap{grid-template-columns:1fr}
}

@media (max-width:480px){.tta-site .row2{grid-template-columns:1fr}
}

.tta-site .form-note{display:none;background:var(--hivis);border:2px solid var(--navy);padding:14px;border-radius:4px;font-weight:600}

.tta-site .form-note.show{display:block}


/* ---------- cta + footer ---------- */
.tta-site .cta-band{text-align:left}

.tta-site .cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px}

.tta-site .elementor-location-footer{background:var(--navy-deep);color:var(--cream);padding:48px 0 36px;font-size:14px}

.tta-site .elementor-location-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}

.tta-site .elementor-location-footer a{text-decoration:none;opacity:.85}

.tta-site .elementor-location-footer a:hover{opacity:1;text-decoration:underline}

.tta-site .elementor-location-footer .cols{display:grid;gap:8px;align-content:start}

.tta-site .elementor-location-footer .base{grid-column:1/-1;border-top:1px solid rgba(255,244,223,.2);padding-top:18px;opacity:.65;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

.tta-site .elementor-location-footer .logo{align-items:flex-start}

@media (max-width:760px){.tta-site .elementor-location-footer .wrap{grid-template-columns:1fr 1fr}
.tta-site .elementor-location-footer .wrap>div:first-child{grid-column:1/-1}
}


/* ---------- multi-page additions ---------- */
.tta-site .crumb{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:8px}

.tta-site .crumb a{text-decoration:none}

.tta-site .crumb a:hover{text-decoration:underline}

.tta-site .page-hero{padding:clamp(40px,6vw,76px) 0 clamp(36px,5vw,56px)}

.tta-site .page-hero .wrap{display:grid;gap:20px}

.tta-site .page-hero h1{font-size:clamp(50px,7.2vw,100px)}

.tta-site .page-hero .lede{font-size:clamp(18px,1.6vw,21px);color:var(--ink-soft)}

.tta-site .funnel{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--navy);border-radius:4px;overflow:hidden}

.tta-site .funnel>div{padding:28px;display:grid;gap:12px;align-content:start;border-left:2px solid var(--navy);background:var(--paper)}

.tta-site .funnel>div:first-child{border-left:0}

.tta-site .funnel>div:nth-child(2){background:var(--navy);color:var(--cream)}

.tta-site .funnel .num{font-family:var(--font-display);font-weight:900;font-size:56px;line-height:.85;color:var(--hivis);-webkit-text-stroke:2px var(--navy)}

.tta-site .funnel>div:nth-child(2) .num{-webkit-text-stroke:0}

.tta-site .funnel p{font-size:15.5px}

.tta-site .funnel>div:not(:nth-child(2)) p{color:var(--ink-soft)}

.tta-site .funnel a{font-weight:700}

@media (max-width:860px){.tta-site .funnel{grid-template-columns:1fr}
.tta-site .funnel>div{border-left:0;border-top:2px solid var(--navy)}
.tta-site .funnel>div:first-child{border-top:0}
}

.tta-site .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}

.tta-site .card2{border:2px solid var(--navy);border-radius:4px;background:var(--paper);padding:26px;display:grid;gap:12px;align-content:start}

.tta-site .card2 .from{font-family:var(--font-display);font-weight:900;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}

.tta-site .card2 .from small{font-family:var(--font-body);font-weight:600;font-size:14px;margin-left:4px}

.tta-site .card2 p{font-size:15.5px;color:var(--ink-soft)}

.tta-site .card2 ul{margin:0;padding-left:18px;font-size:15px;display:grid;gap:5px}

.tta-site .card2 .btn{justify-self:start;margin-top:6px}

.tta-site .card2.feature{background:var(--navy);color:var(--cream)}

.tta-site .card2.feature p{color:rgba(255,244,223,.8)}

.tta-site .addons{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px}

.tta-site .addons th,.tta-site .addons td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}

.tta-site .addons td:last-child{text-align:right;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}

.tta-site .addons tr:last-child td{border-bottom:0}

.tta-site .addons td span{display:block;font-size:14px;color:var(--ink-soft);font-weight:400}

.tta-site .ai-row{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}

.tta-site .ai-list{display:grid;gap:0;border-top:2px solid rgba(255,244,223,.35)}

.tta-site .ai-list div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 0;border-bottom:2px solid rgba(255,244,223,.35);font-size:15.5px}

.tta-site .ai-list b{font-family:var(--font-mono);font-weight:500;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--hivis);padding-top:3px}

@media (max-width:860px){.tta-site .ai-row{grid-template-columns:1fr}
.tta-site .ai-list div{grid-template-columns:1fr;gap:4px}
}

.tta-site .trades{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.tta-site .trade{border:2px solid var(--navy);border-radius:4px;background:var(--paper);text-decoration:none;display:grid;gap:10px;padding:24px;transition:transform .15s ease,box-shadow .15s ease}

.tta-site .trade:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--navy)}

.tta-site .trade .label{color:var(--ink-soft)}

.tta-site .trade p{font-size:15px;color:var(--ink-soft)}

.tta-site .trade .go{font-weight:700;margin-top:4px}

@media (max-width:860px){.tta-site .trades{grid-template-columns:1fr}
}

.tta-site .towns{display:flex;flex-wrap:wrap;gap:10px}

.tta-site .towns span{border:2px solid var(--navy);border-radius:30px;padding:8px 16px;font-weight:600;background:var(--paper)}

.tta-site .prose{display:grid;gap:18px;font-size:17.5px;color:var(--ink-soft)}

.tta-site .prose h2{color:var(--navy);margin-top:14px}

.tta-site .two{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}

@media (max-width:860px){.tta-site .two{grid-template-columns:1fr}
}

.tta-site .checklist{list-style:none;padding:0;margin:0;display:grid;gap:12px}

.tta-site .checklist li{display:grid;grid-template-columns:26px 1fr;gap:10px;font-size:16px}

.tta-site .checklist li::before{content:"✓";font-weight:800;background:var(--hivis);border:2px solid var(--navy);width:24px;height:24px;display:grid;place-items:center;font-size:13px;border-radius:3px}

.tta-site .thumb.wk{position:relative;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:26px}

.tta-site .wk-bar{position:absolute;top:0;left:0;right:0;height:16px;opacity:.9}

.tta-site .wk-name{font-family:var(--font-display);font-weight:900;font-size:clamp(28px,3vw,38px);line-height:.92;text-transform:uppercase;max-width:12ch}

.tta-site .wk-town{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}

.tta-site .wk-btn{align-self:flex-start;color:#fff;font-weight:700;font-size:13px;padding:8px 14px;border-radius:5px;margin-top:4px}

.tta-site .job .go{font-weight:700;font-size:15px}


/* ===== 3. Elementor widget mappings ===== */


/* ---------- Elementor Button widget = .btn ---------- */
.tta-site .elementor-widget-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-body);font-weight:700;font-size:16px;line-height:1.55;padding:16px 24px;border-radius:4px;text-decoration:none;border:2px solid var(--navy);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;background:var(--navy);color:var(--cream);fill:currentColor}
.tta-site .elementor-widget-button .elementor-button:is(:hover,:focus,:visited){color:var(--cream)}
.tta-site .elementor-widget-button .elementor-button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--hivis)}
.tta-site .elementor-widget-button .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px}
.tta-site .btn-hivis .elementor-button,.tta-site .btn-hivis .elementor-button:is(:hover,:focus,:visited){background:var(--hivis);color:var(--navy)}
.tta-site .btn-hivis .elementor-button:hover{box-shadow:4px 4px 0 var(--navy)}
.tta-site .btn-ghost .elementor-button,.tta-site .btn-ghost .elementor-button:is(:hover,:focus,:visited){background:transparent;color:var(--navy)}
.tta-site .btn-ghost .elementor-button:hover{box-shadow:4px 4px 0 var(--navy)}
.tta-site .on-navy .btn-ghost .elementor-button,.tta-site .on-navy .btn-ghost .elementor-button:is(:hover,:focus,:visited){color:var(--cream);border-color:var(--cream)}
.tta-site .on-navy .btn-ghost .elementor-button:hover{box-shadow:4px 4px 0 var(--hivis)}
.tta-site .on-navy .btn-hivis .elementor-button{border-color:var(--navy)}
.tta-site .sheet>.elementor-widget-button{margin-top:auto}
.tta-site .sheet .elementor-button{display:flex;width:100%}
.tta-site .sheet.pick .elementor-button{border-color:var(--hivis)}
.tta-site .card2>.elementor-widget-button{justify-self:start;margin-top:6px}

/* ---------- Theme Builder header / footer ---------- */
.tta-site .elementor-location-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:20}
.tta-site .elementor-location-header .logo{color:var(--navy)}
.tta-site .elementor-location-header .elementor-widget-shortcode{min-width:0}
.tta-site .elementor-location-footer .logo{color:var(--cream)}
@media (max-width:860px){.tta-site .elementor-location-header .elementor-widget-shortcode{order:3;width:100%}}

/* skip link (Hello Elementor prints it, pointing at #content) */
.tta-site .skip-link{position:absolute;left:-9999px;top:8px;z-index:100000;display:inline-flex;align-items:center;font-family:var(--font-body);font-weight:700;font-size:16px;padding:16px 24px;border-radius:4px;text-decoration:none;border:2px solid var(--navy);background:var(--hivis);color:var(--navy)}
.tta-site .skip-link:focus{left:8px;clip:auto;clip-path:none;width:auto;height:auto;overflow:visible}

/* ---------- breadcrumbs (Rank Math shortcode inside .crumb) ---------- */
.tta-site .crumb .rank-math-breadcrumb p{display:flex;flex-wrap:wrap;gap:8px;margin:0;max-width:none;font-size:inherit;color:inherit;line-height:inherit}
.tta-site .crumb .rank-math-breadcrumb .last{color:inherit}

/* ---------- FAQ: Nested Accordion styled as the reference <details> list ---------- */
.tta-site .faq .e-n-accordion{display:grid;gap:0;--n-accordion-item-title-space-between:0px}
.tta-site .faq .e-n-accordion-item{border-bottom:2px solid var(--navy);margin:0}
.tta-site .faq .e-n-accordion-item-title{cursor:pointer;list-style:none;padding:22px 48px 22px 0;position:relative;font-weight:700;font-size:19px;border:0;background:none;color:inherit;display:block;justify-content:normal}
.tta-site .faq .e-n-accordion-item-title::-webkit-details-marker{display:none}
.tta-site .faq .e-n-accordion-item-title-header{display:block}
.tta-site .faq .e-n-accordion-item-title-text{font:inherit;text-transform:none;letter-spacing:0;line-height:1.55;color:inherit;margin:0}
.tta-site .faq .e-n-accordion-item-title-icon{display:none}
.tta-site .faq .e-n-accordion-item-title::after{content:"+";position:absolute;right:6px;top:14px;font-family:var(--font-display);font-size:36px;font-weight:900;line-height:1.55}
.tta-site .faq .e-n-accordion-item[open]>.e-n-accordion-item-title::after{content:"–"}
.tta-site .faq .e-n-accordion-item>.e-con{border:0;padding:0}
.tta-site .faq .e-n-accordion-item p{padding:0 0 22px;color:var(--ink-soft)}

/* ---------- Free site check form: Elementor Pro Form styled as form.quote ---------- */
.tta-site .e-con.quote{background:var(--paper);border:2px solid var(--navy);border-radius:4px;padding:28px;box-shadow:10px 10px 0 var(--navy)}
.tta-site .quote .elementor-form-fields-wrapper{margin:0 -8px -16px}
.tta-site .quote .elementor-field-group{padding:0 8px;margin-bottom:16px;display:grid;gap:6px;align-content:start}
.tta-site .quote .elementor-field-group>label,.tta-site .quote .elementor-field-label{font-weight:700;font-size:14px;color:var(--navy);padding:0;margin:0}
.tta-site .quote .elementor-field-textual,.tta-site .quote .elementor-select-wrapper select{font:inherit;font-size:16px;line-height:1.55;padding:12px 14px;border:2px solid var(--navy);border-radius:4px;background:#fff;color:var(--navy);min-height:0;width:100%}
.tta-site .quote .elementor-select-wrapper .select-caret-down-wrapper{color:var(--navy);right:14px}
.tta-site .quote .elementor-field-type-submit .elementor-button{width:100%;justify-content:center}
.tta-site .quote .elementor-message{background:var(--hivis);border:2px solid var(--navy);padding:14px;border-radius:4px;font-weight:600;margin-top:16px}
.tta-site .quote .elementor-message::before{display:none}
.tta-site .quote .elementor-field-group .elementor-field-label + .elementor-field{margin:0}
.tta-site .quote .elementor-form .elementor-field-group.elementor-col-50{width:50%}
@media (max-width:480px){.tta-site .quote .elementor-form .elementor-field-group.elementor-col-50{width:100%}}
.tta-site .quote .consent{font-size:14px;color:var(--ink-soft);margin-top:14px}

/* ---------- Projects Loop Grid = .work-grid ---------- */
.tta-site .elementor-widget-loop-grid.work-grid{display:block}
.tta-site .work-grid .elementor-loop-container{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
/* every card the same height, not just per row */
.tta-site .work-grid .elementor-loop-container{grid-auto-rows:1fr}
.tta-site .work-grid .tta-card-sc{flex:1 1 auto;display:flex;flex-direction:column}
.tta-site .work-grid .tta-card-sc .elementor-shortcode{flex:1 1 auto;display:flex;flex-direction:column}
.tta-site .work-grid .job{flex:1 1 auto}
.tta-site .work-grid .job{display:flex;flex-direction:column}
.tta-site .work-grid .job .body{display:flex;flex-direction:column;align-items:stretch}
.tta-site .work-grid .job .body>.tag{align-self:flex-start}
.tta-site .work-grid .job .job-links{margin-top:auto;padding-top:16px}
@media (max-width:560px){.tta-site .work-grid .elementor-loop-container{grid-auto-rows:auto}}
.tta-site .elementor-widget.tta-work-trades{margin-bottom:32px!important}
.tta-site .work-grid .e-loop-item,.tta-site .work-grid .e-loop-item>.e-con{height:100%}
.tta-site .work-grid .e-loop-item>.e-con,.tta-site .work-grid .e-loop-item>.elementor-widget{display:flex;flex-direction:column;height:100%}
@media (max-width:900px){.tta-site .work-grid .elementor-loop-container{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tta-site .work-grid .elementor-loop-container{grid-template-columns:1fr}}
.tta-site .tta-hide-empty:not(:has(.e-loop-item)){display:none}

/* accessibility: crossed-out package items at the reference 50% opacity fail contrast (2.96:1); 65% passes 4.5:1 */
.tta-site .sheet li.no{opacity:.65}

/* ---------- placeholders for open items (visible on purpose) ---------- */
.tta-site.logged-in .tta-todo{outline:3px dashed #B3261E;outline-offset:3px;cursor:help}
.tta-site .tta-todo-note{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:#B3261E;color:#fff;padding:2px 6px;border-radius:3px;vertical-align:middle}

/* ---------- Resources (blog): hub, topic archives, article cards ---------- */
.tta-site .topics{display:flex;flex-wrap:wrap;gap:10px}
.tta-site .topics a{border:2px solid var(--navy);border-radius:30px;padding:8px 16px;font-weight:600;font-size:15px;background:var(--paper);text-decoration:none}
.tta-site .topics a:hover{background:rgba(27,40,105,.08)}
.tta-site .topics a[aria-current]{background:var(--navy);color:var(--cream)}
.tta-site .post-grid .elementor-widget-shortcode,.tta-site .post-grid .elementor-shortcode{height:100%}
.tta-site .post-card{height:100%;display:flex;flex-direction:column;gap:10px}
.tta-site .post-card h3{font-size:clamp(24px,2.2vw,28px)}
.tta-site .post-card .tag{align-self:flex-start}
.tta-site .post-card .go{margin-top:auto;padding-top:4px}
.tta-site .post-grid .e-load-more-anchor{display:none}
.tta-site .post-grid .elementor-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:44px;font-weight:700}
.tta-site .post-grid .elementor-pagination .page-numbers{display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 12px;border:2px solid var(--navy);border-radius:4px;background:var(--paper);text-decoration:none;margin:0}
.tta-site .post-grid .elementor-pagination .page-numbers.current{background:var(--navy);color:var(--cream)}
.tta-site .post-grid .elementor-pagination .page-numbers.dots{border:0;background:none;min-width:0}
.tta-site .post-grid .e-loop-nothing-found-message{font-size:18px;color:var(--ink-soft)}

/* ---------- Single article ---------- */
.tta-site .post-hero h1{font-size:clamp(42px,5.8vw,80px);max-width:20ch}
.tta-site .post-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-soft)}
.tta-site .post-meta a{text-decoration:none;color:var(--navy)}
.tta-site .post-meta a:hover{text-decoration:underline}
.tta-site .post-layout{display:grid;grid-template-columns:minmax(0,720px) 260px;justify-content:space-between;gap:56px;align-items:start}
.tta-site .post-layout>.elementor-widget-shortcode{position:sticky;top:96px}
.tta-site .toc{border-top:2px solid var(--navy);padding-top:14px;display:grid;gap:12px}
.tta-site .toc .label{color:var(--ink-soft)}
.tta-site .toc ol{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14.5px;line-height:1.35;counter-reset:t}
.tta-site .toc li{counter-increment:t;display:grid;grid-template-columns:26px 1fr}
.tta-site .toc li::before{content:counter(t,decimal-leading-zero);font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);padding-top:2px}
.tta-site .toc a{text-decoration:none;font-weight:600}
.tta-site .toc a:hover{text-decoration:underline}
@media (max-width:1024px){.tta-site .post-layout{grid-template-columns:minmax(0,1fr)}.tta-site .post-layout>.elementor-widget-shortcode{display:none}}

.tta-site .entry{font-size:18px;line-height:1.65;color:var(--navy)}
.tta-site .entry>*{margin:0}
.tta-site .entry>*+*{margin-top:1.15em}
.tta-site .entry p{max-width:none}
.tta-site .entry h2{font-size:clamp(34px,4vw,48px);margin-top:1.5em;scroll-margin-top:96px}
.tta-site .entry h3{font-size:clamp(23px,2.2vw,27px);margin-top:1.5em;scroll-margin-top:96px}
.tta-site .entry h2+*,.tta-site .entry h3+*{margin-top:.7em}
.tta-site .entry a{font-weight:600;text-decoration-color:var(--hivis);text-decoration-thickness:3px;text-underline-offset:3px}
.tta-site .entry a:hover{background:rgba(247,194,27,.3)}
.tta-site .entry ul,.tta-site .entry ol{padding-left:1.4em;display:grid;gap:.45em}
.tta-site .entry li ul,.tta-site .entry li ol{margin-top:.45em}
.tta-site .entry li::marker{color:var(--navy);font-weight:700}
.tta-site .entry strong{font-weight:700}
.tta-site .entry .tta-quick{background:var(--paper);border:2px solid var(--navy);border-left:12px solid var(--hivis);border-radius:4px;padding:18px 22px}
.tta-site .entry blockquote{margin-left:0;margin-right:0;border-left:6px solid var(--navy);padding:4px 0 4px 20px;display:grid;gap:.8em;font-size:17px;color:var(--ink-soft)}
.tta-site .entry blockquote p{margin:0}
.tta-site .entry .wp-block-table{margin-left:0;margin-right:0;overflow-x:auto;border:2px solid var(--navy);border-radius:4px;background:var(--paper)}
.tta-site .entry table{width:100%;min-width:520px;border-collapse:collapse;font-size:15.5px;line-height:1.45}
.tta-site .entry th,.tta-site .entry td{padding:12px 14px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--line)}
.tta-site .entry thead th{background:var(--cream);border-bottom:2px solid var(--navy);font-weight:700}
.tta-site .entry tbody tr:last-child td{border-bottom:0}
.tta-site .entry code{font-family:var(--font-mono);font-size:.88em;background:rgba(27,40,105,.08);padding:1px 5px;border-radius:3px}
.tta-site .entry pre{background:var(--navy);color:var(--cream);padding:16px 18px;border-radius:4px;overflow-x:auto;font-size:14.5px;line-height:1.5}
.tta-site .entry pre code{background:none;padding:0;font-size:inherit}
.tta-site .entry hr{border:0;border-top:2px solid var(--navy)}
/* "[Benji: ...]" notes: only editors get this markup (theme strips it for visitors) */
.tta-site .entry .tta-benji{outline:3px dashed #B3261E;outline-offset:3px;background:#FDECEA;color:#7A1A14;padding:12px 16px;font-family:var(--font-mono);font-size:14px;line-height:1.5}
.tta-site .entry .tta-benji::before{content:"Editor note, hidden from visitors: ";font-weight:700}
.tta-site .post-grid .elementor-pagination span.page-numbers.prev,.tta-site .post-grid .elementor-pagination span.page-numbers.next{display:none}

/* ---------- Our work: cards, case studies, trade archives ---------- */
.tta-site .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tta-site .job .thumb{text-decoration:none}
.tta-site .job .thumb.shot{padding:0;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--paper)}
.tta-site .job .thumb.shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s ease}
.tta-site .job:hover .thumb.shot img{transform:scale(1.03)}
.tta-site .job .thumb.wk{background:#ECEFF2;color:var(--navy)}
.tta-site .job h3 a{text-decoration:none;color:inherit}
.tta-site .job h3 a:hover{text-decoration:underline;text-decoration-color:var(--hivis);text-decoration-thickness:3px}
.tta-site .job .body{flex:1;align-content:start}
.tta-site .job-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:auto;padding-top:4px}
.tta-site .job .go-ext{color:var(--ink-soft)}
.tta-site .topics .n{font-family:var(--font-mono);font-size:12px;opacity:.7;margin-left:2px}
.tta-site .work-more{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:22px;font-weight:700}
/* case study */
.tta-site .proj-hero h1{font-size:clamp(46px,6.4vw,92px);max-width:16ch}
.tta-site .proj-kicker a{color:inherit}
.tta-site .proj-hero .lede{max-width:46ch}
.tta-site .proj-shots{position:relative;margin:0;padding-right:clamp(40px,9vw,130px);padding-bottom:clamp(30px,5vw,60px)}
.tta-site .browser{border:2px solid var(--navy);border-radius:6px;overflow:hidden;background:var(--paper);box-shadow:8px 8px 0 var(--navy)}
.tta-site .browser-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:2px solid var(--navy);background:var(--cream)}
.tta-site .browser-bar i{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--navy)}
.tta-site .browser-bar span{font-family:var(--font-mono);font-size:12px;margin-left:10px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tta-site .browser img{display:block;width:100%;height:auto}
.tta-site .phone-shot{position:absolute;right:0;bottom:0;width:clamp(110px,20vw,240px);border:2px solid var(--navy);border-radius:22px;padding:7px;background:var(--navy);box-shadow:6px 6px 0 var(--hivis)}
.tta-site .phone-shot img{display:block;width:100%;height:auto;aspect-ratio:390/700;object-fit:cover;object-position:top;border-radius:15px}
.tta-site .proj-layout{display:grid;grid-template-columns:minmax(0,720px) 300px;justify-content:space-between;gap:56px;align-items:start}
.tta-site .proj-layout>.elementor-widget-shortcode{position:sticky;top:96px}
.tta-site .facts{border:2px solid var(--navy);border-radius:4px;background:var(--paper);padding:20px;display:grid;gap:14px}
.tta-site .facts .label{color:var(--ink-soft)}
.tta-site .facts dl{margin:0;display:grid;gap:12px}
.tta-site .facts dl>div{display:grid;gap:2px;border-bottom:1px solid rgba(27,40,105,.18);padding-bottom:10px}
.tta-site .facts dt{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.tta-site .facts dd{margin:0;font-weight:600;font-size:15.5px;overflow-wrap:anywhere}
.tta-site .facts .btn{justify-content:center}
@media (max-width:1024px){.tta-site .proj-layout{grid-template-columns:minmax(0,1fr);gap:32px}.tta-site .proj-layout>.elementor-widget-shortcode{position:static;order:-1}}
@media (max-width:560px){.tta-site .proj-shots{padding-right:44px;padding-bottom:36px}.tta-site .browser{box-shadow:5px 5px 0 var(--navy)}.tta-site .phone-shot{border-radius:14px;padding:4px}.tta-site .phone-shot img{border-radius:10px}}
.tta-site .proj-hero .ctas,.tta-site .tta-trade-lede .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.tta-site .tta-trade-lede .lede{max-width:52ch}
.tta-site .proj-kicker{margin-bottom:-4px}

/* ---------- Home hero: three real phone screenshots (shortcode tta_hero_phones) ---------- */
.tta-site .hero-phones-wrap{width:100%;justify-self:stretch}
.tta-site .hero-phones{position:relative;width:500px;max-width:100%;aspect-ratio:500/600;margin-inline:auto}
.tta-site .hero-phones .hp{position:absolute;display:block;background:var(--navy);border:8px solid var(--navy);border-radius:34px;text-decoration:none;transition:transform .25s ease}
.tta-site .hero-phones .hp-screen{display:block;border-radius:26px;overflow:hidden;background:#fff}
.tta-site .hero-phones .hp img{display:block;width:100%;height:auto;aspect-ratio:390/780;object-fit:cover;object-position:top}
.tta-site .hero-phones .hp-c{width:56%;left:22%;top:0;z-index:3;box-shadow:12px 12px 0 var(--navy)}
.tta-site .hero-phones .hp-l{width:42%;left:3%;top:13%;z-index:1;transform:rotate(-7deg)}
.tta-site .hero-phones .hp-r{width:42%;right:3%;top:13%;z-index:2;transform:rotate(7deg)}
.tta-site .hero-phones .hp-l .hp-screen,.tta-site .hero-phones .hp-r .hp-screen{filter:saturate(.85) brightness(.96)}
.tta-site .hero-phones .hp-c:hover,.tta-site .hero-phones .hp-c:focus-visible{transform:translateY(-6px)}
.tta-site .hero-phones .hp-l:hover,.tta-site .hero-phones .hp-l:focus-visible{transform:rotate(-7deg) translateY(-6px);z-index:4}
.tta-site .hero-phones .hp-r:hover,.tta-site .hero-phones .hp-r:focus-visible{transform:rotate(7deg) translateY(-6px);z-index:4}
.tta-site .hero-phones .hp-cap{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);white-space:nowrap;background:var(--cream);color:var(--navy);border:2px solid var(--navy);border-radius:999px;padding:4px 10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.tta-site .hero-phones .hp-tag{position:absolute;left:auto;right:-12px;top:7%;bottom:auto;transform:rotate(5deg);z-index:5;text-decoration:none;color:var(--navy)}
.tta-site .hero-phones .hp-tag:hover{background:var(--cream)}
.tta-site .hero-phones .hp-l .hp-cap,.tta-site .hero-phones .hp-r .hp-cap{display:none}
@media (max-width:860px){.tta-site .hero-phones{width:420px;margin-top:12px}}
@media (max-width:560px){.tta-site .hero-phones .hp{border-width:5px;border-radius:22px}.tta-site .hero-phones .hp-screen{border-radius:17px}.tta-site .hero-phones .hp-c{box-shadow:7px 7px 0 var(--navy)}.tta-site .hero-phones .hp-cap{font-size:9px;padding:3px 7px;bottom:-11px}.tta-site .hero-phones .hp-tag{right:0;font-size:10px;padding:6px 9px}}
@media (prefers-reduced-motion:reduce){.tta-site .hero-phones .hp{transition:none}}
/* reCAPTCHA v3: badge hidden (Google's notice is in the consent line instead); its field group takes no space */
.grecaptcha-badge{visibility:hidden!important;right:0!important;bottom:0!important;width:1px!important;overflow:hidden!important}
.tta-site .quote .elementor-field-type-recaptcha_v3{margin:0!important;padding:0!important;min-height:0}
/* a11y (sign-off 2026-11-09): footer text links need more than colour; footer phone/email tap targets >= 24px */
.tta-site .elementor-location-footer .elementor-widget-text-editor p a{text-decoration:underline;text-underline-offset:2px}
.tta-site .elementor-location-footer span.label a{display:inline-block;padding:4px 0}
/* screen-reader-only headings: out of the flex flow so they add no gap */
.tta-site .elementor-element.elementor-screen-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0);margin:0!important;padding:0!important}
/* Google reviews band (template "Google reviews", build/reviews.js) */
.tta-site .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.tta-site .review{margin:0;background:var(--paper);border:2px solid var(--navy);border-radius:4px;padding:24px 24px 22px;display:flex;flex-direction:column;gap:14px;box-shadow:6px 6px 0 var(--navy)}
.tta-site .review .stars{display:flex;gap:3px}
.tta-site .review .stars svg{fill:var(--hivis);stroke:var(--navy);stroke-width:1.2}
.tta-site .review blockquote{margin:0;padding:0;border:0;font-size:16px;line-height:1.55;color:var(--navy);flex:1}
.tta-site .review blockquote p{margin:0}
.tta-site .review blockquote p::before{content:"\201C"}
.tta-site .review blockquote p::after{content:"\201D"}
.tta-site .review figcaption{display:grid;gap:2px;border-top:1px dashed var(--line);padding-top:12px;font-size:14px;color:var(--ink-soft)}
.tta-site .review figcaption b{color:var(--navy);font-size:15px}
.tta-site .review figcaption .label{margin-top:4px}
@media (max-width:860px){.tta-site .reviews{grid-template-columns:1fr;gap:18px}}
