/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}}@layer components{.wrap{max-width:var(--maxw);padding-inline:var(--pad);margin:0 auto}.section{padding-block:clamp(64px,9vw,128px);position:relative}.section--alt{background:linear-gradient(180deg,var(--bg) 0,var(--bg-2) 8%,var(--bg-2) 92%,var(--bg) 100%)}.eyebrow{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);align-items:center;gap:14px;margin-bottom:22px;font-size:12px;display:flex}.eyebrow:before{content:"";background:var(--accent);flex:none;width:34px;height:2px;display:block}.eyebrow--center{justify-content:center}.display,h1,h2,h3{font-family:var(--font-display);letter-spacing:.005em;font-weight:600;line-height:1.04}.section-title{text-transform:uppercase;letter-spacing:.01em;max-width:18ch;font-size:clamp(30px,4.4vw,54px);font-weight:600}.section-head{margin-bottom:clamp(40px,6vw,68px)}.section-head--center{text-align:center}.section-head--center .eyebrow{justify-content:center}.section-head--center .section-title{margin-inline:auto}.lead{color:var(--fg-dim);max-width:62ch;margin-top:22px;font-size:clamp(17px,1.5vw,20px)}.mono-tag{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);font-size:12px}.btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;align-items:center;gap:11px;padding:15px 26px;font-size:15px;font-weight:500;transition:all .22s;display:inline-flex}.btn .arr{transition:transform .22s}.btn:hover .arr{transform:translate(4px)}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 8px 30px -10px var(--accent)}.btn--primary:hover{background:var(--accent-2)}.btn--ghost{border-color:var(--line-2);color:var(--fg)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.btn--block{justify-content:center;width:100%}.nav{z-index:100;padding:14px var(--pad);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:background .3s,border-color .3s,padding .3s;display:flex;position:fixed;inset:0 0 auto}.nav.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line);background:#0b0e13db;padding-block:10px}.brand{align-items:center;gap:13px;display:flex}.brand-mark{border:1.5px solid var(--accent);background:linear-gradient(150deg,var(--accent-soft),transparent);border-radius:3px;flex:none;place-items:center;width:42px;height:42px;display:grid;position:relative}.brand-mark span{font-family:var(--font-display);color:var(--accent);letter-spacing:.02em;font-size:17px;font-weight:700}.brand-mark:after{content:"";background:repeating-linear-gradient(90deg,var(--accent) 0 4px,transparent 4px 8px);opacity:.6;height:2px;position:absolute;inset:auto 0 4px}.brand-text b{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:18px;font-weight:600;line-height:1.05;display:block}.brand-text small{font-family:var(--font-mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;white-space:nowrap;font-size:10px}.nav-links{align-items:center;gap:30px;display:flex}.nav-links a{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim);padding-block:6px;font-size:14.5px;font-weight:500;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .25s;position:absolute;bottom:0;left:0}.nav-links a.active,.nav-links a:hover{color:var(--fg)}.nav-links a.active:after,.nav-links a:hover:after{width:100%}.nav-actions{align-items:center;gap:14px;display:flex}.lang-switch{position:relative}.lang-btn{border:1px solid var(--line-2);color:var(--fg-dim);font-family:var(--font-mono);letter-spacing:.08em;background:0 0;border-radius:3px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1;transition:all .2s;display:flex}.lang-btn:hover{border-color:var(--accent);color:var(--accent)}.lang-btn .chev{font-size:9px;transition:transform .2s}.lang-btn .chev.up{transform:rotate(180deg)}.lang-menu{z-index:120;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10151cfa;border-radius:5px;min-width:170px;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 36px #00000080}.lang-menu a{color:var(--fg-dim);border-radius:3px;align-items:center;gap:12px;padding:9px 12px;font-size:14px;transition:all .15s;display:flex}.lang-menu a:hover{background:var(--surface);color:var(--fg)}.lang-menu a.on{color:var(--accent)}.lang-menu .lc{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);flex:none;width:22px;font-size:11px;font-weight:600}.lang-menu a.on .lc{color:var(--accent)}.nav-burger{background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.nav-burger span{background:var(--fg);width:24px;height:2px;transition:all .3s}.mobile-menu{z-index:99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--pad);background:#080b0ff7;flex-direction:column;justify-content:center;gap:8px;transition:transform .4s cubic-bezier(.7,0,.2,1);display:flex;position:fixed;inset:0;transform:translateY(-100%)}.mobile-menu.open{transform:translateY(0)}.mobile-menu a{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;color:var(--fg-dim);border-bottom:1px solid var(--line);padding-block:8px;font-size:30px}.hero{align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-photo{z-index:0;background:url(/assets/hero-aerial.webp) 50% 38%/cover no-repeat;animation:heroDrift 26s ease-in-out infinite alternate;position:absolute;inset:0;transform:scale(1.04)}@keyframes heroDrift{0%{transform:scale(1.04)translateY(0)}to{transform:scale(1.1)translateY(-1.5%)}}.hero-scrim{z-index:1;background:linear-gradient(#080b1080,#080b100f 24%,#0000 40%,#080b1080 68%,#080b10ed),linear-gradient(96deg,#080b10bd,#080b1047 44%,#0000 72%);position:absolute;inset:0}.hero-vignette{background:radial-gradient(120% 100% at 50% 30%,#0000 55%,#06080ca6 100%)}.embers,.hero-vignette{z-index:2;pointer-events:none;position:absolute;inset:0}.embers{overflow:hidden}.ember{background:var(--accent-2);width:3px;height:3px;box-shadow:0 0 6px 1px var(--accent-2);opacity:0;border-radius:50%;animation:rise linear infinite;position:absolute;bottom:24%}@keyframes rise{0%{opacity:0;transform:translateY(0)translate(0)}10%{opacity:.9}80%{opacity:.7}to{transform:translateY(-60vh) translateX(var(--drift,20px));opacity:0}}.hero-inner{z-index:3;width:100%;max-width:var(--maxw);padding:96px var(--pad) clamp(48px,7vw,88px);margin:0 auto;position:relative}.hero-kicker{align-items:center;gap:14px;margin-bottom:26px;display:flex}.hero-kicker .mono-tag{color:var(--fg-dim);letter-spacing:.26em;text-transform:uppercase}.hero-kicker .dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 12px 2px var(--accent);border-radius:50%}.hero h1{text-transform:uppercase;letter-spacing:.005em;max-width:none;font-size:clamp(40px,6.4vw,88px);font-weight:600}.hero h1 span{white-space:nowrap;display:block}.hero h1 .hl{color:var(--accent)}.hero-sub{color:var(--fg-dim);max-width:56ch;margin-top:26px;font-size:clamp(16px,1.5vw,21px);position:relative}.hero-cta{gap:16px;margin-top:40px}.hero-cta,.hero-stats{flex-wrap:wrap;display:flex}.hero-stats{border-top:1px solid var(--line);gap:clamp(24px,4vw,56px);margin-top:clamp(32px,4vw,52px);padding-top:28px}.hero-stat b{font-family:var(--font-display);font-size:clamp(30px,3.6vw,46px);font-weight:600;line-height:1;display:block}.hero-stat b i{color:var(--accent);font-size:.6em;font-style:normal}.hero-stat span{letter-spacing:.14em;text-transform:uppercase;font-size:12px}.hero-stat span,.scroll-cue{font-family:var(--font-mono);color:var(--muted)}.scroll-cue{z-index:4;letter-spacing:.24em;flex-direction:column;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.scroll-cue .line{background:linear-gradient(var(--accent),transparent);width:1px;height:34px;animation:cue 1.8s ease-in-out infinite}@keyframes cue{0%,to{transform-origin:top;opacity:.4;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}.trust{border-block:1px solid var(--line);background:var(--bg-2);padding-block:24px;overflow:hidden}.marquee{white-space:nowrap;gap:0;animation:scrollx 32s linear infinite;display:flex}.marquee:hover{animation-play-state:paused}.marquee .item{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);align-items:center;gap:16px;padding-inline:38px;font-size:18px;font-weight:500;display:flex}.marquee .item:after{content:"";background:var(--accent);width:6px;height:6px;margin-left:38px;transform:rotate(45deg)}@keyframes scrollx{to{transform:translate(-50%)}}.media{--slot-bg:var(--surface);background:linear-gradient(135deg,var(--surface) 0,var(--surface-2) 100%);border:1px solid var(--line);display:block;position:relative;overflow:hidden}.media img{object-fit:cover}.slot-wrap{position:relative}.slot-tag{letter-spacing:.08em;color:var(--accent);border:1px solid var(--line-2);border-left:2px solid var(--accent);text-transform:uppercase;background:#0b0e13d1;max-width:80%;padding:5px 9px;font-size:10.5px;top:12px;left:12px}.slot-spec,.slot-tag{z-index:4;pointer-events:none;font-family:var(--font-mono);position:absolute}.slot-spec{letter-spacing:.06em;color:var(--muted-2);border:1px solid var(--line);background:#0b0e13b3;padding:3px 7px;font-size:10px;bottom:12px;right:12px}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(36px,5vw,72px);display:grid}.about-media{position:relative}.about-media .media{aspect-ratio:4/5;width:100%;height:auto}.about-media .badge{background:var(--accent);color:#fff;border-radius:3px;padding:22px 26px;position:absolute;bottom:-24px;right:-20px;box-shadow:0 20px 50px -16px #000000b3}.about-media .badge b{font-family:var(--font-display);font-size:44px;font-weight:600;line-height:1;display:block}.about-media .badge span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.9;font-size:11px}.values{border:1px solid var(--line);background:var(--line);gap:2px;margin-top:36px;display:grid}.value{background:var(--bg);align-items:flex-start;gap:20px;padding:24px 26px;transition:background .25s;display:flex}.value:hover{background:var(--surface)}.value .ix{font-family:var(--font-mono);color:var(--accent);flex:none;padding-top:3px;font-size:13px}.value h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin-bottom:5px;font-size:21px;font-weight:600}.value p{color:var(--muted);margin:0;font-size:15.5px}.capability{background:var(--bg-2);border-block:1px solid var(--line)}.stat-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.stat-cell{background:var(--bg-2);padding:clamp(28px,4vw,46px) clamp(20px,3vw,34px);position:relative;overflow:hidden}.stat-cell:before{content:"";background:var(--accent);width:0;height:3px;transition:width .6s;position:absolute;top:0;left:0}.stat-cell.in:before{width:48px}.stat-num{font-family:var(--font-display);letter-spacing:.01em;font-size:clamp(40px,5.5vw,72px);font-weight:600;line-height:1}.stat-num .u{color:var(--accent);margin-left:4px;font-size:.42em}.stat-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:14px;font-size:12px}.stat-sub{color:var(--muted-2);margin-top:6px;font-size:14px}.svc-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.svc{background:var(--bg);flex-direction:column;transition:background .25s;display:flex;position:relative;overflow:hidden}.svc:hover{background:var(--surface)}.svc .media.svc-photo{aspect-ratio:16/10;border:none;border-bottom:1px solid var(--line);width:100%}.svc-body{flex:1;padding:clamp(30px,3.6vw,46px);position:relative;overflow:hidden}.svc-ix{font-family:var(--font-mono);letter-spacing:.1em;font-size:13px}.svc-icon,.svc-ix{color:var(--accent)}.svc-icon{border:1px solid var(--line-2);width:54px;height:54px;background:var(--accent-soft);border-radius:3px;place-items:center;margin:22px 0 26px;transition:all .25s;display:grid}.svc:hover .svc-icon{border-color:var(--accent)}.svc h3{text-transform:uppercase;letter-spacing:.015em;margin-bottom:14px;font-size:26px}.svc p{color:var(--muted);max-width:46ch;font-size:16px}.svc-tags{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.svc-tags span{font-family:var(--font-mono);letter-spacing:.08em;color:var(--fg-dim);border:1px solid var(--line-2);text-transform:uppercase;border-radius:2px;padding:5px 10px;font-size:11px}.svc-num-bg{font-family:var(--font-display);color:var(--surface-2);z-index:0;opacity:.6;pointer-events:none;font-size:160px;font-weight:700;line-height:1;position:absolute;bottom:-30px;right:-10px}.svc-body>*{z-index:1;position:relative}.ship-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.ship-card{border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}.ship-card .media{aspect-ratio:4/3;border:none;width:100%;height:auto}.ship-meta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;display:flex}.ship-meta h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:21px;font-weight:600}.ship-meta .mono-tag{margin-top:3px;display:block}.ship-meta .ix{font-family:var(--font-mono);color:var(--accent);font-size:13px}.process-track{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(6,1fr);gap:0;display:grid}.step{background:var(--bg);flex-direction:column;transition:background .25s;display:flex;position:relative}.step:hover{background:var(--surface)}.step .media.step-photo{aspect-ratio:4/3;border:none;border-bottom:1px solid var(--line);width:100%}.step-body{padding:24px 20px 28px}.step-no{font-family:var(--font-display);color:var(--surface-2);font-size:46px;font-weight:700;line-height:1;transition:color .25s}.step:hover .step-no{color:var(--accent)}.step-bar{background:var(--line-2);height:2px;margin:18px 0;position:relative;overflow:hidden}.step-bar:after{content:"";background:var(--accent);width:0;transition:width .5s;position:absolute;inset:0}.step.in .step-bar:after{width:100%}.step h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px;font-size:18px;font-weight:600}.step p{color:var(--muted);margin:0;font-size:14px}.flycam{padding:0;position:relative}.flycam-media{height:clamp(420px,62vw,760px);position:relative}.flycam-media .media{border:none;width:100%;height:100%}.flycam-overlay{z-index:3;padding:clamp(32px,6vw,80px) var(--pad);pointer-events:none;background:linear-gradient(#080b108c,#0000 30% 55%,#080b10eb);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.flycam-overlay .inner{max-width:var(--maxw);width:100%;margin:0 auto}.flycam h2{text-transform:uppercase;text-wrap:balance;max-width:16ch;font-size:clamp(30px,5vw,64px)}.flycam .lead{margin-top:18px}.play-badge{z-index:4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#080b1066;border:1.5px solid #ffffff80;border-radius:50%;place-items:center;width:88px;height:88px;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.play-badge:before{content:"";border:1px solid var(--accent);border-radius:50%;animation:pulse 2.2s ease-out infinite;position:absolute;inset:-12px}.play-badge .tri{border-top:13px solid #0000;border-bottom:13px solid #0000;border-left:20px solid #fff;width:0;height:0;margin-left:6px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.project{border:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.project .media{aspect-ratio:16/10;border:none;width:100%;height:auto}.project-body{padding:26px 28px 30px}.project-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.project-type{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:2px;padding:4px 9px;font-size:11px}.project-type,.project-year{font-family:var(--font-mono)}.project-year{color:var(--muted);font-size:13px}.project h3{text-transform:uppercase;letter-spacing:.01em;margin-bottom:18px;font-size:27px}.spec-row{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.spec{background:var(--bg);padding:14px 16px}.spec b{font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1;display:block}.spec b .u{color:var(--accent);font-size:.6em}.spec span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-size:10.5px;display:block}.cert-grid{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.cert{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px;transition:all .25s;display:flex;position:relative}.cert:hover{border-color:var(--accent);background:var(--surface-2)}.cert .ring{border:1.5px dashed var(--line-2);width:54px;height:54px;font-family:var(--font-display);color:var(--steel);border-radius:50%;place-items:center;font-weight:600;transition:all .25s;display:grid}.cert:hover .ring{border-color:var(--accent);color:var(--accent)}.cert b{font-family:var(--font-display);letter-spacing:.04em;font-size:19px}.cert b,.cert span{text-transform:uppercase}.cert span{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);font-size:10px}.team-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.member .media{aspect-ratio:3/4;width:100%;height:auto}.member h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin-top:18px;font-size:20px;font-weight:600}.member .role{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);text-transform:uppercase;margin-top:4px;font-size:12px}.member p{color:var(--muted);margin-top:10px;font-size:14.5px}.partner-wall{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(6,1fr);gap:1px;display:grid}.partner{background:var(--bg);aspect-ratio:16/9;place-items:center;padding:18px;transition:background .25s;display:grid}.partner:hover{background:var(--surface)}.plogo{color:var(--muted);align-items:center;gap:12px;transition:color .25s;display:flex}.partner:hover .plogo{color:var(--fg-dim)}.plogo svg{width:30px;height:30px;color:var(--muted-2);flex:none;transition:color .25s}.partner:hover .plogo svg{color:var(--accent)}.plogo b{font-family:var(--font-display);letter-spacing:.04em;font-size:17px;font-weight:600;line-height:1}.plogo b,.plogo small{text-transform:uppercase;display:block}.plogo small{font-family:var(--font-mono);letter-spacing:.22em;color:var(--muted-2);margin-top:4px;font-size:9px}.quote-row{grid-template-columns:1.3fr 1fr;align-items:center;gap:clamp(30px,5vw,64px);margin-top:64px;display:grid}.quote{padding-left:40px;position:relative}.quote:before{content:"“";color:var(--accent);opacity:.35;font-size:130px;line-height:1;position:absolute;top:-30px;left:-6px}.quote p,.quote:before{font-family:var(--font-display)}.quote p{color:var(--fg);font-size:clamp(22px,2.6vw,32px);font-weight:300;line-height:1.35}.quote .who{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);margin-top:26px;font-size:13px}.quote .who b{color:var(--accent);font-weight:600}.quote-media .media{aspect-ratio:4/3;width:100%;height:auto}.contact{background:var(--bg-2);border-top:1px solid var(--line)}.contact-grid{grid-template-columns:1fr 1.15fr;gap:clamp(40px,6vw,88px);display:grid}.contact-info .info-item{border-bottom:1px solid var(--line);gap:18px;padding:22px 0;display:flex}.contact-info .info-item:first-of-type{border-top:1px solid var(--line)}.info-ic{border:1px solid var(--line-2);width:44px;height:44px;color:var(--accent);border-radius:3px;flex:none;place-items:center;display:grid}.info-item .k{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px}.info-item .v{color:var(--fg);margin-top:4px;font-size:17px}.contact-map{height:280px;margin-top:30px;position:relative;overflow:hidden}.contact-map,.map-caption{border:1px solid var(--line)}.map-caption{background:var(--surface);border-left:2px solid var(--accent);border-radius:4px;align-items:center;gap:14px;margin-top:12px;padding:14px 16px;transition:all .2s;display:flex}.map-caption:hover{border-color:var(--line-2);border-left-color:var(--accent);background:var(--surface-2)}.map-pin{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.map-txt b{font-family:var(--font-display);letter-spacing:.01em;color:var(--fg);font-size:15px;font-weight:500;line-height:1.2;display:block}.map-txt small{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);margin-top:4px;font-size:11px;display:block}.map-caption:hover .map-txt small span{color:var(--accent)}.form-card{background:var(--surface);border:1px solid var(--line);padding:clamp(28px,3.4vw,44px)}.form-card h3{text-transform:uppercase;margin-bottom:8px;font-size:28px}.form-card .sub{color:var(--muted);margin-bottom:30px;font-size:15px}.field{margin-bottom:20px}.field label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;font-size:11px;display:block}.field label .req{color:var(--accent)}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--line-2);width:100%;color:var(--fg);font-family:var(--font-body);border-radius:3px;padding:13px 15px;font-size:15.5px;transition:all .2s}.field input::placeholder,.field textarea::placeholder{color:var(--muted-2)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field textarea{resize:vertical;min-height:108px}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#d9484a}.field .err{color:#e9696b;font-size:12.5px;font-family:var(--font-mono);margin-top:7px;display:none}.field.invalid .err{display:block}.field-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-error{color:#e9696b;font-family:var(--font-mono);background:#d9484a14;border:1px solid #d9484a;border-left-width:2px;border-radius:3px;margin-top:14px;padding:12px 14px;font-size:12.5px;line-height:1.5}.btn[disabled]{opacity:.65;cursor:progress}.form-success{text-align:center;padding:30px 10px;display:none}.form-success.show{display:block}.form-success .check{border:2px solid var(--ok);width:72px;height:72px;color:var(--ok);border-radius:50%;place-items:center;margin:0 auto 22px;font-size:34px;display:grid}.form-success h3{color:var(--fg)}.form-success p{color:var(--muted);margin-top:10px}.footer{background:var(--bg);border-top:1px solid var(--line);padding-block:clamp(56px,7vw,84px) 30px}.footer-top{border-bottom:1px solid var(--line);grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;display:grid}.footer .brand{margin-bottom:22px}.footer-col h5{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;font-size:11px}.footer-col a{color:var(--fg-dim);padding-block:7px;font-size:15px;transition:color .2s;display:block}.footer-col a:hover{color:var(--accent)}.footer-about{color:var(--muted);max-width:38ch;font-size:15px}.footer-slogan{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:19px;font-weight:500}.footer-social{gap:10px;margin-top:22px;display:flex}.footer-social a{border:1px solid var(--line-2);width:40px;height:40px;color:var(--fg-dim);border-radius:3px;place-items:center;transition:all .2s;display:grid}.footer-social a:hover{border-color:var(--accent);color:var(--accent)}.footer-bottom{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted-2);flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:26px;font-size:12px;display:flex}.careers{background:var(--bg-2);border-block:1px solid var(--line)}.careers-card{border:1px solid var(--accent);background:radial-gradient(120% 140% at 0 0,var(--accent-soft),transparent 55%),var(--surface);border-radius:6px;padding:clamp(30px,4.5vw,60px);position:relative;overflow:hidden}.careers-card:after{content:"";pointer-events:none;box-shadow:inset 0 0 140px -60px var(--accent);position:absolute;inset:0}.careers-grid{z-index:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(32px,5vw,64px);display:grid;position:relative}.careers-badge{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:40px;align-items:center;gap:9px;margin-bottom:22px;padding:6px 14px;font-size:11px;display:inline-flex}.careers-badge .dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px 2px var(--accent);border-radius:50%;animation:careerPulse 1.6s ease-in-out infinite}@keyframes careerPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.careers h2{text-transform:uppercase;letter-spacing:.01em;font-size:clamp(28px,3.6vw,46px)}.careers .lead{margin-top:18px}.careers-benefits{gap:11px;margin-top:26px;list-style:none;display:grid}.careers-benefits li{color:var(--fg-dim);align-items:flex-start;gap:12px;font-size:15.5px;display:flex}.careers-benefits li:before{content:"✓";color:var(--accent);flex:none;font-weight:700}.careers-cta{flex-wrap:wrap;align-items:center;gap:20px 24px;margin-top:32px;display:flex}.careers-apply-note{font-family:var(--font-mono);color:var(--muted);font-size:13px}.careers-apply-note b{color:var(--fg-dim);font-weight:600}.careers-jobs-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-size:11px}.careers-positions{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.job{background:var(--bg);justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;transition:background .2s;display:flex}.job:hover{background:var(--surface)}.job-info h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:18px;font-weight:600}.job-info .meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-size:11px}.job .arr{color:var(--accent);font-size:16px;transition:transform .2s}.job:hover .arr{transform:translate(4px)}.section-head--center .lead{margin-inline:auto}.hse-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.hse-item{background:var(--bg-2);padding:clamp(24px,3vw,38px);transition:background .25s}.hse-item:hover{background:var(--surface)}.hse-ic{border:1px solid var(--line-2);width:46px;height:46px;color:var(--accent);background:var(--accent-soft);border-radius:3px;place-items:center;margin-bottom:18px;display:grid}.hse-item h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px;font-size:19px;font-weight:600}.hse-item p{color:var(--muted);font-size:14.5px}.faq-list{border-top:1px solid var(--line);max-width:880px;margin:0 auto}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--fg);justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-size:clamp(16px,2vw,20px);font-weight:500;list-style:none;transition:color .2s;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover,.faq-mark{color:var(--accent)}.faq-mark{flex:none;font-size:24px;line-height:1;transition:transform .25s}.faq-item[open] .faq-mark{transform:rotate(45deg)}.faq-a{color:var(--muted);max-width:72ch;padding:0 4px 24px;font-size:16px;line-height:1.65}.floating-contact{z-index:200;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:18px;right:18px}.fc-btn{color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;transition:transform .2s;display:grid;position:relative;box-shadow:0 8px 24px #00000073}.fc-btn:hover{transform:scale(1.08)}.fc-call{background:var(--accent)}.fc-call:after{content:"";border:2px solid var(--accent);border-radius:50%;animation:fcPulse 1.8s ease-out infinite;position:absolute;inset:0}@keyframes fcPulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.fc-zalo{font-family:var(--font-display);letter-spacing:.02em;background:#0068ff;font-size:13px;font-weight:700}.fc-wa{background:#25d366}.legal{max-width:820px;padding:clamp(90px,12vw,140px) var(--pad) clamp(60px,9vw,110px);margin:0 auto}.legal-back{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);font-size:13px;transition:color .2s}.legal-back:hover{color:var(--accent)}.legal-title{text-transform:uppercase;margin-top:22px;font-size:clamp(30px,5vw,52px)}.legal-updated{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-top:10px;font-size:12px}.legal-intro{color:var(--fg-dim);margin-top:28px;font-size:17px;line-height:1.7}.legal-section{margin-top:36px}.legal-section h2{text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:clamp(19px,2.4vw,24px)}.legal-section p{color:var(--fg-dim);font-size:16px;line-height:1.7}.footer-legal a{color:var(--muted-2);transition:color .2s}.footer-legal a:hover{color:var(--accent)}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:80ms}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.4s}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}:root{--bg:#0b0e13;--bg-2:#0f141b;--surface:#141b24;--surface-2:#1a222d;--line:#27313d;--line-2:#323e4c;--fg:#eef1f4;--fg-dim:#c2c9d1;--muted:#909aa6;--muted-2:#69727e;--accent:#e2552b;--accent-2:#ff7a4d;--accent-soft:#e2552b24;--steel:#6f93b4;--steel-deep:#274056;--ok:#3bb273;--maxw:1280px;--pad:clamp(20px,5vw,72px);--radius:4px;--cjk:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans JP","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;--font-display:var(--font-oswald),system-ui,var(--cjk);--font-body:var(--font-plex-sans),system-ui,var(--cjk);--font-mono:var(--font-plex-mono),ui-monospace,var(--cjk)}@media (max-width:1100px){.hse-grid,.stat-grid{grid-template-columns:repeat(2,1fr)}.process-track{grid-template-columns:repeat(3,1fr)}.cert-grid{grid-template-columns:repeat(5,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.partner-wall{grid-template-columns:repeat(3,1fr)}.nav-links{gap:22px}}@media (max-width:980px){.nav-links{display:none}.nav-burger{display:flex}.about-grid,.careers-grid,.contact-grid,.quote-row{grid-template-columns:1fr}.about-media{max-width:460px;margin:0 auto 36px}.quote-media{max-width:560px}.cert-grid{grid-template-columns:repeat(3,1fr)}.hero h1 span{white-space:normal}.hero{min-height:92svh}}@media (max-width:720px){.portfolio-grid,.ship-grid,.svc-grid{grid-template-columns:1fr}.process-track{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{justify-content:center}.nav .btn--primary{display:none}.flycam-media{height:clamp(360px,72vw,520px)}.spec-row{grid-template-columns:1fr 1fr}}@media (max-width:520px){body{font-size:16px}.field-row,.hse-grid,.stat-grid,.team-grid{grid-template-columns:1fr}.floating-contact{bottom:12px;right:12px}.fc-btn{width:48px;height:48px}.cert-grid,.partner-wall{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr}.hero-stats{gap:22px 28px}.hero-stat{flex:38%}.brand-text small{display:none}.stat-cell{padding:26px 22px}.map-caption{flex-direction:row}.about-media .badge{padding:16px 18px;bottom:-18px;right:0}.about-media .badge b{font-size:34px}}@media (max-width:380px){.cert-grid,.partner-wall,.spec-row{grid-template-columns:1fr}}@media (max-height:560px) and (orientation:landscape){.hero{min-height:auto;padding-top:84px}.scroll-cue{display:none}}@media (prefers-reduced-motion:reduce){.hero-photo{animation:none;transform:none}.reveal{opacity:1;transition:none;transform:none}.careers-badge .dot,.ember,.fc-call:after,.marquee,.play-badge:before,.scroll-cue .line{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}