/* Optional interactive preview layer. Native Elementor template stays independent. */
body.thornleys-interactive-page{overflow-x:clip}html:has(.thornleys-interactive-page){scroll-padding-top:115px}.thornleys-interactive-page .tl3-01-header{position:sticky!important;top:0;z-index:30;padding-top:18px!important;padding-bottom:18px!important;background:#ffffffed!important;backdrop-filter:blur(18px);transition:box-shadow .3s,border-color .3s;border-bottom:1px solid transparent}.thornleys-interactive-page.is-scrolled .tl3-01-header{box-shadow:0 8px 35px #001a2910;border-color:#e2edf1}
.tl3-hero-layout{min-height:590px;position:relative;isolation:isolate}.tl3-hero-words-and-cta{z-index:2}.tl3-replaceable-3d-hero-artwork{position:relative;perspective:1100px;align-self:stretch;justify-content:center}.tl3-replaceable-3d-hero-artwork>.elementor-widget-image{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1);will-change:transform}.tl3-replaceable-3d-hero-artwork img{width:110%!important;max-width:110%;margin-left:-5%;mix-blend-mode:multiply;animation:stage-arrive 1.2s cubic-bezier(.2,.8,.2,1) both}.tl3-hero-layout:after{content:'';position:absolute;z-index:-1;right:0;top:8%;width:52%;height:80%;border-radius:50%;background:radial-gradient(ellipse,#dff8ff 0,transparent 68%);pointer-events:none}
.scene-label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;font-size:12px;letter-spacing:.1em;color:#566a76}.scene-label span:last-child{letter-spacing:0;color:#007da0}.scene-announcement{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.tl3-three-disciplines{gap:12px!important;padding-top:22px!important}.scene-choice{position:relative;display:flex;flex-direction:column;gap:8px;width:100%;min-height:106px;flex:1;text-align:left;border:1px solid #e0e9ed;background:#fff;border-radius:8px;padding:22px 24px;color:#080d11;cursor:pointer;font:inherit;transition:background .25s,border-color .25s,transform .25s}.scene-choice:after{content:'↗';position:absolute;right:20px;top:24px;font-size:24px;transition:transform .25s}.scene-choice:hover{background:#effaff;border-color:#00b0dc;transform:translateY(-3px)}.scene-choice[aria-pressed="true"]{background:#080d11;color:white;border-color:#080d11}.scene-choice[aria-pressed="true"]:after{color:#00b0dc}.scene-choice strong{font-size:12px;letter-spacing:.15em}.scene-choice small{font-size:15px;opacity:.72}.scene-choice:focus-visible,.motion-toggle:focus-visible{outline:3px solid #00b0dc;outline-offset:4px}
.tl3-03-brand-statement{overflow:hidden;padding-top:25px!important;padding-bottom:25px!important}.brand-track{display:flex;gap:60px;width:max-content;animation:brand-drift 25s linear infinite;font-family:Anton,sans-serif;font-size:clamp(38px,5vw,72px);line-height:1.2}.brand-track span{white-space:nowrap}.brand-track b{font-family:'DM Sans',sans-serif;font-weight:400;margin:0 25px}.brand-static{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.tl3-editable-service-cards>.e-con{border:1px solid #e1e9ec!important;border-radius:14px;padding:25px!important;background:#fff;transition:transform .4s,box-shadow .4s,border-color .4s;position:relative;overflow:hidden}.tl3-editable-service-cards>.e-con:hover,.tl3-editable-service-cards>.e-con:focus-within{transform:translateY(-9px);box-shadow:0 24px 55px #04263912;border-color:#00b0dc!important}.tl3-editable-service-cards img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.tl3-editable-service-cards>.e-con:hover img{transform:scale(1.065) rotate(-1deg)}.tl3-work-layout .elementor-widget-image{overflow:hidden;border-radius:10px}.tl3-work-layout img{transition:transform 1s}.tl3-work-layout .elementor-widget-image:hover img{transform:scale(1.045)}.thornleys-interactive-page .elementor-button{transition:transform .25s,box-shadow .25s,background .25s!important}.thornleys-interactive-page .elementor-button:hover{box-shadow:0 8px 25px #008eae28;transform:translateY(-3px)!important}.thornleys-interactive-page .elementor-icon-list-item a{position:relative}.thornleys-interactive-page .elementor-icon-list-item a:after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:2px;background:#00b0dc;transform:scaleX(0);transform-origin:left;transition:transform .25s}.thornleys-interactive-page .elementor-icon-list-item a:hover:after{transform:scaleX(1)}.thornleys-interactive-page .elementor-icon-list-item a:hover{text-decoration:none}
.reveal-ready{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}.motion-paused .reveal-ready{opacity:1;transform:none}.motion-toggle{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:9px;background:#0c1720;color:#fff;border:1px solid #50606b;border-radius:30px;padding:11px 16px;font:500 12px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 5px 20px #0002}.motion-toggle:before{content:'Ⅱ';font-size:14px;color:#32ccef}.motion-toggle[aria-pressed="true"]:before{content:'▶'}.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(var(--scroll-progress,0));transform-origin:left;background:#00b0dc;z-index:50;pointer-events:none}.motion-paused .brand-track{animation-play-state:paused}.motion-paused .tl3-replaceable-3d-hero-artwork>.elementor-widget-image{transform:none!important}.motion-paused *{animation:none!important;transition:none!important}.motion-paused{scroll-behavior:auto}
@keyframes stage-arrive{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes brand-drift{to{transform:translateX(-50%)}}
@media(max-width:1024px){.tl3-hero-layout{min-height:460px}.tl3-03-brand-statement{padding-left:24px!important;padding-right:24px!important}}
@media(max-width:767px){html:has(.thornleys-interactive-page){scroll-padding-top:150px}.thornleys-interactive-page .tl3-01-header{padding:12px 22px!important}.tl3-header-navigation{flex-direction:row!important;flex-wrap:wrap;gap:8px!important}.tl3-brand{width:58%!important}.tl3-brand-name{font-size:24px!important}.tl3-brand-disciplines{font-size:10px!important}.tl3-navigation{width:100%!important;order:3}.tl3-main-navigation ul{gap:18px!important}.tl3-header-contact{width:auto!important;flex:1;align-items:flex-end!important}.tl3-header-contact a{font-size:12px;padding:10px 14px!important}.tl3-hero-layout{min-height:0;gap:20px!important}.tl3-hero-sign-off{display:none}.tl3-replaceable-3d-hero-artwork img{max-width:100%;width:100%!important;margin-left:0}.tl3-three-disciplines{flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important}.scene-choice{padding:16px 12px;min-height:95px;flex:1 1 28%;gap:5px}.scene-choice:after{display:none}.scene-choice strong{font-size:10px;letter-spacing:.07em}.scene-choice small{font-size:12px}.scene-label{font-size:10px}.motion-toggle{right:12px;bottom:12px;padding:9px 12px}.brand-track{font-size:38px;gap:30px}.tl3-editable-service-cards>.e-con{padding:20px!important}.reveal-ready{transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){html:has(.thornleys-interactive-page){scroll-behavior:auto}.thornleys-interactive-page *,.thornleys-interactive-page *:before,.thornleys-interactive-page *:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.tl3-replaceable-3d-hero-artwork>.elementor-widget-image{transform:none!important}}

.thornleys-interactive-page .tl3-brand-statement{width:100%;overflow:hidden}.thornleys-interactive-page .tl3-three-disciplines{width:100%}.thornleys-interactive-page .tl3-main-navigation .elementor-icon-list-items{flex-wrap:wrap}.thornleys-interactive-page .tl3-replaceable-3d-hero-artwork>.elementor-widget-image{width:100%}.thornleys-interactive-page.admin-bar .tl3-01-header{top:32px}@media(max-width:782px){.thornleys-interactive-page.admin-bar .tl3-01-header{top:46px}}@media(max-width:600px){.thornleys-interactive-page.admin-bar .tl3-01-header{top:0}}
