/* Cinematic direction: light, material and architectural movement. */
:root{--gold:#e0b86c}.hero{background:#17211d}.hero-image{animation:film-base 24s infinite;filter:saturate(.45) contrast(1.08);transform-origin:70% 50%}.hero-film{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-film img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;filter:saturate(.35) brightness(.7);animation:film-shot 24s infinite;transform-origin:70% 50%}.hero-film img:first-child{animation-delay:8s}.hero-film img:last-child{animation-delay:16s}.hero-shade{background:linear-gradient(90deg,#101c19ed 0%,#14201ab3 42%,#14201a15 100%),linear-gradient(0deg,#101c19bb,transparent 65%)}.hero-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(25% - 1px),#fff1 25%,transparent calc(25% + 1px),transparent calc(75% - 1px),#fff1 75%,transparent calc(75% + 1px));z-index:-1}.film-grain{position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.hero-orbit{position:absolute;width:28%;right:7%;top:20%;pointer-events:none;opacity:.35}.hero-orbit svg{width:100%;fill:none;stroke:#ebd6a7;stroke-width:.65;overflow:visible;animation:orbit-float 8s ease-in-out infinite}.hero-orbit path{stroke-dasharray:1400;animation:draw 4s ease both}.hero-orbit path:nth-child(2){animation-delay:.4s}.hero-orbit path:nth-child(3){opacity:.4;animation-delay:.8s}h1 .line{display:block;overflow:hidden;padding-bottom:7px;margin-bottom:-7px}h1 .line>span{display:block;animation:line-in 1.3s cubic-bezier(.2,.75,.2,1) both}h1 .line:nth-child(2)>span{animation-delay:.2s}h1 .line:nth-child(3)>span{animation-delay:.4s}.hero-content h1{animation:none}h1 em{background:linear-gradient(110deg,#d1a356 20%,#ffe5b2 45%,#d1a356 70%);background-size:220%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-light 6s ease-in-out infinite}.hero-content{position:relative;z-index:2}.film-caption{position:absolute;bottom:34px;right:7%;font-size:8px;letter-spacing:1.7px;color:#d6d9cf;display:flex;align-items:center;gap:14px}.film-light{width:5px;height:5px;border-radius:50%;background:#e0b86c;box-shadow:0 0 12px #e0b86c}.film-bars{display:flex;gap:4px}.film-bars i{display:block;width:22px;height:2px;background:#fff3;position:relative;overflow:hidden}.film-bars i:after{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);animation:film-meter 24s linear infinite}.film-bars i:nth-child(2):after{animation-delay:8s}.film-bars i:nth-child(3):after{animation-delay:16s}.motion-toggle{position:absolute;z-index:4;right:7%;bottom:80px;display:flex;gap:10px;align-items:center;border:1px solid #ffffff40;background:#15231b80;color:#e4e8de;padding:11px 14px;cursor:pointer;font-size:12px;backdrop-filter:blur(10px)}.motion-toggle span{font-size:9px;letter-spacing:.5px}.motion-marquee{overflow:hidden;background:var(--gold);padding:23px 0}.motion-marquee>div{display:flex;align-items:center;gap:45px;width:max-content;animation:marquee 32s linear infinite}.motion-marquee span{font-size:22px;letter-spacing:3px;font-weight:500}.motion-marquee i{font-style:normal;font-size:26px}.about{position:relative}.about:before{content:'TM';position:absolute;left:5%;bottom:30px;font-size:160px;font-weight:800;color:transparent;-webkit-text-stroke:1px #d5d7cb;letter-spacing:-15px;opacity:.5;pointer-events:none}.principles>div{transition:transform .4s}.principles>div:hover{transform:translateY(-7px)}.expertise{background:#e8eae1}.service-image-wrap{height:360px;box-shadow:0 18px 35px #1b201d18}.service-image-wrap:after{content:'';position:absolute;inset:12px;border:1px solid #ffffff4a;pointer-events:none}.service-description{padding:30px 0}.image-label{left:25px;bottom:25px}.service-list button{transition:color .35s,padding .35s}.service-list button[aria-selected=true]{padding-left:16px;border-top-color:#aa8543}.service-list button strong{transition:transform .4s}.service-list button:hover strong{transform:translateX(4px)}.service-flash{animation:service-reveal .7s cubic-bezier(.2,.65,.3,1)}.layer-story{background:#131d19;color:#f5f2e9;display:grid;grid-template-columns:.95fr 1.05fr;padding:100px 7%;gap:50px;position:relative;overflow:hidden}.layer-story:before{content:'';position:absolute;width:700px;height:700px;right:-100px;top:-50px;border-radius:50%;background:radial-gradient(#bb95451a,transparent 65%);pointer-events:none}.layer-story h2{font-size:clamp(42px,5vw,76px)}.layer-copy>p:not(.section-label){font-size:13px;line-height:1.9;color:#a7b1a2;max-width:380px}.layer-story .section-label{color:#bda571}.layer-controls{margin-top:30px;max-width:390px}.layer-controls button{width:100%;display:flex;align-items:center;gap:20px;padding:17px 0;border:0;border-bottom:1px solid #364236;background:none;color:#9ba797;text-align:left;cursor:pointer;font-size:13px;transition:color .3s,padding .3s}.layer-controls button>span{font-size:9px;color:#9e8b5e}.layer-controls button>b{margin-left:auto;font-size:20px;font-weight:400}.layer-controls button[aria-pressed=true]{color:#e8c681;padding-left:12px}.layer-explanation{min-height:74px;font-size:11px!important;padding-top:10px}.layer-visual{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;perspective:1000px}.technical-label,.diagram-footer{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#879681;padding:20px 0;border-bottom:1px solid #344032}.technical-label span{color:#cfb77c}.system-svg{width:100%;overflow:visible;transition:transform .6s ease;transform:rotateY(var(--tilt,0deg))}.system-layer{transition:opacity .6s,filter .6s;animation:layer-float 6s ease-in-out infinite;transform-origin:center}.layer-2{animation-delay:-2s}.layer-1{animation-delay:-4s}.system-layer:not(.selected){opacity:.55}.system-layer.selected{filter:drop-shadow(0 0 16px #d7b26725)}.surface-scan{animation:scan 5s ease-in-out infinite}.diagram-footer{border-bottom:0;border-top:1px solid #344032;font-size:7px}.industry-grid>div{position:relative;transition:padding .4s,background .4s}.industry-grid>div:hover{padding-left:16px;background:#e7e8de}.industry-grid>div:after{content:'↗';position:absolute;right:5px;top:25px;color:#b08b49;opacity:0;transform:translate(-8px,8px);transition:.4s}.industry-grid>div:hover:after{opacity:1;transform:none}.contact{position:relative;overflow:hidden}.contact:after{content:'';position:absolute;width:550px;height:550px;border:1px solid #d6b46723;transform:rotate(30deg);right:-200px;bottom:-330px;pointer-events:none}.button{position:relative;overflow:hidden}.button:before{content:'';position:absolute;width:50%;height:200%;left:-70%;top:-50%;background:linear-gradient(90deg,transparent,#ffffff45,transparent);transform:rotate(30deg);transition:left .65s}.button:hover:before{left:130%}.button span{transition:transform .3s}.button:hover span{transform:translate(3px,-3px)}.process-list>div{transition:padding .4s}.process-list>div:hover{padding-left:12px}.reveal{transition-timing-function:cubic-bezier(.2,.65,.2,1)!important}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .hero-content *, .motion-paused .hero-orbit path{animation:none!important}.motion-paused .hero-content .line>span{transform:none;opacity:1}.motion-paused h1 em{background:none;color:var(--gold)}
@keyframes film-base{0%,28%{opacity:1}36%,94%{opacity:0}100%{opacity:1}0%{transform:scale(1)}100%{transform:scale(1.12)}}@keyframes film-shot{0%{opacity:0;transform:scale(1.08)}6%,28%{opacity:1}36%,100%{opacity:0;transform:scale(1)}}@keyframes film-meter{0%{transform:translateX(-100%)}33%{transform:translateX(0)}36%,100%{transform:translateX(100%)}}@keyframes line-in{from{transform:translateY(110%) rotate(2deg)}to{transform:translateY(0) rotate(0)}}@keyframes draw{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}@keyframes orbit-float{50%{transform:translateY(-15px) rotate(3deg)}}@keyframes gold-light{50%{background-position:100%}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes layer-float{50%{transform:translateY(-10px)}}@keyframes scan{0%,100%{opacity:0;transform:translate(-50px,28px)}50%{opacity:.8;transform:translate(70px,-40px)}}@keyframes service-reveal{from{opacity:.2;clip-path:inset(0 0 12% 0);transform:scale(1.035)}to{opacity:1;clip-path:inset(0);transform:scale(1)}}
@media(max-width:1000px){.layer-story{gap:25px;padding:75px 6%}.hero-orbit{right:5%;width:33%;top:25%}.about:before{display:none}.service-image-wrap{height:300px}}@media(max-width:650px){.hero-orbit{width:55%;right:-15%;top:20%;opacity:.2}.hero-film img{object-position:60% center}.hero-content{padding-top:52px}.hero-bottom{margin-top:25px}.film-caption{bottom:33px;right:7%;font-size:6px;letter-spacing:1px}.film-caption> .film-light,.film-bars{display:none}.scroll{bottom:78px}.motion-toggle{bottom:70px;padding:9px 11px}.motion-marquee{padding:18px 0}.motion-marquee span{font-size:16px;letter-spacing:2px}.motion-marquee>div{gap:25px}.motion-marquee i{font-size:19px}.service-image-wrap{height:250px}.service-list button[aria-selected=true]{padding-left:0}.layer-story{grid-template-columns:1fr;padding:65px 7%;gap:10px}.layer-story h2{font-size:49px}.layer-copy>p:not(.section-label){max-width:100%}.layer-visual{margin-top:12px}.system-svg{margin:0 -4%;width:108%}.layer-controls{max-width:none}.layer-explanation{min-height:60px}.technical-label{font-size:8px}.diagram-footer{font-size:6px}.contact:after{width:300px;height:300px;right:-170px;bottom:-160px}.image-label{font-size:7px}}
@media(prefers-reduced-motion:reduce){.hero-image{opacity:1!important;transform:none!important}.hero-film{display:none}.hero-content .line>span{transform:none}.hero-orbit path{stroke-dashoffset:0}.motion-marquee>div{transform:none}.system-layer{transform:none}.service-flash{clip-path:none}.motion-toggle{display:none}h1 em{background:none;color:var(--gold)}}
@keyframes film-base{0%,34%{opacity:1}40%,94%{opacity:0}100%{opacity:1}0%{transform:scale(1)}100%{transform:scale(1.12)}}
@keyframes film-shot{0%{opacity:0;transform:scale(1.08)}6%,34%{opacity:1}40%,100%{opacity:0;transform:scale(1)}}
.hero-image{animation:architectural-drift 20s ease-in-out infinite alternate;filter:saturate(.85) contrast(1.05);object-position:60% 50%}.hero-shade{background:linear-gradient(90deg,#0c191bd9 0%,#101d2050 46%,transparent 78%),linear-gradient(0deg,#0c171bb0,transparent 40%)}.hero-orbit{opacity:.18;top:15%;width:24%;right:9%}.hero-orbit svg{stroke:#f9d694}.hero-grid{opacity:.5}
@keyframes architectural-drift{from{transform:scale(1.025) translateX(0);opacity:1}to{transform:scale(1.13) translateX(-1%);opacity:1}}
@media(max-width:650px){.hero-image{object-position:65% center}.hero-orbit{width:50%;right:-12%;top:25%}.film-caption{font-size:6px}}
