*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body.fsm{margin:0;background:#050505;color:#f2f2f2;font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #fff}::selection{background:#eee;color:#050505}.fsm-wrap{max-width:1400px;width:calc(100% - 112px);margin:auto}.fsm-skip{position:absolute;left:20px;top:-100px;background:white;color:black;padding:10px 20px;z-index:10}.fsm-skip:focus{top:15px}.fsm-header{height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;border-bottom:1px solid #292929;background:#070707;position:relative;z-index:2}.fsm-wordmark{display:flex;align-items:center;gap:14px;font-size:18px;letter-spacing:.12em;font-weight:800;line-height:1.15}.fsm-wordmark small{display:block;font-size:10px;letter-spacing:.5em;font-weight:400;margin-top:7px}.fsm-mark{display:flex;border:1px solid #777;width:45px;height:45px;align-items:center;justify-content:center;font-size:24px;letter-spacing:-.15em;padding-right:6px;transform:skew(-8deg)}.fsm-mark>span{font-weight:300}.fsm-header nav{display:flex;align-items:center;gap:40px;font-size:13px;color:#c0c0c0}.fsm-header nav a:hover{color:#fff}.fsm-nav-contact{padding:12px 22px;border:1px solid #555;border-radius:3px;color:#fff}.fsm-label{font-family:monospace;display:block;font-size:11px;letter-spacing:.15em;color:#aaa;line-height:1.6}.fsm-hero-top{display:flex;justify-content:space-between;padding-top:37px}.fsm-dot{display:inline-block;width:6px;height:6px;background:#e4e4e4;border-radius:50%;margin-right:10px;box-shadow:0 0 12px #fff8}.fsm-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:710px;gap:15px}.fsm h1{font-size:clamp(66px,7.8vw,116px);font-weight:600;line-height:.96;letter-spacing:-.065em;margin:55px 0 30px}.fsm h1>span{color:#8b8b8b}.fsm-hero-copy>p{font-size:17px;color:#aaa;max-width:460px;line-height:1.7;margin-bottom:30px}.fsm-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:16px 22px;background:#eaeaea;border:1px solid #eaeaea;color:#090909;cursor:pointer;font-size:11px;font-weight:bold;letter-spacing:.08em;transition:background .2s,transform .2s}.fsm-button:hover{background:#fff;transform:translateY(-2px)}.fsm-button>span{font-size:18px;font-weight:400}.fsm-button-outline{background:transparent;color:#fff;border-color:#666}.fsm-button-outline:hover{background:#222}.fsm-scope-art{position:relative;min-width:0;height:600px;isolation:isolate;background:linear-gradient(90deg,#ffffff05 1px,transparent 1px),linear-gradient(#ffffff05 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse,#000 40%,transparent 75%)}.fsm-scope-art:before{content:'';position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#bfbfbf26,transparent 42%),radial-gradient(circle,#151515 0,#080808 58%,transparent 60%);box-shadow:inset 2px 1px 1px #eeeeee2b;z-index:-1}.fsm-orbit{position:absolute;inset:10%;border:1px solid #b7b7b75c;border-radius:50%}.orbit-one{transform:rotate(-35deg) scaleX(.5);box-shadow:0 0 25px #eeeeee0b}.orbit-two{transform:rotate(35deg) scaleX(.5);border-color:#ffffff2a}.orbit-three{transform:rotate(90deg) scaleX(.5);border-color:#ffffff66}.fsm-core{position:absolute;inset:30%;display:grid;place-items:center;text-align:center;line-height:1.05;font-size:clamp(33px,4vw,58px);letter-spacing:-.07em;font-weight:600;transform:rotate(-12deg);text-shadow:0 0 30px #ffffff29;border:1px solid #ffffff0a;border-radius:50%;background:radial-gradient(circle at 20% 15%,#484848,#171717 50%,#080808)}.fsm-coordinate{position:absolute;font-family:monospace;font-size:9px;letter-spacing:.15em;color:#aaa}.coord-one{top:12%;left:12%}.coord-two{bottom:11%;right:9%}.fsm-cross{position:absolute;color:#ddd;font-family:monospace;font-size:30px}.cross-one{right:10%;top:29%}.cross-two{left:11%;bottom:27%}.fsm-hero-bottom{display:flex;justify-content:space-between;padding:30px 0 35px;border-bottom:1px solid #333;font:10px monospace;letter-spacing:.14em;color:#999}.fsm-hero-bottom a{color:#ddd}.fsm h2{font-weight:500;font-size:clamp(34px,4.2vw,62px);line-height:1.1;letter-spacing:-.045em;margin:18px 0 28px}.fsm h2>span{color:#888}.fsm-intro{padding-top:110px;padding-bottom:115px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.fsm-intro>.fsm-label{padding-top:27px}.fsm-intro p{max-width:650px;color:#aaa;font-size:17px}.fsm-section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:45px}.fsm-section-heading>p{max-width:340px;font-size:15px;color:#aaa;margin-bottom:29px}.fsm-capabilities{padding-bottom:115px}.fsm-service-list{border-top:1px solid #444}.fsm-service-list details{border-bottom:1px solid #333}.fsm-service-list summary{display:grid;grid-template-columns:65px 1fr 70px 30px;gap:20px;align-items:center;padding:29px 8px;cursor:pointer;list-style:none}.fsm-service-list summary::-webkit-details-marker{display:none}.fsm-service-list summary:hover{background:#111}.fsm-service-no{font:11px monospace;color:#999}.fsm-service-title{font-size:clamp(24px,3.2vw,42px);letter-spacing:-.035em}.fsm-service-list svg{width:32px;height:32px;fill:none;stroke:#aaa;stroke-width:1.1}.fsm-toggle{font-size:25px;font-weight:300;color:#aaa}.fsm-service-list details[open] .fsm-toggle{transform:rotate(45deg)}.fsm-service-body{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:0 45px 32px 93px;color:#aaa;font-size:15px}.fsm-service-body p{max-width:500px;margin:0}.fsm-service-body ul{margin:0;list-style:none;padding:0}.fsm-service-body li{border-bottom:1px solid #262626;padding:6px 0}.fsm-service-body li:before{content:'—';margin-right:12px;color:#666}.fsm-work{background:#101010;border-block:1px solid #292929;padding:100px 0}.fsm-work-image{display:block;position:relative;overflow:hidden;background:#171717}.fsm-work-image img{display:block;width:100%;max-height:560px;object-fit:cover;filter:grayscale(1) brightness(.8);transition:filter .3s,transform .5s}.fsm-work-image:hover img{filter:grayscale(.2) brightness(.9);transform:scale(1.015)}.fsm-work-image>span{position:absolute;bottom:25px;right:25px;background:#080808dc;border:1px solid #777;color:#fff;padding:16px 20px;display:flex;gap:40px;align-items:center;font:11px monospace;letter-spacing:.1em}.fsm-project-info{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:35px}.fsm-project-info h3{font-weight:400;font-size:30px;line-height:1.2;letter-spacing:-.025em;margin:15px 0}.fsm-project-info p{color:#aaa;margin:0 0 25px}.fsm-tags{display:flex;flex-wrap:wrap;gap:8px}.fsm-tags span{font:9px monospace;letter-spacing:.08em;border:1px solid #444;padding:7px 10px;color:#bbb}.fsm-process{padding-block:110px}.fsm-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:65px}.fsm-process-grid article{border-top:1px solid #555;padding-top:22px}.fsm-process-grid article>span{font:10px monospace;letter-spacing:.1em;color:#aaa}.fsm-process-grid h3{font-size:25px;font-weight:400;letter-spacing:-.035em;margin:25px 0 14px}.fsm-process-grid p{color:#999;font-size:15px}.fsm-contact{padding:110px 0;background:#111;border-block:1px solid #333}.fsm-contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.fsm-contact-grid h2{font-size:clamp(48px,5.5vw,78px);line-height:1.03}.fsm-contact-grid>div>p{max-width:350px;color:#aaa}.fsm-contact-line{height:1px;width:100px;background:linear-gradient(90deg,#aaa,transparent);margin:40px 0}.fsm-small{font-size:11px!important;line-height:1.7;color:#a4a4a4;letter-spacing:.02em}.fsm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fsm form label{display:block;font-size:12px;color:#c5c5c5;margin-bottom:24px}.fsm form label>span,.fsm form legend>span{color:#aaa}.fsm input:not([type=checkbox]),.fsm textarea{display:block;width:100%;border:0;border-bottom:1px solid #555;padding:13px 0 10px;border-radius:0;background:transparent;color:#f4f4f4;font-size:15px}.fsm input::placeholder,.fsm textarea::placeholder{color:#757575}.fsm textarea{resize:vertical}.fsm fieldset{border:0;padding:0;margin:10px 0 25px;min-width:0}.fsm legend{font-size:12px;margin-bottom:18px;color:#c5c5c5}.fsm-service-choices{display:flex;flex-wrap:wrap;gap:10px}.fsm .fsm-service-choices label{position:relative;margin:0;cursor:pointer}.fsm-service-choices input{position:absolute;opacity:0;width:1px;height:1px}.fsm-service-choices label>span{display:block;padding:10px 13px;border:1px solid #444;font-size:11px;color:#aaa}.fsm-service-choices input:checked+span{background:#eee;color:#080808;border-color:#eee}.fsm-service-choices input:focus-visible+span{outline:2px solid white;outline-offset:3px}.fsm-trap{position:absolute;left:-10000px}.fsm .fsm-spam{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fsm .fsm-spam input{width:70px;padding:6px 5px}.fsm-form-status{font-size:13px;color:#ddd;line-height:1.6}.fsm form button{margin-top:12px}.fsm [hidden]{display:none!important}#fsm-brief-panel{margin-top:30px;padding:20px;border:1px solid #444;background:#080808}.fsm-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:40px}.fsm-footer .fsm-wordmark{font-size:13px}.fsm-footer p{color:#999;font-size:12px}.fsm-footer>span{font:9px monospace;letter-spacing:.1em;color:#888}@media(max-width:1000px){.fsm-wrap{width:calc(100% - 64px)}.fsm-header{padding-inline:32px}.fsm-hero-grid{min-height:650px}.fsm-scope-art{height:450px}.fsm-contact-grid{gap:50px}.fsm-service-body{gap:35px}.fsm-header nav{gap:23px}.fsm-hero-index{display:none}}@media(max-width:700px){.fsm-wrap{width:calc(100% - 40px)}.fsm-header{height:84px;padding-inline:20px}.fsm-wordmark{font-size:13px;gap:9px}.fsm-wordmark small{font-size:8px}.fsm-mark{width:34px;height:34px;font-size:20px}.fsm-header nav{gap:15px;font-size:11px}.fsm-header nav>a:first-child{display:none}.fsm-nav-contact{padding:10px 13px}.fsm-hero-top{padding-top:25px}.fsm-hero-grid{grid-template-columns:1fr;gap:0;min-height:auto}.fsm h1{font-size:clamp(66px,14vw,94px);margin-top:40px;max-width:570px}.fsm-hero-copy>p{max-width:420px}.fsm-scope-art{height:340px;max-width:440px;width:100%;justify-self:center;margin-top:20px}.fsm-core{font-size:40px}.fsm-hero-bottom{gap:20px;line-height:1.7}.fsm-hero-bottom>span{display:none}.fsm-intro{grid-template-columns:1fr;gap:10px;padding-block:65px}.fsm-intro>.fsm-label{padding-top:0}.fsm-section-heading{display:block;margin-bottom:30px}.fsm-section-heading>p{max-width:440px}.fsm-capabilities{padding-bottom:65px}.fsm h2{font-size:38px}.fsm-service-list summary{grid-template-columns:35px 1fr 30px;gap:10px;padding-block:25px}.fsm-service-list svg{display:none}.fsm-service-title{font-size:26px}.fsm-service-body{grid-template-columns:1fr;padding:0 10px 25px 45px;gap:20px;font-size:14px}.fsm-work{padding-block:65px}.fsm-work-image img{min-height:280px}.fsm-work-image>span{right:15px;bottom:15px;padding:12px;font-size:10px}.fsm-project-info{grid-template-columns:1fr;gap:15px}.fsm-project-info h3{font-size:27px}.fsm-process{padding-block:65px}.fsm-process-grid{grid-template-columns:1fr;gap:25px;margin-top:35px}.fsm-process-grid h3{margin-top:16px}.fsm-contact{padding-block:65px}.fsm-contact-grid{grid-template-columns:1fr;gap:35px}.fsm-contact-grid h2{font-size:60px}.fsm-form-grid{grid-template-columns:1fr;gap:0}.fsm-contact-line{display:none}.fsm-contact-grid>div>.fsm-small{display:none}.fsm-footer{align-items:start;flex-wrap:wrap;padding-block:30px}.fsm-footer p{margin:0}.fsm-footer>span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.fsm-inquiry-dialog {
  width: min(90vw, 30rem);
  box-sizing: border-box;
  padding: 2rem;
  color: #fff;
  background: #191919;
  border: 1px solid #575757;
  border-radius: 1rem;
}
.fsm-inquiry-dialog::backdrop { background: rgb(0 0 0 / 75%); }
.fsm-inquiry-dialog h2 { margin: 0; font-size: 1.5rem; }
.fsm-inquiry-dialog p { margin: .75rem 0 1.5rem; }

.fsm-scope-interactive { position: relative; min-width: 0; }
.fsm-scope-interactive .fsm-scope-art { margin-inline: auto; }
.fsm-scope-interactive .fsm-core {
  color: inherit;
  cursor: pointer;
  transition: transform .32s ease, box-shadow .32s ease;
}
.fsm-scope-interactive .fsm-orbit { transition: scale .32s ease; }
.fsm-scope-interactive.is-revealed .fsm-core {
  transform: translateY(-12%) rotate(0) scale(1.07);
  box-shadow: 0 0 30px #d51d353d;
}
.fsm-scope-interactive.is-revealed .fsm-orbit { scale: 1.05; }
.fsm-hero-services {
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .4rem;
  margin: 0;
  padding: .55rem;
  list-style: none;
  border: 1px solid #ffffff36;
  border-radius: .85rem;
  background: #161616;
  box-shadow: 0 12px 32px #000a;
  animation: fsm-services-in .26s ease both;
}
.fsm-hero-services[hidden] { display: none; }
.fsm-hero-services a {
  display: grid;
  place-items: center;
  height: 100%;
  min-height: 44px;
  padding: .3rem;
  border-radius: .4rem;
  background: #272727;
  color: #fff;
  font-size: clamp(.7rem, 1.05vw, .9rem);
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}
.fsm-hero-services a:hover { background: #8a1730; }
.fsm-hero-services a:focus-visible,
.fsm-scope-interactive .fsm-core:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
@keyframes fsm-services-in {
  from { opacity: 0; transform: translateY(8px); }
}
@media (prefers-reduced-motion: reduce) {
  .fsm-hero-services { animation: none; }
  .fsm-scope-interactive .fsm-core,
  .fsm-scope-interactive .fsm-orbit { transition: none; }
}

.fsm-scope-interactive.is-tracking .fsm-hero-services {
  grid-template-columns: minmax(0, 1fr);
  inset: auto 10% 8%;
}
.fsm-scope-interactive.is-tracking .fsm-hero-services li:not(.is-active) { display: none; }
.fsm-scope-interactive.is-tracking .fsm-hero-services a { font-size: 1rem; }

@media (prefers-reduced-motion: no-preference) {
  .fsm-scope-interactive.is-tracking .fsm-core {
    transform: perspective(380px) rotateX(var(--scope-tilt-x)) rotateY(var(--scope-tilt-y)) scale(1.07);
    transition-duration: .14s;
  }
  .fsm-scope-interactive.is-tracking .fsm-orbit {
    rotate: var(--scope-tilt-y);
    transition: rotate .14s ease-out, scale .32s ease;
  }
}

.fsm-local { padding-block: clamp(3rem, 8vw, 7rem); }
.fsm-local-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 1rem;
  margin-block: 1.75rem;
}
.fsm-local-grid article {
  padding: 1.35rem;
  border: 1px solid #ffffff26;
  background: #151515;
}
.fsm-local-grid h3 { margin: 0 0 .75rem; }
.fsm-local-grid p { margin: 0; color: #ccc; line-height: 1.65; }
