/*
Theme Name: ThingProduction
Author: ThingProduction
Description: 白と青を基調とした、歯車の制作プロセスと動的演出を備えるゲーム制作スタジオ向けテーマ。
Version: 3.6.1
Requires at least: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: thingproduction
*/
:root{--blue:#1556f0;--dark:#132340;--muted:#5a657a;--line:#dce3ed;--pale:#f3f7fe;--font:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--dark);background:#fff;font-family:var(--font);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ff9d2d;outline-offset:5px}button{color:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h2{font-size:clamp(1.8rem,3vw,2.75rem);letter-spacing:-.045em;line-height:1.55;font-weight:750}.header{height:100px;display:flex;align-items:center;justify-content:space-between;max-width:1600px;margin:auto;padding:0 5%;border-bottom:1px solid var(--line);background:white;gap:25px}.wordmark{display:flex;align-items:center;gap:10px;font-weight:800;font-size:24px;letter-spacing:-1.1px;white-space:nowrap}.wordmark-light{font-weight:500}.brand-dot{color:var(--blue)}.brand-icon{display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:29px;font-weight:800;background:var(--blue);color:white;width:39px;height:39px;line-height:1;letter-spacing:-7px;padding-right:7px}.brand-icon span{transform:translateY(3px)}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}nav>a:not(.nav-contact):hover{color:var(--blue)}.nav-contact{padding:12px 23px;color:white;background:var(--blue);display:flex;gap:25px;align-items:center}.nav-contact:hover,.primary:hover{background:#0a3bb6}.menu-toggle{display:none}.hero{max-width:1600px;margin:auto;padding:54px 5% 0;display:grid;grid-template-columns:1fr 1.05fr;column-gap:25px;position:relative}.eyebrow{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:2px;line-height:1.6;margin-bottom:25px}.hero-copy{padding:38px 0 30px;position:relative;z-index:1}.hero h1{font-size:clamp(2.7rem,4.8vw,4.8rem);letter-spacing:-.065em;font-weight:800;line-height:1.35;color:var(--blue);margin-left:-.045em;overflow-wrap:anywhere}.hero h1 span{letter-spacing:-.07em}.hero-description{font-size:16px;line-height:2.1;margin:25px 0 29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 25px;font-size:14px;font-weight:700;border:1px solid transparent;transition:background .2s,transform .2s;min-height:54px}.button:hover{transform:translateY(-2px)}.primary{background:var(--blue);color:white}.button>span{font-size:20px;line-height:1}.hero-tools{display:flex;gap:17px;align-items:center;font-size:12px;font-weight:700;letter-spacing:1px;margin-top:38px;flex-wrap:wrap}.hero-tools>span+span{border-left:1px solid #bac6da;padding-left:17px}.hero-tools .small-label{font-size:12px;font-weight:400;color:var(--muted)}.hero-visual{position:relative;min-height:510px;background:#e9f3ff;overflow:hidden}.hero-visual>img{height:100%;position:absolute;object-position:53% center;transition:transform 1.4s}.hero-visual:hover>img{transform:scale(1.035)}.visual-tag{position:absolute;left:23px;bottom:20px;right:23px;display:flex;justify-content:space-between;gap:12px;color:white;font-size:12px;font-weight:700;letter-spacing:1.5px;text-shadow:0 1px 8px #06245f}.visual-cross{position:absolute;right:20px;top:10px;color:var(--blue);font-size:34px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.8px;padding:24px 0 27px;font-weight:700}.hero-bottom a{color:var(--muted);font-size:12px}.hero-bottom a span{font-size:16px;padding-left:15px}.ticker{background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;gap:48px;overflow:hidden;white-space:nowrap;height:94px;font-size:40px;font-weight:750;letter-spacing:-1.5px}.asterisk{font-size:46px;font-weight:400}.section{max-width:1400px;margin:auto;padding:105px 5.7%}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:47px}.section-intro{font-size:14px;color:var(--muted);line-height:2.1;min-width:240px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{padding:36px;background:var(--pale);border-top:2px solid var(--blue)}.service-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:30px}.service-number{font-size:16px;color:var(--blue);font-weight:700}.outline-tag{font-size:12px;font-weight:700;letter-spacing:1px;border:1px solid #b8c9eb;padding:3px 9px;color:var(--blue)}.service-card h3{font-size:36px;letter-spacing:-1.5px;line-height:1.3}.service-card h3>span{display:block;font-size:18px;letter-spacing:0;margin-top:10px}.service-card>p{font-size:14px;color:var(--muted);line-height:2.1;margin:25px 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:37px}.chips>span{background:white;padding:5px 10px;font-size:12px}.text-link{border-top:1px solid #cfd9ea;padding-top:20px;color:var(--blue);display:flex;justify-content:space-between;font-size:14px;font-weight:700}.text-link:hover{color:#002a95}.works{padding-top:15px}.concept-card{display:block;background:none;border:0;padding:0;text-align:left;width:100%}.concept-image{position:relative;height:380px;overflow:hidden;background:var(--pale)}.concept-image>img{height:100%;object-position:50% 55%;transition:transform .7s}.concept-card:hover img{transform:scale(1.035)}.image-label{position:absolute;top:22px;left:22px;background:white;color:var(--blue);font-size:12px;padding:5px 12px;font-weight:700;letter-spacing:1.4px}.round-arrow{position:absolute;right:25px;bottom:25px;display:grid;place-items:center;background:white;color:var(--blue);width:56px;height:56px;border-radius:50%;font-size:28px}.concept-caption{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 0;border-bottom:1px solid var(--line)}.concept-caption h3{font-size:27px;letter-spacing:-.8px}.concept-caption p{font-size:14px;color:var(--muted);margin-top:4px}.concept-caption>span{font-size:13px;color:var(--blue)}.works-note{margin-top:14px;color:var(--muted);font-size:12px}.process{padding-top:0}.steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;margin:0;gap:24px}.steps li{border-top:1px solid #bccceb;padding-top:21px;position:relative}.steps li>span{font-size:14px;font-weight:700;color:var(--blue)}.steps h3{font-size:18px;margin:17px 0 13px}.steps p{font-size:13px;color:var(--muted)}.steps li:not(:last-child):after{content:'→';position:absolute;top:15px;right:0;color:var(--blue)}.about{background:var(--blue);color:white;overflow:hidden}.about-inner{max-width:1400px;margin:auto;padding:80px 5.7%;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about .eyebrow{color:#d5e3ff}.about-word{font-size:clamp(3rem,6.6vw,6.5rem);font-weight:800;line-height:1;letter-spacing:-.075em}.italic{font-family:Georgia,serif;font-weight:400;font-style:italic}.white-dot{color:#93b6ff}.about-copy h2{font-size:27px;margin-bottom:25px}.about-copy p{font-size:14px;line-height:2.1;color:#e5ecff}.about-copy p+p{margin-top:20px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:14px;font-weight:700}summary::-webkit-details-marker{display:none}summary>span{color:var(--blue);font-size:21px;font-weight:400}details[open] summary>span{transform:rotate(45deg)}details>p{color:var(--muted);font-size:14px;line-height:2;padding:0 25px 25px 0}.contact{background:var(--pale);display:grid;grid-template-columns:1fr 1fr;gap:85px;max-width:none;padding-left:max(5.7%,calc((100vw - 1240px)/2));padding-right:max(5.7%,calc((100vw - 1240px)/2))}.contact-heading h2{color:var(--blue)}.contact-heading>p:not(.eyebrow){font-size:14px;margin-top:22px;line-height:2.1}.contact-note{margin-top:42px;border-top:1px solid #cbd7eb;padding-top:22px;max-width:335px}.contact-note>span{font-size:12px;font-weight:700}.contact-note p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:8px}.field{margin-bottom:22px}.field label{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;margin-bottom:9px}.field label span{font-size:12px;color:var(--blue);font-weight:400}.field input,.field select,.field textarea{width:100%;border:1px solid #d0dbea;background:white;padding:14px 16px;color:var(--dark);border-radius:0;font-size:16px}.field textarea{resize:vertical;min-height:135px}.field input::placeholder,.field textarea::placeholder{color:#6e7b91;font-size:14px}.submit{width:100%}.form-note{font-size:12px;color:var(--muted);margin-top:10px}footer{max-width:1400px;margin:auto;padding:42px 5.7% 25px}.footer-main{display:flex;align-items:center;justify-content:space-between;padding-bottom:35px;gap:20px}.back-top{color:var(--blue);font-size:12px;letter-spacing:1px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}.socials{display:flex;gap:24px;font-size:13px}.socials small{font-size:12px;margin-left:4px;color:var(--muted)}dialog{padding:0;border:1px solid var(--line);max-width:780px;width:calc(100% - 40px);max-height:90vh;color:var(--dark);overscroll-behavior:contain}dialog::backdrop{background:#051937a8;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:12px;z-index:2;border:0;background:white;color:var(--blue);width:42px;height:42px;font-size:30px;line-height:1}.dialog-image{aspect-ratio:1.9}.dialog-body{padding:35px}.dialog-body h2{font-size:28px;letter-spacing:-.8px;margin-bottom:20px}.dialog-body>p{font-size:14px}.dialog-body .muted{color:var(--muted);font-size:12px;margin:20px 0}.dialog-body .eyebrow{font-size:12px}.review-notice{background:var(--pale);padding:13px}.review-buttons{display:flex;flex-wrap:wrap;gap:12px}.secondary{border-color:var(--line);background:white;color:var(--blue)}dl{margin:25px 0}dt{font-size:12px;color:var(--muted);margin-top:17px}dd{margin:2px 0 0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}#copy-status{font-size:13px;margin-top:15px}.skip{position:fixed;top:-80px;left:10px;background:var(--blue);color:white;padding:12px;z-index:100}.skip:focus{top:10px}
@media(min-width:1500px){.hero-visual{min-height:570px}.hero-copy{padding-top:45px}}
@media(max-width:1100px){.header{padding:0 4%;height:85px}nav{gap:20px}.wordmark{font-size:21px}.hero{padding:30px 4% 0;gap:15px}.hero-copy{padding-top:30px}.hero h1{font-size:4.7vw}.hero-visual{min-height:480px}.hero-tools{gap:10px}.hero-tools>span+span{padding-left:10px}.section{padding:75px 5%}.works,.process{padding-top:0}.service-card{padding:26px}.service-card h3{font-size:30px}.about-inner{gap:35px;padding:65px 5%}.faq{gap:35px}.contact{gap:45px}.ticker{font-size:34px;height:80px;gap:35px}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:78px;padding:0 6%;position:relative;z-index:10}.wordmark{font-size:20px;letter-spacing:-.8px}.brand-icon{width:32px;height:32px;font-size:24px;letter-spacing:-6px}.menu-toggle{display:flex;align-items:center;gap:12px;padding:10px 0 10px 10px;background:none;border:0;color:var(--blue);font-size:12px}.menu-toggle span{font-size:20px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:25px 6%;flex-direction:column;align-items:stretch;box-shadow:0 15px 20px #13234008}nav.open{display:flex}.nav-contact{justify-content:space-between}.hero{display:flex;flex-direction:column;padding:20px 6% 0}.hero-copy{padding:20px 0 22px}.eyebrow{font-size:12px;letter-spacing:1.6px;margin-bottom:20px}.hero h1{font-size:clamp(2.55rem,8.6vw,4rem);line-height:1.32}.hero-description{font-size:14px;margin:22px 0;line-height:2}.hero-tools{margin-top:25px;font-size:12px}.hero-tools .small-label{font-size:12px}.hero-visual{min-height:0;aspect-ratio:1.23}.hero-visual img{object-position:50% 52%}.hero-bottom{padding:9px 0 19px;font-size:12px}.hero-bottom a{font-size:12px;letter-spacing:1px}.hero-bottom a span{padding-left:4px}.visual-tag{font-size:12px;left:16px;right:16px;bottom:15px}.ticker{height:66px;font-size:27px;gap:27px}.asterisk{font-size:31px}.section{padding:65px 6%}.section-heading{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:30px}h2{font-size:27px;line-height:1.55}.section-intro{font-size:13px}.service-grid{grid-template-columns:1fr;gap:20px}.service-card{padding:27px}.service-card h3{font-size:32px}.service-card p{font-size:13px}.service-card p br{display:none}.service-card h3>span{font-size:17px}.service-top{margin-bottom:25px}.chips{margin-bottom:25px}.works{padding-top:0}.concept-image{height:280px}.concept-caption{align-items:flex-start;flex-direction:column;gap:15px}.concept-caption h3{font-size:24px}.works-note{font-size:12px}.process{padding-top:0}.steps{grid-template-columns:1fr;gap:0}.steps li{padding:22px 0;display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center}.steps h3{margin:0;font-size:17px}.steps p{grid-column:2;margin-top:7px}.steps p br{display:none}.steps li:not(:last-child):after{content:'↓';top:23px}.about-inner{grid-template-columns:1fr;gap:38px;padding:55px 6%}.about-word{font-size:70px}.about-copy h2{font-size:24px}.about-copy p{font-size:14px}.faq{display:block}.faq-list{margin-top:30px}summary{font-size:13px;gap:12px;padding:20px 0}details>p{font-size:13px}.contact{grid-template-columns:1fr;gap:35px}.contact-note{margin-top:23px;max-width:none}.contact-heading h2{font-size:30px}footer{padding:32px 6% 22px}.footer-main{padding-bottom:24px}.footer-main .wordmark{font-size:17px}.footer-main .brand-icon{width:28px;height:28px;font-size:21px}.back-top{font-size:12px;letter-spacing:0}.footer-bottom{flex-wrap:wrap;gap:18px;font-size:12px}.footer-bottom>span:last-child{display:none}.socials{gap:18px}.dialog-body{padding:28px 23px}.dialog-body h2{font-size:23px}.dialog-image{aspect-ratio:1.4}.dialog-body .button{font-size:13px;padding:13px 17px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:380px){.header .wordmark{font-size:16px}.header{gap:8px}.menu-toggle{gap:4px;font-size:12px}.hero-tools{gap:8px}.hero-tools>span+span{padding-left:8px}.hero-tools .small-label{display:none}.hero-bottom{gap:10px;letter-spacing:0}.hero-bottom a{letter-spacing:0}.outline-tag{font-size:12px;letter-spacing:0}.footer-main{flex-wrap:wrap}}

/* A playful workshop, built around the supplied logo. */
.wordmark{flex-shrink:0;display:block;line-height:1;transform-origin:25% 80%}
.brand-logo{width:166px;height:auto;object-fit:contain;transition:transform .45s cubic-bezier(.2,.8,.2,1.4)}
.wordmark:hover .brand-logo,.wordmark:focus-visible .brand-logo{transform:rotate(-4deg) translateY(-2px)}
.footer-main .brand-logo{width:220px}
.hero{padding-top:65px;column-gap:45px}
.hero-copy{min-width:0}
.headline-spark{display:inline-block;font-size:24px;line-height:.5;vertical-align:middle;margin-left:12px}
.hero-copy:hover .headline-spark{animation:spark-turn .75s ease both}
.hero h1>span{display:inline-block;position:relative}
.hero h1>span:after{content:'';position:absolute;left:1%;right:1%;bottom:0;height:9px;transform:rotate(-1.6deg);background:#b6d5ff;z-index:-1;transition:height .3s}
.hero-copy:hover h1>span:after{height:15px}
.hero-artboard{position:relative;min-width:0;align-self:stretch;padding:10px 0 15px;isolation:isolate}
.artboard-grid{position:absolute;inset:-22px -18px -7px 20px;z-index:-1;background-image:radial-gradient(#1556f050 1px,transparent 1px);background-size:19px 19px;clip-path:polygon(0 0,100% 0,100% 100%,0 96%)}
.hero-visual{height:100%;min-height:490px;border:8px solid white;outline:1px solid #c7d7f5;box-shadow:10px 14px 0 #e2edff;transform:perspective(1100px) rotate(-2deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s ease,box-shadow .45s}
.hero-visual>img{transform:scale(1.065) translate(var(--image-x,0px),var(--image-y,0px));transition:transform .55s ease}
.hero-visual:hover>img{transform:scale(1.065) translate(var(--image-x,0px),var(--image-y,0px))}
.hero-visual .visual-cross{display:none}
.idea-sticker{position:absolute;right:-14px;top:-22px;z-index:2;background:var(--blue);color:white;box-shadow:4px 5px 0 #a4c3ff;border:2px solid white;padding:13px 16px;display:flex;align-items:center;gap:12px;transform:rotate(8deg);font-size:33px;line-height:1;pointer-events:none;transition:transform .4s}
.idea-sticker span{font-size:12px;font-weight:700;letter-spacing:1px;line-height:1.4}
.hero-artboard:hover .idea-sticker{transform:rotate(3deg) translateY(-6px)}
.artboard-corner{position:absolute;bottom:-6px;left:-22px;color:var(--blue);font-size:73px;line-height:1;transform:rotate(-14deg);text-shadow:3px 3px white;pointer-events:none;transition:transform .5s}
.hero-artboard:hover .artboard-corner{transform:rotate(14deg) scale(1.1)}
.hero-bottom{padding-top:38px;position:relative}
.hero-tools>span{transition:transform .25s}
.hero-tools>span:hover{transform:translateY(-4px) rotate(-4deg)}
.ticker{position:relative;margin-top:8px;transform:skewY(-1.2deg);overflow:hidden}
.ticker>span{transform:skewY(1.2deg)}
.ticker:hover .asterisk{animation:spark-turn .8s ease both}
.service-card{position:relative;border:1px solid #cfdbef;border-top:3px solid var(--blue);box-shadow:5px 5px 0 #e8effc;transition:transform .35s,box-shadow .35s}
.service-card:hover,.service-card:focus-within{transform:translateY(-6px) rotate(-.7deg);box-shadow:10px 11px 0 #dce9ff}
.service-card:nth-child(2):hover,.service-card:nth-child(2):focus-within{transform:translateY(-6px) rotate(.7deg)}
.service-number{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--blue);background:white;transform:rotate(-7deg);font-weight:700;transition:transform .4s,background .3s,color .3s}
.service-card:hover .service-number{transform:rotate(6deg);background:var(--blue);color:white}
.chips>span{border:1px solid #dbe5f4;transition:transform .25s;transform:rotate(-1deg)}
.chips>span:nth-child(2){transform:rotate(2deg)}
.chips>span:hover{transform:translateY(-4px) rotate(-4deg)}
.button,.nav-contact{box-shadow:4px 4px 0 #a8c5ff;transition:transform .25s,box-shadow .25s,background .25s}
.button:hover,.nav-contact:hover{transform:translate(-2px,-3px);box-shadow:7px 7px 0 #a8c5ff}
.button:active,.nav-contact:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #a8c5ff}
.concept-image{border-radius:4px;border:1px solid #cfdbef}
.image-label{transform:rotate(-3deg);border:1px solid var(--blue);box-shadow:3px 3px 0 #1556f02b}
.round-arrow{box-shadow:4px 4px 0 var(--blue);transition:transform .35s,box-shadow .35s}
.concept-card:hover .round-arrow,.concept-card:focus-visible .round-arrow{transform:rotate(45deg);box-shadow:5px 0 0 var(--blue)}
.steps li{transition:transform .3s,border-color .3s}
.steps li>span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #cad9f4;background:var(--pale);transition:transform .3s,background .3s,color .3s}
.steps li:hover{transform:translateY(-4px);border-color:var(--blue)}
.steps li:hover>span{background:var(--blue);color:white;transform:rotate(-8deg)}
.about{position:relative}
.about-type{position:relative;padding-bottom:15px}
.about-gear{position:absolute;width:76px;height:76px;top:-48px;right:8px;transform:rotate(-15deg);border-radius:50%;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.about-type:hover .about-gear{transform:rotate(165deg)}
.about .white-dot{display:inline-block;transition:transform .35s}
.about-type:hover .white-dot{transform:translateY(-16px)}
.faq-list details{transition:background .25s,padding .25s}
.faq-list details[open]{background:var(--pale);padding:0 16px}
.field input,.field select,.field textarea{transition:box-shadow .2s,border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:4px 4px 0 #d5e4ff}
.press-spark{position:fixed;z-index:1000;color:var(--blue);pointer-events:none;line-height:1;font-family:Arial,sans-serif;text-shadow:0 0 3px white;will-change:transform,opacity}
@keyframes spark-turn{0%{transform:rotate(0) scale(1)}45%{transform:rotate(105deg) scale(1.25)}100%{transform:rotate(180deg) scale(1)}}
@media(min-width:1500px){.hero-visual{min-height:550px}}
@media(max-width:1100px){.hero{column-gap:25px;padding-top:45px}.hero-visual{min-height:470px}.brand-logo{width:147px}.idea-sticker{right:-8px;font-size:26px;padding:10px 12px}.about-gear{width:58px;height:58px;right:0;top:-37px}}
@media(max-width:760px){.header .brand-logo{width:128px}.hero{padding-top:20px}.hero-copy{padding-bottom:30px}.hero-artboard{margin:5px 6px 0 0;padding:14px 0 12px}.hero-visual{height:auto;min-height:0;aspect-ratio:1.23;border-width:6px;box-shadow:7px 9px 0 #e2edff}.artboard-grid{inset:-7px -10px 0 8px}.idea-sticker{right:-8px;top:-9px;font-size:24px;padding:9px 12px;gap:8px}.idea-sticker span{font-size:12px;letter-spacing:.5px}.artboard-corner{font-size:51px;left:-13px;bottom:0}.hero-bottom{padding-top:14px;font-size:12px;gap:12px;flex-wrap:wrap}.hero-bottom a{letter-spacing:0}.service-card{box-shadow:4px 4px 0 #e8effc}.about-type{max-width:350px}.about-gear{right:12px;top:-23px;width:65px;height:65px}.about-word{font-size:clamp(3.5rem,17vw,4.375rem)}.footer-main .brand-logo{width:160px}.ticker{margin-top:0}.hero-tools{row-gap:14px}}
@media(prefers-reduced-motion:reduce){.hero-visual,.hero-visual>img{transform:none!important}.press-spark{display:none}.reveal-piece{opacity:1!important;transform:none!important}}

/* Kinetic edition: a scroll-operated production machine. */
:root{--ease-out:cubic-bezier(.16,1,.3,1)}
body{overflow-x:clip}.header{position:relative;z-index:20}nav{gap:23px}.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--blue);z-index:200;transform:scaleX(var(--reading,0));transform-origin:left;pointer-events:none}.motion-toggle{position:fixed;bottom:20px;right:22px;z-index:80;display:flex;align-items:center;gap:10px;border:1px solid #cedaff;border-radius:999px;background:#fffffff0;backdrop-filter:blur(10px);color:var(--blue);padding:10px 16px;font-size:12px;box-shadow:0 3px 18px #07236912}.motion-symbol{font-size:15px;font-weight:700}.motion-toggle:hover{background:#e7efff}.hero-lab{display:block;min-height:820px;height:calc(100svh - 100px);max-height:1150px;max-width:1800px;padding:24px 5% 0;isolation:isolate}.hero-kicker{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px;color:var(--blue);font-weight:700;gap:20px}.hero-lab .hero-copy{padding:35px 0 90px;width:53%;position:relative;z-index:3;pointer-events:none}.hero-copy a{pointer-events:auto}.kinetic-title{font-size:clamp(100px,12.4vw,198px);font-weight:900;letter-spacing:-.08em;line-height:.79;color:var(--blue);margin:0 0 29px -.065em;font-family:Arial,sans-serif;position:relative}.kinetic-line{display:block;white-space:nowrap;position:relative;transform-origin:left center}.kinetic-line>span{display:inline-block}.kinetic-line+.kinetic-line{margin-top:13px}.kinetic-line.outline{color:white;-webkit-text-stroke:2px var(--blue);letter-spacing:-.085em}.hero-star{position:absolute;display:inline-block;font-style:normal;font-size:.58em;top:0;margin-left:.11em;transform:rotate(var(--star-rotation,0deg));-webkit-text-stroke:0;color:var(--blue)}.hero-lab h1{font-size:clamp(23px,2.1vw,32px);letter-spacing:-.045em;line-height:1.4;margin:0}.hero-lab .hero-description{font-size:14px;margin:14px 0 25px;line-height:1.9}.hero-lab .hero-artboard{position:absolute;right:5%;top:85px;width:47%;height:calc(100% - 165px);max-height:775px;padding:0;margin:0;z-index:1;perspective:1200px}.hero-lab .hero-visual{height:100%;min-height:0;border:0;outline:0;border-radius:46% 46% 3px 3px / 32% 32% 3px 3px;box-shadow:none;transform:translateY(var(--hero-shift,0px)) rotate(var(--hero-turn,-4deg));transition:transform .15s linear, border-radius .7s;will-change:transform}.hero-lab .hero-visual>img{height:100%;transform:scale(1.12) translate(var(--image-x,0px),var(--image-y,0px));object-position:63% center;transition:transform .5s var(--ease-out)}.hero-lab .hero-visual:hover>img{transform:scale(1.16) translate(var(--image-x,0px),var(--image-y,0px))}.orbit-stamp{position:absolute;right:-24px;top:54%;border-radius:50%;width:144px;height:144px;background:var(--blue);color:white;border:8px solid white;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:1px;transform:rotate(var(--stamp-turn,12deg));box-shadow:0 0 0 1px #1556f044}.orbit-stamp b{font-size:32px;line-height:1.1;margin-top:4px}.hero-coordinate{position:absolute;top:-18px;right:45px;color:var(--blue);font-size:12px;letter-spacing:1.5px;transform:rotate(4deg)}.hero-lab .hero-bottom{position:absolute;bottom:0;left:5%;right:5%;padding:20px 0 24px;border-top:1px solid var(--line);z-index:4;background:linear-gradient(transparent,#ffffffb0)}.hero-lab .visual-tag{font-size:12px;left:25px;right:25px;bottom:28px;letter-spacing:.5px}.ticker{height:120px;transform:rotate(-2deg);width:104%;margin:28px -2% 5px;justify-content:flex-start;box-shadow:0 12px 0 #dfeaff;position:relative;z-index:5;gap:0}.ticker-track{display:flex;flex-shrink:0;width:max-content;will-change:transform;animation:marquee 24s linear infinite}.ticker-track>span{display:flex;align-items:center;white-space:nowrap;font-size:clamp(32px,4vw,65px);font-weight:800;letter-spacing:-2px;gap:40px;padding-right:40px}.ticker-track b{font-size:1.2em;font-weight:400}.ticker:hover .ticker-track{animation-play-state:paused}.section.services{padding-top:130px}.services h2,.works h2{font-size:clamp(32px,4vw,60px);line-height:1.35}.service-grid{gap:35px;perspective:1400px}.service-card{padding:42px 36px;background:linear-gradient(140deg,#f4f8ff,white);border:1px solid #cedcff;box-shadow:9px 10px 0 #e4edff;transform:rotate(-2deg);min-width:0;transform-origin:center bottom;will-change:transform}.service-card:nth-child(2){transform:rotate(2deg) translateY(35px)}.service-card h3{font-size:clamp(34px,3.8vw,57px);letter-spacing:-2px}.service-card:hover,.service-card:focus-within{transform:rotate(-3deg) translateY(-12px);box-shadow:16px 22px 0 #d4e3ff}.service-card:nth-child(2):hover,.service-card:nth-child(2):focus-within{transform:rotate(3deg) translateY(20px);box-shadow:16px 22px 0 #d4e3ff}.service-top{margin-bottom:40px}.service-card p{font-size:15px}.works{padding-top:45px}.concept-image{height:520px;border-radius:18px;transform:scale(var(--work-scale,1));clip-path:inset(0 round 18px);will-change:transform}.concept-image>img{height:100%;object-position:center;transform:scale(1.06) translateY(var(--work-pan,0px));transition:transform .18s linear}.concept-card:hover img{transform:scale(1.1) translateY(var(--work-pan,0px))}.round-arrow{height:86px;width:86px;font-size:42px}.concept-caption{padding-top:33px}.concept-caption h3{font-size:36px}.image-label{top:30px;left:30px;padding:10px 16px;font-size:13px}.process-machine{position:relative;background:#f2f6ff;border-top:1px solid #d2dfff;border-bottom:1px solid #d2dfff}.machine-stage{position:relative;overflow:hidden;padding:36px 5% 24px;isolation:isolate;background-image:linear-gradient(#1556f00b 1px,transparent 1px),linear-gradient(90deg,#1556f00b 1px,transparent 1px);background-size:50px 50px}.machine-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;z-index:3}.machine-heading .eyebrow{margin-bottom:8px;font-size:12px}.machine-heading h2{font-size:clamp(24px,2.7vw,40px);line-height:1.4}.machine-skip{font-size:12px;color:var(--muted);border-bottom:1px solid #bccbea;white-space:nowrap}.machine-body{display:grid;grid-template-columns:54% 46%;gap:0;align-items:center;position:relative;min-height:650px}.gear-scene{position:relative;height:100%;min-height:570px}.gear-main{position:absolute;left:42%;top:50%;width:min(70vw,90svh);max-width:1050px;aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 13px 0 #0b3cc0);will-change:transform}.gear-disc{height:100%;width:100%;transform:rotate(var(--gear-angle,0deg));will-change:transform}.gear-outline{position:absolute;width:92%;aspect-ratio:1;left:-5%;top:50%;border:1px solid #a7bce9;border-radius:50%;transform:translateY(-50%)}.gear-center{position:absolute;left:42%;top:50%;transform:translate(-50%,-50%);z-index:2;background:#f2f6ff;width:min(22vw,28svh);aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--blue)}.gear-center>span{font-size:12px;font-weight:700;letter-spacing:2px;line-height:1.3}.gear-center strong{font-size:clamp(60px,7.6vw,116px);line-height:1.1;letter-spacing:-.08em;margin-left:-.08em}.gear-satellite{width:min(27vw,34svh);aspect-ratio:1;position:absolute;right:-2%;bottom:-10%;filter:brightness(.55);z-index:-1}.gear-satellite img{transform:rotate(var(--satellite-angle,18deg));will-change:transform}.gear-pointer{position:absolute;right:-3%;top:48%;color:var(--blue);font-size:35px;z-index:3}.gear-caption{position:absolute;left:3%;bottom:12px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:2px;z-index:3}.process-copy{position:relative;padding:35px 0 35px 8%;min-width:0;z-index:4}.process-panel{padding:22px 0;border-bottom:1px solid #ccd9f1}.process-phase{font-size:13px;font-weight:700;color:var(--blue);letter-spacing:2px;margin-bottom:22px}.process-panel h3{font-size:clamp(28px,3.7vw,57px);line-height:1.42;letter-spacing:-.045em;margin-bottom:24px;font-weight:800}.process-description{font-size:16px;line-height:2;max-width:400px;color:#45566f}.process-deliverables{font-size:12px;color:var(--blue);border-top:1px solid #b9ccee;max-width:400px;padding-top:18px;margin-top:28px;font-weight:700;letter-spacing:.2px}.machine-footer{position:relative;z-index:5;border-top:1px solid #c3d2ee;padding-top:22px;display:grid;grid-template-columns:1fr 2.4fr;gap:20px;align-items:center}.scroll-instruction{font-size:12px;color:var(--muted)}.scroll-instruction>span{display:inline-block;font-size:24px;color:var(--blue);vertical-align:middle;margin-right:10px}.process-controls{display:flex;gap:8px;align-items:stretch;justify-content:flex-end}.process-step{background:white;border:1px solid #c3d3f0;border-radius:0;padding:11px 13px;font-size:13px;font-weight:700;display:flex;gap:10px;align-items:center;white-space:nowrap;transition:background .2s,color .2s,transform .25s}.process-step>span{font-size:12px;color:var(--blue)}.process-step[aria-pressed=true]{color:white;background:var(--blue);border-color:var(--blue);transform:translateY(-4px);box-shadow:0 4px 0 #0b3bb3}.process-step[aria-pressed=true]>span{color:#d3e2ff}.process-step:hover{border-color:var(--blue)}.machine-meter{position:absolute;top:-1px;left:0;right:0;height:3px;background:#d4e0f4}.machine-meter>span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(var(--machine-progress,0));transform-origin:left}.motion-enhanced .process-machine{height:440svh}.motion-enhanced .machine-stage{position:sticky;top:0;height:100svh;display:flex;flex-direction:column}.motion-enhanced .machine-body{flex:1;min-height:0}.motion-enhanced .gear-scene{min-height:0}.motion-enhanced .process-copy{min-height:400px;display:grid;align-items:center}.motion-enhanced .process-panel{grid-area:1/1;border:0;visibility:hidden;opacity:0;transform:translateY(38px) rotate(3deg);transition:opacity .36s,transform .65s var(--ease-out),visibility .36s;pointer-events:none}.motion-enhanced .process-panel.active{visibility:visible;opacity:1;transform:translateY(0) rotate(0);pointer-events:auto}.motion-enhanced .machine-footer{flex-shrink:0}.about{padding-top:35px}.about-scroll-type{font-size:clamp(70px,12vw,185px);line-height:1.2;font-weight:850;letter-spacing:-.055em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #ffffff9c;transform:translateX(var(--about-x,0px));will-change:transform;pointer-events:none}.about-inner{padding-top:35px;padding-bottom:95px}.about-word{font-size:clamp(65px,7.8vw,125px)}.about-gear{width:90px;height:90px;right:-10px;top:-45px;border:5px solid white;transform:rotate(var(--about-gear,0deg));border-radius:50%}.about-type:hover .about-gear{transform:rotate(var(--about-gear,0deg))}.about-copy h2{font-size:30px}.contact-heading h2{font-size:clamp(30px,3.7vw,54px)}.contact{gap:65px}.footer-main{padding-top:8px}.footer-main .brand-logo{width:265px}.press-spark{z-index:300}.button,.nav-contact{border-radius:2px}.no-motion *, .no-motion *:before,.no-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.no-motion .hero-visual{transform:rotate(-3deg)!important}.no-motion .hero-visual>img{transform:scale(1.08)!important}.no-motion .kinetic-line{transform:none!important}.no-motion .about-scroll-type{transform:none!important}.no-motion .process-panel{visibility:visible!important;opacity:1!important;transform:none!important}.no-motion .machine-meter,.no-motion .scroll-instruction{display:none}.no-motion .process-controls{flex-wrap:wrap}.no-motion .machine-footer{grid-template-columns:1fr}.no-motion .process-machine .gear-scene{align-self:start;position:sticky;top:70px;height:650px}.no-motion .gear-main{transform:translate(-50%,-50%)}
@keyframes marquee{to{transform:translateX(-50%)}}
.ticker-sequence{display:flex;align-items:center;flex:none}.ticker-text-item{display:flex;align-items:center;white-space:nowrap;font-size:clamp(32px,4vw,65px);font-weight:800;letter-spacing:-2px;padding-right:55px}.ticker-text-item:after{content:'✳';font-size:1.1em;font-weight:400;margin-left:55px}.ticker-logo-item{display:flex;align-items:center;justify-content:center;flex:none;padding:10px 55px}.ticker-logo-item img{display:block;width:auto;height:72px;max-width:280px;object-fit:contain;filter:brightness(0) invert(1)}
@media(max-width:760px){.ticker-text-item{font-size:35px;padding-right:30px}.ticker-text-item:after{margin-left:30px}.ticker-logo-item{padding:8px 30px}.ticker-logo-item img{height:48px;max-width:200px}}
@media(min-width:1650px){.hero-lab .hero-copy{padding-top:40px}.hero-lab .hero-artboard{top:105px}.kinetic-title{font-size:190px}.hero-lab{min-height:880px}}
@media(max-width:1100px){nav{gap:15px;font-size:13px}.nav-contact{padding:12px 16px;gap:15px}.hero-lab{height:auto;min-height:775px;padding-top:22px}.hero-kicker{font-size:12px;letter-spacing:.7px}.hero-lab .hero-copy{padding-top:50px;width:57%}.kinetic-title{font-size:12.8vw}.hero-lab .hero-artboard{top:120px;height:530px;right:4%;width:46%}.hero-lab h1{font-size:26px}.hero-lab .hero-description{font-size:13px;max-width:360px}.orbit-stamp{width:120px;height:120px;font-size:12px;right:-14px}.hero-lab .visual-tag{flex-direction:column;gap:0}.service-card{padding:32px 27px}.process-step{font-size:12px;gap:7px;padding:10px}.machine-footer{grid-template-columns:1fr;gap:14px;padding-top:16px}.process-controls{justify-content:space-between}.process-step{flex:1;justify-content:center}.scroll-instruction{display:none}.gear-center{width:min(22vw,28svh)}.process-panel h3{font-size:34px}.process-description{font-size:14px}.process-deliverables{margin-top:20px;font-size:12px}.process-phase{margin-bottom:17px;font-size:12px}.concept-image{height:430px}.about-gear{right:2px;width:68px;height:68px}.about-word{font-size:8vw}.about-inner{gap:60px}.hero-star{font-size:.5em}}
@media(max-width:760px){.header{height:80px}.hero-lab{height:auto;min-height:0;padding:20px 6% 0;overflow:clip}.hero-kicker{font-size:12px;letter-spacing:.5px}.hero-kicker>span:first-child{max-width:220px}.hero-kicker>span:last-child{display:none}.hero-lab .hero-copy{width:100%;padding:30px 0 0}.kinetic-title{font-size:22vw;line-height:.79;margin-bottom:0;position:relative;z-index:3;pointer-events:none}.kinetic-line+.kinetic-line{margin-top:9px}.kinetic-line.outline{color:white;-webkit-text-stroke:1.5px var(--blue)}.hero-star{font-size:.55em;margin-left:.12em}.hero-lab h1{font-size:25px;margin-top:31px}.hero-lab .hero-description{font-size:13px;max-width:none;margin-bottom:19px}.hero-lab .hero-artboard{position:relative;top:auto;right:auto;width:90%;height:400px;margin:36px 0 25px auto;padding:0;min-height:0}.hero-lab .hero-visual{height:100%;aspect-ratio:auto;border-radius:46% 46% 3px 3px / 37% 37% 3px 3px;transform:rotate(-5deg);box-shadow:none;border:0}.hero-lab .hero-visual>img{object-position:60% center}.hero-lab .visual-tag{font-size:12px;bottom:20px;left:20px;right:20px;flex-direction:row}.hero-coordinate{font-size:12px;right:10px;top:-20px}.orbit-stamp{right:-18px;top:50%;width:114px;height:114px;border-width:6px}.hero-lab .hero-bottom{position:relative;bottom:auto;left:auto;right:auto;padding:20px 0;margin-top:30px;letter-spacing:.7px}.ticker{height:80px;margin:17px -2% 0}.ticker-track>span{font-size:35px;letter-spacing:-1px;gap:25px;padding-right:25px}.section.services{padding-top:90px}.services h2,.works h2{font-size:32px}.service-grid{gap:32px}.service-card{transform:rotate(-1.5deg);padding:30px 26px}.service-card:nth-child(2){transform:rotate(1.5deg)}.service-card:nth-child(2):hover,.service-card:nth-child(2):focus-within{transform:rotate(1deg) translateY(-4px)}.service-card h3{font-size:39px}.service-top{margin-bottom:29px}.service-card p{font-size:14px}.works{padding-top:0}.concept-image{height:340px;border-radius:10px;clip-path:inset(0 round 10px)}.image-label{left:18px;top:18px;font-size:12px;padding:7px 12px}.round-arrow{width:61px;height:61px;font-size:30px;right:18px;bottom:18px}.concept-caption h3{font-size:27px}.machine-stage{padding:23px 6% 19px;background-size:32px 32px}.machine-heading{align-items:flex-start;gap:15px}.machine-heading h2{font-size:21px}.machine-heading .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:7px}.machine-skip{font-size:12px;white-space:normal;max-width:60px;margin-top:3px;text-align:right}.machine-body{grid-template-columns:1fr;min-height:0;display:flex;flex-direction:column;align-items:stretch}.gear-scene{height:320px;min-height:320px;width:100%;margin:12px 0}.gear-main{left:46%;width:min(88vw,46svh);max-width:none;top:50%;filter:drop-shadow(0 7px 0 #0b3cc0)}.gear-center{left:46%;width:min(27vw,14svh)}.gear-center strong{font-size:52px}.gear-center>span{font-size:12px;letter-spacing:1px}.gear-satellite{width:32vw;right:-5%;bottom:-12px}.gear-pointer{right:7%;top:44%;font-size:24px}.gear-outline{width:80%;left:5%}.gear-caption{font-size:12px;letter-spacing:1px;bottom:0;left:0}.process-copy{padding:20px 0 25px;min-height:0}.process-panel h3{font-size:29px;line-height:1.4;margin-bottom:14px}.process-phase{font-size:12px;letter-spacing:1px;margin-bottom:11px}.process-description{font-size:14px;line-height:1.85;max-width:none}.process-deliverables{font-size:12px;padding-top:11px;margin-top:14px;max-width:none}.machine-footer{gap:8px;padding-top:15px}.process-controls{gap:4px}.process-step{flex:1;flex-direction:column;padding:8px 2px;font-size:12px;gap:1px;white-space:normal;line-height:1.5;min-height:51px}.process-step>span{font-size:12px}.motion-enhanced .process-machine{height:400svh}.motion-enhanced .machine-stage{height:100svh}.motion-enhanced .machine-body{display:flex;flex-direction:column;justify-content:center}.motion-enhanced .gear-scene{height:clamp(220px,37svh,370px);min-height:0;flex:1;max-height:370px;margin:12px 0 0}.motion-enhanced .gear-main{width:min(85vw,44svh)}.motion-enhanced .process-copy{flex:0 0 auto;min-height:245px;padding:15px 0 20px}.motion-enhanced .process-panel{padding:0}.motion-enhanced .machine-footer{margin-top:auto}.no-motion .process-machine .gear-scene{position:relative;top:auto;height:320px}.about{padding-top:30px}.about-scroll-type{font-size:80px}.about-inner{padding-top:32px;padding-bottom:65px;gap:42px}.about-word{font-size:17vw}.about-gear{width:62px;height:62px;right:17px;top:-20px}.about-copy h2{font-size:25px}.contact{gap:38px}.contact-heading h2{font-size:32px}.footer-main .brand-logo{width:200px}.motion-toggle{bottom:12px;right:12px;padding:8px 12px;font-size:12px}footer{padding-bottom:70px}}
@media(max-width:380px){.hero-lab h1{font-size:22px}.hero-lab .hero-artboard{height:335px}.process-panel h3{font-size:25px}.process-description{font-size:13px}.process-deliverables{font-size:12px}.motion-enhanced .process-copy{min-height:229px}.gear-center strong{font-size:42px}.machine-heading h2{font-size:19px}.service-card h3{font-size:34px}.footer-main .brand-logo{width:170px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.hero-lab .hero-visual,.hero-lab .hero-visual>img{transform:none!important}.motion-enhanced .process-machine{height:auto}.motion-enhanced .machine-stage{height:auto;position:relative}.motion-enhanced .process-panel{grid-area:auto;visibility:visible;opacity:1;transform:none}.kinetic-line,.about-scroll-type{transform:none!important}}
.tp-works-slider{position:relative}.tp-works-track{display:flex;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px 8px 16px 2px}.tp-works-track::-webkit-scrollbar{display:none}.tp-work-slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);box-shadow:none;border:0;background:transparent}.tp-work-slide .tp-work-image{aspect-ratio:16/9;border-radius:18px;border:1px solid #cddcf5;box-shadow:10px 11px 0 #e4edff}.tp-work-slide .tp-work-info{display:flex;flex-direction:column;justify-content:flex-end;padding:36px 10px 12px 48px}.tp-work-slide .tp-work-info h3{font-size:clamp(28px,3vw,46px);line-height:1.25}.tp-work-slide .tp-work-info>p:last-of-type{font-size:15px;line-height:1.9}.tp-works-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:22px}.tp-works-controls p{min-width:76px;text-align:center;color:var(--muted);font-size:13px}.tp-works-controls strong{font-size:20px;color:var(--blue)}.tp-works-arrow{display:grid;place-items:center;width:50px;height:50px;border:1px solid #b9c9e7;border-radius:50%;background:#fff;color:var(--blue);font-size:22px;transition:.2s}.tp-works-arrow:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}
@media(max-width:760px){.tp-works-track{gap:18px;padding-bottom:12px}.tp-work-slide{display:block}.tp-work-slide .tp-work-image{aspect-ratio:4/3;border-radius:10px;box-shadow:6px 7px 0 #e4edff}.tp-work-slide .tp-work-info{padding:25px 2px 4px}.tp-work-slide .tp-work-info h3{font-size:27px}.tp-work-slide .tp-work-info>p:last-of-type{font-size:13px}.tp-works-controls{justify-content:space-between;margin-top:18px}.tp-works-arrow{width:46px;height:46px}}
.tp-work-logo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;padding:10%;background:linear-gradient(135deg,#edf4ff 0%,#fff 48%,#dfeaff 100%)}.tp-work-logo-placeholder:before,.tp-work-logo-placeholder:after{content:"";position:absolute;border:1px solid #1556f025;border-radius:50%;aspect-ratio:1}.tp-work-logo-placeholder:before{width:55%;left:-14%;bottom:-36%}.tp-work-logo-placeholder:after{width:32%;right:-8%;top:-25%}.tp-work-logo-placeholder img{position:relative;z-index:1;width:min(62%,440px)!important;height:auto!important;max-height:48%!important;object-fit:contain!important;filter:none!important}.tp-work-logo-placeholder span{position:relative;z-index:1;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.18em}
.tp-work-slide{display:block}.tp-work-slide .tp-work-image{width:100%;aspect-ratio:16/9}.tp-work-slide .tp-work-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);gap:36px;align-items:end;padding:30px 2px 8px}.tp-work-slide .tp-work-info h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.tp-work-slide .tp-work-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:3.8em;color:var(--muted);font-size:14px;line-height:1.9}.tp-work-slide-actions{align-self:end}.tp-work-slide-actions .text-link{margin-bottom:12px}.tp-work-slide-actions .tp-code{margin-top:0}.tp-works-more{display:flex;justify-content:center;margin-top:34px}.tp-works-more .tp-all-works{margin-top:0;min-width:210px}
@media(max-width:760px){.tp-work-slide .tp-work-image{aspect-ratio:16/9}.tp-work-slide .tp-work-info{display:block;padding-top:25px}.tp-work-slide .tp-work-subtitle{min-height:0}.tp-work-slide-actions{margin-top:20px}.tp-works-more{margin-top:28px}.tp-works-more .tp-all-works{width:100%}}
.tp-works-slider .tp-work-slide{border:0;background:transparent;box-shadow:none}
body:not(.motion-enhanced) .process-machine .gear-scene{position:sticky;align-self:start;top:20px;height:650px;min-height:0}
.tp-loading{position:fixed;inset:0;z-index:100000;background:var(--blue);color:#fff;display:grid;place-items:center;transition:opacity .55s,visibility .55s}.tp-loading>div{display:flex;flex-direction:column;font-family:Arial,sans-serif;font-weight:900;font-size:clamp(45px,9vw,130px);line-height:.8;letter-spacing:-.06em}.tp-loading span:last-of-type{color:transparent;-webkit-text-stroke:2px #fff}.tp-loading small{font-size:12px;letter-spacing:2px;margin-top:28px}.tp-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.tp-loader-gear,.tp-loader-bar{display:none}.tp-loading-type .tp-loader-inner{overflow:hidden}.tp-loading-type span{animation:tp-type-in .7s both}.tp-loading-type span:nth-child(2){animation-delay:.18s}.tp-loading-gear .tp-loader-inner>span,.tp-loading-gear small{display:none}.tp-loading-gear .tp-loader-gear{display:block;font-style:normal;font-size:130px;line-height:1;animation:tp-gear-spin 1.6s linear infinite}.tp-loading-progress .tp-loader-bar{display:block;width:min(440px,70vw);height:5px;margin-top:36px;background:#ffffff44;position:relative;overflow:hidden}.tp-loading-progress .tp-loader-bar:after{content:"";position:absolute;inset:0;background:#fff;transform-origin:left;animation:tp-progress 1.8s ease-in-out infinite}@keyframes tp-type-in{from{transform:translateY(110%);opacity:0}to{transform:none;opacity:1}}@keyframes tp-gear-spin{to{transform:rotate(360deg)}}@keyframes tp-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){body:not(.motion-enhanced) .process-machine .gear-scene{position:relative;top:auto;height:320px;min-height:320px}.hero-lab .kinetic-title{margin-bottom:0}}
@media(min-width:761px) and (max-height:760px){.machine-stage{padding-top:23px;padding-bottom:20px}.machine-heading h2{font-size:26px}.machine-heading .eyebrow{font-size:12px}.motion-enhanced .process-copy{min-height:350px}.process-panel h3{font-size:34px}.process-phase{margin-bottom:16px}.process-description{font-size:14px}.process-deliverables{margin-top:18px}.gear-main{width:min(68vw,88svh)}.machine-footer{padding-top:17px}.hero-lab{height:auto;min-height:810px}}
/* Theme option responsive copy */
.tp-sp-copy{display:none}
@media(max-width:767px){.tp-pc-copy{display:none}.tp-sp-copy{display:inline}}
.gear-satellite{display:none!important}
.tp-header-sticky .header{position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(14px);box-shadow:0 1px 0 #dce5f5}.tp-header-shrink .header{transition:height .25s,padding .25s}.tp-header-shrink.tp-page-scrolled .header{height:68px;padding-top:8px;padding-bottom:8px}.tp-header-shrink.tp-page-scrolled .brand-logo{transform:scale(.86);transform-origin:left center}
.tp-custom-section.tp-width-narrow .tp-custom-section-inner{max-width:760px}.tp-custom-section.tp-width-normal .tp-custom-section-inner{max-width:1180px}.tp-custom-section.tp-width-full{padding-left:0;padding-right:0}.tp-custom-section.tp-width-full .tp-custom-section-inner{max-width:none}.tp-align-center{text-align:center}.tp-image-text{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}.tp-image-text.tp-image-right>img{order:2}.tp-image-text img,.tp-banner img{display:block;width:100%;height:auto}.tp-video{position:relative;aspect-ratio:16/9}.tp-video iframe{position:absolute;inset:0;width:100%;height:100%}.tp-builder-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}.tp-builder-posts img{width:100%;aspect-ratio:16/10;object-fit:cover}.tp-hide-desktop{display:none!important}@media(max-width:767px){.tp-image-text{grid-template-columns:1fr}.tp-image-text.tp-image-right>img{order:0}.tp-builder-posts{grid-template-columns:1fr}.tp-hide-desktop{display:block!important}.tp-hide-mobile{display:none!important}}
.works .tp-works-slider,.works .tp-works-more{max-width:760px;margin-left:auto;margin-right:auto}.process-copy-title{font-size:clamp(24px,2.7vw,40px);line-height:1.35;margin:0 0 24px}.process-panels{position:relative}.motion-enhanced .process-copy{display:flex;flex-direction:column;align-items:stretch;justify-content:center}.motion-enhanced .process-panels{display:grid;align-items:center;min-height:330px}.tp-header-shrink.tp-page-scrolled .header{height:100px;padding-top:0;padding-bottom:0}.tp-header-shrink.tp-page-scrolled .brand-logo,.header .brand-logo,.footer-main .brand-logo{transform:none!important}.header .brand-logo,.footer-main .brand-logo{transition:none!important}@media(max-width:760px){.works .tp-works-slider,.works .tp-works-more{max-width:none}.process-copy-title{font-size:25px;margin-bottom:18px}.motion-enhanced .process-panels{min-height:205px}.tp-header-shrink.tp-page-scrolled .header{height:80px}}
