@font-face{font-family:'Barlow';src:url(/assets/fonts/barlow-300.woff2) format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Barlow';src:url(/assets/fonts/barlow-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Barlow';src:url(/assets/fonts/barlow-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Barlow';src:url(/assets/fonts/barlow-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(/assets/fonts/plex-mono-400.woff2) format('woff2');font-weight:400;font-display:swap}

html,body{margin:0;background:#05151B}
body{font-family:'Barlow',Helvetica,sans-serif;-webkit-font-smoothing:antialiased;color:#FFFFFF}
a{color:inherit;text-decoration:none}
@media (hover:hover){a:hover{color:#F18130}}
input,textarea,select,button{font:inherit}
::placeholder{color:#647177}
a:focus-visible,button:focus-visible{outline:2px solid #F18130;outline-offset:3px}
@keyframes forjHeat{0%{background-position:100% 0}100%{background-position:35% 0}}
@keyframes forjGlow{0%{opacity:0}40%{opacity:1}100%{opacity:.55}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.main{display:contents}
.page{position:relative;min-height:100vh;display:flex;flex-direction:column;background:#05151B;overflow:hidden}
.grain{position:absolute;inset:0;opacity:.06;pointer-events:none;mix-blend-mode:overlay;z-index:5;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* Hero: the poster is the background, the video fades in over it once playing, the shade sits on top. */
.hero{position:relative;min-height:min(100vh,920px);min-height:min(100svh,920px);display:flex;flex-direction:column;background:#05151B url(/assets/hero-poster-1280.webp?v=607d34ff72) 62% center/cover no-repeat}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;opacity:0;transition:opacity .6s ease}
.hero-video.is-playing{opacity:1}
.hero-shade{position:absolute;inset:0;background-image:linear-gradient(90deg,#05151B 0%,rgba(5,21,27,.94) 38%,rgba(5,21,27,.55) 58%,rgba(5,21,27,.15) 82%,rgba(5,21,27,.05) 100%),linear-gradient(0deg,#05151B 0%,rgba(5,21,27,0) 38%)}
@media (max-width:700px){
  .hero{background-image:url(/assets/hero-poster-mobile.webp?v=f0c4c4056f);background-position:70% center}
  .hero-video{object-position:70% center}
}

.nav{position:relative;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:28px clamp(20px,4vw,56px)}
.nav-logo{height:34px;width:auto;display:block}
.nav-cta{white-space:nowrap;padding:12px clamp(14px,4vw,20px);min-height:44px;box-sizing:border-box;display:flex;align-items:center;border:1px solid rgba(255,255,255,.28);border-radius:2px;font-size:15px;font-weight:500;letter-spacing:.02em;transition:border-color .5s ease .05s,color .3s,box-shadow .8s ease .05s}
@media (hover:hover){.nav-cta:hover{border-color:#F18130;color:#F18130;box-shadow:0 0 32px rgba(241,129,48,.25)}}

.hero-copy{position:relative;z-index:6;flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(24px,3vw,36px);padding:clamp(80px,12vw,160px) clamp(20px,4vw,56px) clamp(56px,8vw,96px)}
.hero-title{margin:0;max-width:820px;display:flex;flex-direction:column;gap:.08em;font-size:clamp(48px,7.4vw,108px);line-height:.98;letter-spacing:-.03em;text-shadow:0 2px 40px rgba(5,21,27,.8)}
@media (max-width:1299px){.hero-title{max-width:none}}
.hero-title-light{font-weight:300;color:#D7D7D7}
.hero-title-bold{font-weight:700;color:#FFFFFF}
.hero-sub{display:flex;flex-direction:column;gap:20px;max-width:580px;margin-top:clamp(8px,1.5vw,20px)}
.nowrap{white-space:nowrap}
.hero-sub p{margin:0;font-size:clamp(18px,2vw,22px);line-height:1.45;color:#D7D7D7;text-wrap:pretty;text-shadow:0 1px 20px rgba(5,21,27,.9)}
.hairline{position:relative;height:2px;background:#16323b}
.hairline-heat{position:absolute;inset:0;background-image:linear-gradient(90deg,#16323b 0%,#16323b 40%,#F18130 46%,#FFC48F 50%,#FF7E24 54%,#16323b 60%,#16323b 100%);background-size:250% 100%;background-position:35% 0;animation:forjHeat 2.6s cubic-bezier(.2,.7,.2,1) .3s both}
.hairline-glow{position:absolute;left:62%;width:20%;top:-10px;height:22px;background:radial-gradient(ellipse at center,rgba(241,129,48,.4),transparent 70%);filter:blur(6px);animation:forjGlow 2.6s ease-out .9s both}

.contact{position:relative;z-index:6;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));margin:clamp(24px,4vw,48px) clamp(20px,4vw,56px) clamp(56px,8vw,96px);border:1px solid #16323b;scroll-margin-top:24px}
.contact-intro{display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(28px,4vw,56px)}
.contact-head{display:flex;flex-direction:column;gap:20px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#F18130}
.contact-title{margin:0;font-weight:700;font-size:clamp(36px,4.5vw,56px);line-height:1;letter-spacing:-.025em;text-wrap:balance}
.direct{display:flex;gap:16px;align-items:center}
.direct-mark{width:52px;height:52px;border-radius:4px;display:block;box-shadow:0 0 0 1px #16323b}
.direct-text{display:flex;flex-direction:column;gap:2px;font-size:16px}
.direct-text span{color:#D7D7D7}
.direct-text a{display:inline-block;padding:10px 0;margin:-10px 0;color:#F18130;font-size:clamp(16px,5.2vw,19px);font-weight:500;transition:color .3s}

.panel{display:flex;flex-direction:column;padding:clamp(28px,4vw,56px);background:#FFFFFF;color:#001419}
.form{display:flex;flex-direction:column;gap:14px}
.form[hidden]{display:none}
.field{display:flex;flex-direction:column;gap:6px}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.input{width:100%;box-sizing:border-box;padding:15px 16px;border:1px solid #D7D7D7;background:#F6F6F5;color:#001419;font-size:17px;outline:none;border-radius:2px}
.input:focus{border-color:#F18130;background:#FFFFFF;box-shadow:inset 0 0 0 1px #F18130}
textarea.input{resize:vertical}
select.input{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%23001419' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 16px center}
select.input:invalid{color:#647177}
select.input option{color:#001419}
.input[aria-invalid="true"]{border-color:#B42318}
.field-error{margin:0;font-size:14px;line-height:1.4;color:#B42318}
.field-error:empty{display:none}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{margin:0;font-size:15px;line-height:1.5;color:#B42318}
.form-status:empty{display:none}
.send{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:6px;padding:16px;min-height:54px;background:#05151B;color:#FFFFFF;border:0;border-radius:2px;font-size:17px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .4s,color .3s,box-shadow .6s}
@media (hover:hover){.send:hover{background:#F18130;color:#001419;box-shadow:0 0 36px rgba(241,129,48,.35)}}
.send[disabled]{cursor:progress;opacity:.75}
.icon{display:inline-block;background:currentColor}
.icon-hammer{width:18px;height:18px;-webkit-mask:url(/assets/icon-hammer.svg?v=0d3ef511d7) center/contain no-repeat;mask:url(/assets/icon-hammer.svg?v=0d3ef511d7) center/contain no-repeat}
.icon-flame{width:28px;height:28px;background:#F18130;-webkit-mask:url(/assets/icon-flame.svg?v=15b5acd254) center/contain no-repeat;mask:url(/assets/icon-flame.svg?v=15b5acd254) center/contain no-repeat}

.sent{flex:1;display:flex;flex-direction:column;justify-content:center;gap:16px;min-height:320px}
.sent[hidden]{display:none}
.sent h3{margin:0;font-weight:700;font-size:36px;letter-spacing:-.02em}
.sent p{margin:0;font-size:18px;line-height:1.55;color:#3d4a4f}
.again{align-self:flex-start;padding:0;border:0;background:none;font-size:16px;color:#3d4a4f;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.footer{position:relative;z-index:6;margin-top:auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:28px clamp(20px,4vw,56px);border-top:1px solid #16323b;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#a9b4b8}
.footer-links{display:flex;gap:24px}
.footer-links a{display:inline-block;padding:14px 0;margin:-14px 0;transition:color .3s}

@media (prefers-reduced-motion:reduce){
  .hairline-heat,.hairline-glow{animation:none}
  .hairline-glow{opacity:.55}
  .hero-video{display:none}
  *{transition-duration:.01ms!important}
}

.notfound{position:relative;z-index:6;flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:clamp(56px,10vw,120px) clamp(20px,4vw,56px)}
.notfound p{margin:0;font-size:18px;color:#D7D7D7}
.notfound p a{color:#F18130;text-decoration:underline;text-underline-offset:3px}
