/* Time Freeze components. Loaded only on the pages that use them. */
.tf-wrap{max-width:var(--wide,1360px);margin:0 auto;padding:0 var(--gut)}
.tf-jobs{background:var(--noir);color:#fff;padding:clamp(52px,7vw,92px) 0}
.tf-jobs h2{font-family:var(--display);font-weight:500;font-size:clamp(32px,4.4vw,56px);line-height:1.06;margin:0 0 14px;color:#fff}
.tf-jobs-head p{font-size:18px;line-height:1.65;color:#E9DCD6;max-width:62ch;margin:0}
.tf-tabs{display:flex;gap:0;margin:32px 0 0;border-bottom:1px solid rgba(217,178,124,.3)}
.tf-tabs button{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:#D9C8BF;font:500 17px/1.2 var(--body);padding:14px 22px 14px 0;margin-right:22px;cursor:pointer;min-height:48px;transition:color .25s,border-color .25s}
.tf-tabs button[aria-selected=true]{color:#fff;border-bottom-color:var(--gold)}
.tf-stage{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center;margin-top:32px}
.tf-diagram svg{display:block;width:100%;height:auto}
.tf-diagram small{display:block;margin-top:10px;font-size:13px;color:#BCA9A0}
.tf-diagram text{font-family:var(--body);font-size:17px;fill:#EFE3DC}
.tf-panel h3{font-family:var(--display);font-weight:500;font-size:clamp(25px,3vw,34px);line-height:1.12;margin:0 0 12px;color:#fff}
.tf-panel p{font-size:18px;line-height:1.65;color:#E9DCD6;margin:0 0 12px}
.tf-panel a{color:var(--gold)!important;text-underline-offset:3px}
.tf-panel ul{margin:0 0 12px;padding-left:20px;color:#E9DCD6;font-size:17px;line-height:1.6}
.tf-js .tf-panel:not(.on){display:none}
.tf-panel+.tf-panel{margin-top:28px}.tf-js .tf-panel+.tf-panel{margin-top:0}
.tfg{opacity:0;transition:opacity .45s ease}
[data-job="1"] .tfg1,[data-job="2"] .tfg2,[data-job="3"] .tfg3{opacity:1}
.tf-no-js .tfg1{opacity:1}
@keyframes tf-pulse{0%,100%{opacity:.2}50%{opacity:.9}}
@keyframes tf-draw{0%,100%{opacity:.55}50%{opacity:.85}}
@keyframes tf-sweep{0%{transform:translateX(0)}50%{transform:translateX(250px)}100%{transform:translateX(0)}}
@keyframes tf-scatter{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes tf-shrink{0%,100%{opacity:.8}50%{opacity:.45}}
.tf-heat{animation:tf-pulse 3.2s var(--d,0s) ease-in-out infinite}
.tf-col{transform-box:fill-box;transform-origin:center;animation:tf-draw 4s ease-in-out infinite}
.tf-sweep{animation:tf-sweep 6s ease-in-out infinite}
.tf-bit{animation:tf-scatter 3.6s var(--d,0s) ease-in-out infinite}
.tf-fat{transform-box:fill-box;transform-origin:center;animation:tf-shrink 4.4s var(--d,0s) ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.tf-heat,.tf-col,.tf-sweep,.tf-bit,.tf-fat{animation:none}.tf-heat{opacity:.6}}

/* zone map */
.tf-zones{background:var(--veil);padding:clamp(48px,6vw,80px) 0}
.tf-zones h2,.tf-sec h2{font-family:var(--display);font-weight:500;font-size:clamp(30px,4vw,50px);line-height:1.08;margin:0 0 14px;color:var(--ink)}
.tf-zones-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:26px}
.tf-face svg{display:block;width:100%;max-width:400px;height:auto;margin:0 auto}
.tf-dot{cursor:pointer;outline:none}
.tf-dot circle:nth-of-type(1){fill:rgba(216,16,47,.16);transition:fill .25s}
.tf-dot circle:nth-of-type(2){fill:var(--laser-deep)}
.tf-dot:focus-visible circle:nth-of-type(1),.tf-dot.on circle:nth-of-type(1){fill:rgba(216,16,47,.42)}
.tf-dot text{font-family:var(--body);font-size:15px;font-weight:500;fill:var(--ink)}
.tf-zlist{list-style:none;margin:0;padding:0}
.tf-zlist li{border-top:1px solid rgba(138,106,54,.34)}
.tf-zlist li:last-child{border-bottom:1px solid rgba(138,106,54,.34)}
.tf-zlist button{appearance:none;background:none;border:0;width:100%;text-align:left;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 0;min-height:52px;font:500 19px/1.25 var(--body);color:var(--ink);cursor:pointer}
.tf-zlist button::after{content:'+';color:var(--gold-deep);font-size:22px;line-height:1;transition:transform .25s}
.tf-zlist button[aria-expanded=true]::after{transform:rotate(45deg)}
.tf-zbody{padding:0 0 16px;font-size:17px;line-height:1.62;color:#3F2C2E}
.tf-zbody p{margin:0 0 8px}
.tf-zbody a{color:var(--laser-deep);text-underline-offset:3px}
.tf-js .tf-zbody:not(.on){display:none}

/* material table: rows on wide screens, stacked records on phones */
.tf-sec{padding:clamp(44px,5.5vw,76px) 0}
.tf-sec>.tf-wrap>p{font-size:18px;line-height:1.68;color:#3F2C2E;max-width:72ch;margin:0 0 14px}
.tf-sec a{color:var(--laser-deep);text-underline-offset:3px}
.tf-mat{width:100%;border-collapse:collapse;margin:22px 0 0;font-size:16px;line-height:1.5;color:var(--ink)}
.tf-mat th{font-weight:500;text-align:left;padding:10px 14px 10px 0;border-bottom:2px solid var(--gold-deep);vertical-align:bottom}
.tf-mat td{padding:13px 14px 13px 0;border-bottom:1px solid rgba(138,106,54,.3);vertical-align:top}
.tf-mat tbody th{font-weight:500;border-bottom:1px solid rgba(138,106,54,.3);padding:13px 14px 13px 0;vertical-align:top}
.tf-mat .y{color:#2B6A4F;font-weight:500}.tf-mat .n{color:var(--laser-deep);font-weight:500}
@media(max-width:760px){
 .tf-mat thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .tf-mat,.tf-mat tbody,.tf-mat tr,.tf-mat td,.tf-mat tbody th{display:block;width:100%}
 .tf-mat tr{padding:14px 0;border-bottom:1px solid rgba(138,106,54,.3)}
 .tf-mat tbody th{border:0;padding:0 0 6px;font-size:18px}
 .tf-mat td{border:0;padding:3px 0}
 .tf-mat td::before{content:attr(data-h) ': ';color:var(--mute);font-size:15px}
}

/* pull quote */
.tf-quote{margin:30px 0 8px;padding:6px 0 6px 26px;border-left:2px solid var(--laser);max-width:64ch}
.tf-quote p{font-family:var(--display);font-size:clamp(23px,2.7vw,31px);line-height:1.28;color:var(--ink);margin:0}
.tf-quote footer{margin-top:10px;font-size:15px;color:var(--mute)}
.tf-sec.dark{background:var(--oxblood);color:#fff}
.tf-sec.dark h2,.tf-sec.dark .tf-quote p{color:#fff}
.tf-sec.dark>.tf-wrap>p,.tf-sec.dark .tf-quote footer{color:#E9DCD6}
.tf-sec.dark a,.tf-sec.dark sup a{color:var(--gold)!important}

/* side by side */
.tf-cmp{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:20px}
.tf-cmp table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.5;color:var(--ink)}
.tf-cmp table.w4{min-width:660px}
.tf-cmp th{font-weight:500;text-align:left;padding:10px 14px 10px 0;border-bottom:2px solid var(--gold-deep);vertical-align:bottom}
.tf-cmp td{padding:11px 14px 11px 0;border-bottom:1px solid rgba(138,106,54,.3);vertical-align:top}
.tf-cmp thead th{font-size:17px;border-bottom:2px solid var(--gold-deep)!important}
.tf-cmp tbody th{font-family:var(--body);font-size:16px;font-weight:500;border-bottom:1px solid rgba(138,106,54,.3)!important;padding:11px 14px 11px 0;vertical-align:top}

/* 60-second check */
.tf-check{background:var(--noir);color:#fff;padding:clamp(28px,4vw,44px);margin-top:24px}
.tf-check h3{font-family:var(--display);font-weight:500;font-size:clamp(25px,3vw,34px);margin:0 0 6px;color:#fff}
.tf-check>p{margin:0 0 14px;color:#E9DCD6;font-size:17px}
.tf-check fieldset{border:0;margin:0 0 18px;padding:0}
.tf-check legend{font-size:17px;font-weight:500;margin:0 0 8px;padding:0;color:#fff}
.tf-check label{display:inline-flex;align-items:center;min-height:46px;margin:0 8px 8px 0;cursor:pointer}
.tf-check input{position:absolute;opacity:0;width:1px;height:1px}
.tf-check label span{display:block;border:1px solid rgba(217,178,124,.55);padding:10px 15px;font-size:16px;color:#F0E6E0;transition:background .2s,color .2s}
.tf-check input:checked+span{background:var(--gold);border-color:var(--gold);color:var(--noir)}
.tf-check input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.tf-check a.e-btn,.tf-check a.tf-send{display:inline-block;background:var(--laser);color:#fff;text-decoration:none;font-weight:500;padding:14px 22px;min-height:48px}
.tf-check small{display:block;margin-top:10px;color:#BCA9A0;font-size:14px}
.tf-urgent{border-left:3px solid var(--laser);padding:14px 18px;background:#FBEDEA;font-size:17px;line-height:1.6;color:#3F2C2E;margin:18px 0}
.tf-urgent strong{font-weight:600}

@media(max-width:860px){
 .tf-stage,.tf-zones-grid{grid-template-columns:1fr}
 .tf-tabs button{padding-right:0;margin-right:18px;font-size:16px}
}

.tf-fig{margin:0 0 26px}
.tf-fig img{display:block;width:100%;height:clamp(180px,26vw,320px);object-fit:cover}

/* before and after, on request only */
.tf-ba{background:var(--oxblood);color:#fff;padding:clamp(44px,6vw,76px) 0}
.tf-ba .tf-wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,56px);align-items:center}
.tf-ba h2{font-family:var(--display);font-weight:500;font-size:clamp(30px,4vw,50px);line-height:1.08;margin:0 0 12px;color:#fff}
.tf-ba p{font-size:18px;line-height:1.65;color:#E9DCD6;margin:0;max-width:60ch}
.tf-ba a.tf-ba-btn{display:block;background:var(--laser);color:#fff;text-decoration:none;font-weight:500;font-size:18px;line-height:1.3;padding:18px 22px;min-height:56px;text-align:center;transition:background .2s}
.tf-ba a.tf-ba-btn:hover{background:var(--laser-deep)}
.tf-ba small{display:block;margin-top:10px;color:#CDB9B0;font-size:14px;line-height:1.5}
@media(max-width:860px){.tf-ba .tf-wrap{grid-template-columns:1fr}}
