:root {
  --ink: #080b0e;
  --ink-2: #13181c;
  --paper: #f2f1ed;
  --paper-2: #e8e6e0;
  --metal: #cfd3d5;
  --muted: #8e969b;
  --line: rgba(255,255,255,.15);
  --orange: #ef9f2f;
  --orange-bright: #ffc15a;
  --max: 1240px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; z-index: 999; top: -60px; left: 16px; padding: 10px 16px; background: white; color: black; }
.skip-link:focus { top: 16px; }

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  height: 92px;
  max-width: var(--max);
  margin: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 24px;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.brand { display:block; width:150px; height:58px; overflow:hidden; }
.brand-logo { display:block; width:190px; max-width:none; height:auto; margin:-23px 0 0 -20px; mix-blend-mode:screen; filter:drop-shadow(0 0 7px rgba(255,255,255,.12)); }
nav { display: flex; gap: 36px; font-size: 13px; }
nav a { position: relative; color: #d8dcde; }
nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--orange); transition: right .25s; }
nav a:hover::after, nav a:focus-visible::after { right: 0; }
.header-cta { justify-self: end; font-size: 13px; color: #fff; }
.header-cta span { color: var(--orange-bright); margin-left: 8px; }

.hero {
  min-height: 820px;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: 20px 54px;
  padding: 150px max(24px, calc((100vw - var(--max)) / 2 + 24px)) 0;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px) 0 0/80px 80px,
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px) 0 0/80px 80px,
    radial-gradient(circle at 72% 40%, #273038 0, #11171b 25%, #080b0e 58%);
}
.hero::before { content:""; position:absolute; inset:0; background: linear-gradient(115deg, transparent 48%, rgba(255,255,255,.055) 49%, transparent 50%); pointer-events:none; }
.hero-glow { position: absolute; width: 440px; height: 440px; border-radius: 50%; left: 46%; top: 24%; background: radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,.035) 35%,transparent 70%); filter: blur(3px); }
.hero-copy { position: relative; z-index: 2; align-self: center; padding-top: 30px; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 26px; color: #a7afb4; font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.eyebrow span { width: 32px; height: 1px; background: var(--orange); }
.eyebrow.dark { color: #626b71; }
.hero h1 { margin: 0; font-size: clamp(64px, 7vw, 104px); line-height: .98; letter-spacing: -.075em; font-weight: 700; }
.hero h1 em { font-style: normal; color: transparent; -webkit-text-stroke: 1px #dfe3e5; text-shadow: 0 0 32px rgba(255,255,255,.09); }
.hero-lead { margin: 36px 0 0; color: #b9c0c4; font-size: 16px; line-height: 2; letter-spacing: .04em; }
.hero-actions { display: flex; align-items: center; gap: 34px; margin-top: 42px; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; border: 0; padding: 0 24px; font-weight: 700; font-size: 13px; letter-spacing: .02em; cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s, background .25s; }
.button:hover { transform: translateY(-2px); }
.button:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.button-primary { background: var(--orange); color: #0d0f10; box-shadow: 0 14px 34px rgba(239,159,47,.16); }
.button-primary:hover { background: var(--orange-bright); box-shadow: 0 17px 36px rgba(239,159,47,.25); }
.text-link { font-size: 12px; color: #c6cccf; border-bottom: 1px solid #666d71; padding-bottom: 6px; }
.text-link span { color: var(--orange-bright); padding-left: 9px; }

.hero-object { position: relative; z-index: 1; display: grid; place-items: center; min-height: 500px; perspective: 900px; }
.machined-plate {
  position: relative;
  z-index: 2;
  width: min(430px, 90%);
  aspect-ratio: .94;
  display: grid;
  place-items: center;
  transform: rotateY(-12deg) rotateX(5deg) rotateZ(3deg);
  border: 1px solid rgba(255,255,255,.32);
  background:
    linear-gradient(145deg, rgba(255,255,255,.18), transparent 24%, rgba(255,255,255,.06) 48%, transparent 49%),
    repeating-linear-gradient(100deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1px,transparent 4px),
    linear-gradient(145deg,#353c41,#12171b 55%,#292f33);
  box-shadow: 34px 42px 80px rgba(0,0,0,.48), inset 0 0 40px rgba(255,255,255,.035), 0 0 90px rgba(255,255,255,.04);
}
.machined-plate::after { content:""; position:absolute; inset:14px; border:1px solid rgba(255,255,255,.08); }
.plate-corner { position:absolute; width:14px; height:14px; border-radius:50%; background:radial-gradient(circle at 38% 35%,#e9ecee,#666d71 32%,#1d2226 58%,#858b8f 70%); box-shadow: inset 0 0 0 2px rgba(0,0,0,.3); }
.corner-1 { top:25px; left:25px; }.corner-2 { top:25px; right:25px; }.corner-3 { bottom:25px; left:25px; }.corner-4 { bottom:25px; right:25px; }
.plate-label { position:absolute; top:34px; font-size:7px; letter-spacing:.28em; color:#899095; }
.hero-logo { position:relative; z-index:2; width:88%; margin:0; filter:drop-shadow(0 0 18px rgba(255,255,255,.11)); }
.hero-logo img { display:block; width:100%; height:auto; }
.plate-specs { position:absolute; bottom:34px; display:flex; gap:22px; font:7px/1 monospace; color:#697177; }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.09); border-radius:50%; }
.orbit-one { width:480px; height:480px; animation:spin 25s linear infinite; }.orbit-two { width:580px; height:260px; transform:rotate(35deg); border-color:rgba(239,159,47,.13); }
.orbit-one::before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--orange); top:53px; left:74px; box-shadow:0 0 16px var(--orange); }
@keyframes spin { to { transform:rotate(360deg); } }

.hero-trust { grid-column:1/-1; min-height:88px; align-self:end; display:flex; align-items:center; gap:30px; border-top:1px solid rgba(255,255,255,.12); }
.hero-trust > span { margin-right:auto; color:#7e888e; font-size:10px; letter-spacing:.08em; }
.hero-trust p { margin:0; font-size:12px; color:#858e93; }.hero-trust strong { color:#e6e9ea; font-weight:500; }.hero-trust i { height:18px; width:1px; background:#394045; }

.services { padding: 120px max(24px, calc((100vw - var(--max)) / 2 + 24px)); background: var(--paper); }
.section-heading { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:end; margin-bottom:64px; }
.section-heading h2, .contact h2 { margin:0; font-size:clamp(40px,5vw,66px); line-height:1.15; letter-spacing:-.055em; }
.section-heading > p { max-width:520px; margin:0 0 5px; font-size:14px; line-height:2; color:#60686d; }
.service-workbench { display:grid; grid-template-columns:280px 1fr; min-height:570px; border:1px solid #c7c8c5; background:#fff; box-shadow:0 24px 70px rgba(39,43,45,.07); }
.service-tabs { display:flex; flex-direction:column; background:#111519; }
.service-tab { position:relative; flex:1; display:grid; grid-template-columns:28px 34px 1fr; align-items:center; gap:8px; padding:12px 24px; border:0; border-bottom:1px solid rgba(255,255,255,.09); color:#939ba0; background:transparent; text-align:left; cursor:pointer; transition:.25s var(--ease); }
.service-tab:last-child { border-bottom:0; }.service-tab:hover { color:#fff; background:#191e22; }.service-tab.is-active { color:#fff; background:#242a2f; }
.service-tab[data-service="drd"] .tab-label-long { font-size:11px; line-height:1.45; }
.service-tab.is-active::before { content:""; position:absolute; left:0; inset-block:0; width:3px; background:var(--orange); box-shadow:0 0 15px rgba(239,159,47,.4); }
.tab-number { font:9px monospace; color:#606a70; }.tab-icon { width:28px; height:28px; display:grid; place-items:center; }.tab-icon img { display:block; width:100%; height:100%; object-fit:contain; filter:none; opacity:.82; transition:.25s; }.service-tab.is-active .tab-icon img { filter:brightness(0) saturate(100%) invert(75%) sepia(91%) saturate(965%) hue-rotate(335deg) brightness(104%); opacity:1; }.tab-label-long,.tab-label-short { font-size:14px; font-weight:600; }.tab-label-short { display:none; }
.service-panel { display:grid; grid-template-columns:minmax(310px,.9fr) 1.1fr; min-width:0; }
.service-panel { transition: opacity .16s ease, transform .16s ease; }
.service-panel.is-switching { opacity:.35; transform:translateY(4px); }
.panel-visual { position:relative; display:grid; place-items:center; overflow:hidden; background:linear-gradient(rgba(11,15,18,.93),rgba(11,15,18,.98)), repeating-linear-gradient(0deg,transparent,transparent 24px,rgba(255,255,255,.12) 25px), repeating-linear-gradient(90deg,transparent,transparent 24px,rgba(255,255,255,.12) 25px); color:#c7cdd0; }
.panel-visual::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/25px 25px, linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/25px 25px; }
.panel-code { position:absolute; top:24px; left:24px; color:#6f797f; font:8px monospace; letter-spacing:.16em; }
#panel-svg { position:relative; z-index:1; width:84%; max-width:380px; filter:drop-shadow(0 12px 22px #000); }
#panel-svg image { filter:none; }
.draw-line { fill:none; stroke:#c2c8cb; stroke-width:7; stroke-linecap:round; }.solid-shape { fill:#c7cdd0; }.hot-line { stroke:var(--orange); stroke-width:4; stroke-linecap:round; }
.dimension { position:absolute; font:8px monospace; color:#626d73; }.dim-x { bottom:24px; left:50%; transform:translateX(-50%); }.dim-y { right:17px; top:50%; transform:rotate(90deg); }
.panel-content { padding:64px 7% 52px; display:flex; flex-direction:column; }
.panel-kicker { margin:0 0 10px; font:10px monospace; color:#a16a20; letter-spacing:.15em; }.panel-content h3 { margin:0; font-size:38px; letter-spacing:-.045em; }.panel-description { min-height:84px; margin:22px 0 28px; color:#50585d; font-size:14px; line-height:1.85; }
.service-meta { display:grid; grid-template-columns:1fr 1fr; gap:28px; padding-top:25px; border-top:1px solid #dededa; }
.service-meta span { display:block; margin-bottom:13px; color:#8b9296; font-size:9px; font-weight:700; letter-spacing:.15em; }.service-meta ul { margin:0; padding:0; list-style:none; }.service-meta li { margin:0 0 8px; font-size:12px; }.service-meta li::before { content:"—"; color:var(--orange); margin-right:8px; }.service-meta p { margin:0; font-size:12px; line-height:1.9; color:#4d555a; }
.service-actions { display:flex; gap:10px; margin-top:auto; padding-top:30px; }.service-actions .button { margin:0; }.button-dark { align-self:flex-start; background:var(--ink); color:#fff; }.button-dark:hover { background:#272e33; }.button-dark span { color:var(--orange); }.button-work { border:1px solid #bfc2c1; background:#fff; color:#202528; }.button-work:hover { border-color:#202528; }.button-work span { color:#a16a20; }
.process-strip { margin-top:50px; display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:28px; padding:29px 34px; border-top:1px solid #c8c8c3; border-bottom:1px solid #c8c8c3; }
.process-strip p { margin:0; display:grid; grid-template-columns:auto 1fr; gap:1px 12px; }.process-strip span { grid-row:1/3; color:#a9a49b; font:10px monospace; }.process-strip strong { font-size:14px; }.process-strip small { color:#7e8589; font-size:10px; }.process-strip b { color:#b6b2aa; font-weight:400; }

.contact { position:relative; overflow:hidden; display:grid; grid-template-columns:.88fr 1.12fr; gap:9%; padding:120px max(24px, calc((100vw - var(--max)) / 2 + 24px)); color:#fff; background:linear-gradient(125deg,#080b0e,#161c20); }
.contact::before { content:"PiiP"; position:absolute; left:-30px; bottom:-100px; font-size:360px; font-weight:800; letter-spacing:-.1em; color:rgba(255,255,255,.018); }
.contact-intro { position:relative; z-index:1; padding-top:30px; }.contact h2 { max-width:500px; }.contact-intro > p:not(.eyebrow) { color:#9ba4a9; font-size:14px; line-height:2; margin:32px 0 62px; }.contact dl { margin:0; border-top:1px solid var(--line); }.contact dl div { display:grid; grid-template-columns:85px 1fr; padding:17px 0; border-bottom:1px solid var(--line); }.contact dt { color:#667178; font:9px monospace; letter-spacing:.12em; }.contact dd { margin:0; color:#c9ced1; font-size:12px; }
.contact-form { position:relative; z-index:1; padding:38px; color:var(--ink); background:#f3f1ec; box-shadow:0 24px 70px rgba(0,0,0,.24); }
.form-heading { display:flex; justify-content:space-between; align-items:center; padding-bottom:19px; margin-bottom:25px; border-bottom:1px solid #c8c8c3; }.form-heading span { font-size:10px; font-weight:700; letter-spacing:.15em; }.form-heading em { color:#9a6c2e; font-size:9px; font-style:normal; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.contact-form label { display:block; margin-bottom:20px; font-size:11px; font-weight:700; }.contact-form label > span { margin-left:8px; color:#a66a1c; font-size:8px; }
.contact-form input:not([type=checkbox]), .contact-form select, .contact-form textarea { width:100%; margin-top:8px; border:1px solid #d0cec7; border-radius:0; padding:13px 14px; color:var(--ink); background:#fff; transition:border .2s,box-shadow .2s; }.contact-form input, .contact-form select { height:48px; }.contact-form textarea { resize:vertical; min-height:112px; }.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:#a66a1c; box-shadow:0 0 0 3px rgba(239,159,47,.11); outline:0; }.contact-form input::placeholder,.contact-form textarea::placeholder { color:#a6aaa9; font-size:11px; }
.check { display:flex!important; align-items:center; gap:8px; font-weight:400!important; color:#686f73; }.check input { accent-color:var(--orange); }.form-submit { width:100%; }.form-note { margin:12px 0 0; color:#8e9293; font-size:9px; text-align:center; }

footer { min-height:120px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; padding:24px max(24px, calc((100vw - var(--max)) / 2 + 24px)); color:#6f787d; background:#080b0e; border-top:1px solid rgba(255,255,255,.08); }.footer-brand { width:135px; height:52px; }.footer-brand .brand-logo { width:171px; margin:-21px 0 0 -18px; } footer p { font:8px monospace; letter-spacing:.17em; }.footer-actions { justify-self:end; display:flex; align-items:center; gap:18px; }.footer-actions small { font-size:9px; white-space:nowrap; }.business-button { border:1px solid #4e585e; padding:9px 12px; color:#d7dcde; background:transparent; font-size:10px; cursor:pointer; transition:.2s; }.business-button:hover { color:#fff; border-color:#c4c9cb; }.business-button span { color:var(--orange); margin-left:6px; }

dialog { width:min(480px,calc(100% - 32px)); border:0; padding:48px; text-align:center; box-shadow:0 30px 100px rgba(0,0,0,.35); } dialog::backdrop { background:rgba(4,6,7,.78); backdrop-filter:blur(4px); }.dialog-close { position:absolute; right:15px; top:10px; border:0; background:transparent; font-size:28px; cursor:pointer; }.dialog-icon { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 25px; border-radius:50%; color:#171a1c; background:var(--orange); font-size:24px; }.dialog .eyebrow { justify-content:center; margin-bottom:12px; }.dialog .eyebrow::before { content:""; width:22px; height:1px; background:var(--orange); }.dialog h2 { margin:0; font-size:27px; }.dialog > p:not(.eyebrow) { color:#667075; font-size:13px; line-height:1.8; }.dialog .button { margin:20px auto 0; }
.works-dialog { width:min(1040px,calc(100% - 32px)); max-height:calc(100vh - 48px); overflow:auto; padding:52px; text-align:left; background:#f1f0eb; }.works-dialog-head { display:grid; grid-template-columns:1fr minmax(240px,.8fr); gap:15px 60px; align-items:end; padding-right:38px; margin-bottom:32px; }.works-dialog .eyebrow { grid-column:1/-1; margin:0; justify-content:flex-start; }.works-dialog .eyebrow small { color:#9a6c2e; font-size:9px; letter-spacing:.08em; }.works-dialog h2 { font-size:clamp(28px,4vw,46px); letter-spacing:-.06em; }.works-dialog #works-lead { margin:0; color:#667075; font-size:13px; line-height:1.9; }.works-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.work-card { overflow:hidden; min-height:300px; display:flex; flex-direction:column; color:#fff; background:#151a1d; box-shadow:0 14px 28px rgba(19,25,28,.13); }.work-visual { position:relative; min-height:190px; overflow:hidden; background:radial-gradient(circle at 70% 27%,#d6dde1 0 2%,transparent 2.5%),linear-gradient(135deg,#3d474e,#11171b 55%,#8c6229); }.work-visual::before,.work-visual::after { content:""; position:absolute; }.work-visual::before { width:120%; height:64%; left:-12%; top:30%; transform:rotate(-12deg); border:1px solid rgba(255,255,255,.38); background:repeating-linear-gradient(100deg,rgba(255,255,255,.13) 0 1px,transparent 1px 4px),linear-gradient(135deg,rgba(234,238,239,.52),rgba(34,42,46,.48)); box-shadow:0 20px 26px rgba(0,0,0,.35); }.work-visual::after { width:76px; height:76px; right:22px; bottom:16px; border:7px solid #d8dde0; border-radius:50%; box-shadow:0 0 0 11px rgba(239,159,47,.28),0 0 40px rgba(239,159,47,.45); }.work-card:nth-child(2) .work-visual { background:radial-gradient(circle at 33% 53%,#f8c25a 0 4%,transparent 5%),linear-gradient(135deg,#141f27,#251d18 70%,#6e4a20); }.work-card:nth-child(2) .work-visual::before { top:16%; left:15%; width:58%; height:76%; transform:rotate(16deg); border-radius:30px; background:repeating-linear-gradient(180deg,rgba(255,255,255,.14) 0 1px,transparent 1px 10px),linear-gradient(135deg,#6f7f8b,#192127); }.work-card:nth-child(2) .work-visual::after { width:55px; height:55px; left:23px; bottom:22px; border-radius:2px; border-color:#f4a93c; box-shadow:38px -35px 0 -12px rgba(226,232,234,.85),0 0 32px rgba(244,169,60,.46); }.work-card:nth-child(3) .work-visual { background:linear-gradient(135deg,#5c6870,#161b1f 48%,#050708); }.work-card:nth-child(3) .work-visual::before { width:170px; height:112px; left:calc(50% - 85px); top:42px; transform:rotateX(56deg) rotateZ(-6deg); border:1px solid #d3d8da; background:linear-gradient(140deg,#e1e5e5,#4e5a5f 38%,#151a1c 40%); box-shadow:0 40px 20px rgba(0,0,0,.4); }.work-card:nth-child(3) .work-visual::after { width:100%; height:2px; left:0; bottom:45px; border:0; border-radius:0; background:#ef9f2f; box-shadow:0 0 18px 4px rgba(239,159,47,.7); }.work-card-body { position:relative; padding:18px 18px 20px; flex:1; background:#171c20; }.work-index { color:#e3a448; font:10px monospace; letter-spacing:.13em; }.work-card h3 { margin:10px 0 6px; color:#fff; font-size:17px; letter-spacing:-.03em; }.work-card p { margin:0; color:#9ea8ad; font-size:11px; line-height:1.7; }.work-video { position:absolute; right:15px; top:-28px; display:flex; align-items:center; gap:5px; padding:7px 10px; color:#fff; background:#0a0d0f; font:9px monospace; letter-spacing:.08em; }.work-video b { width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:6px solid var(--orange); }.works-note { margin:24px 0 0; color:#7f878a; font-size:11px; }
.business-dialog { width:min(900px,calc(100% - 32px)); padding:52px; text-align:left; background:#f1f0eb; }.business-dialog-head { display:grid; grid-template-columns:1.1fr .9fr; gap:20px 60px; align-items:end; padding-right:38px; margin-bottom:34px; }.business-dialog .eyebrow { grid-column:1/-1; margin:0; justify-content:flex-start; }.business-dialog h2 { margin:0; font-size:clamp(32px,5vw,54px); letter-spacing:-.06em; }.business-dialog-head > p:not(.eyebrow) { margin:0; color:#667075; font-size:13px; line-height:1.9; }.business-details { display:grid; grid-template-columns:1fr 1fr; margin:0; border-top:1px solid #c9c9c3; border-left:1px solid #c9c9c3; }.business-details div { padding:20px; border-right:1px solid #c9c9c3; border-bottom:1px solid #c9c9c3; }.business-details dt { margin-bottom:11px; color:#8a9295; font:9px monospace; letter-spacing:.14em; }.business-details dd { margin:0; font-size:15px; font-weight:600; }.social-block { display:flex; align-items:center; gap:20px; margin-top:26px; padding:20px; color:#e4e8e9; background:#151a1d; }.social-block > span { color:#8f999e; font:9px monospace; letter-spacing:.16em; }.social-block p { margin:0 auto 0 0; color:#abb4b7; font-size:11px; }.social-links { display:flex; gap:8px; }.social-links span { display:grid; place-items:center; width:34px; height:34px; border:1px solid #4f5a5f; color:#dce0e1; font-size:14px; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease),transform .7s var(--ease); }.reveal.is-visible { opacity:1; transform:none; }
.social-links img { display:block; width:20px; height:20px; object-fit:contain; }.social-links span { width:44px; height:44px; }.hero-social { display:flex; align-items:center; gap:16px; margin-top:28px; }.hero-social small { color:#929da3; font-size:12px; }.hero-social .social-links { margin:0; }

.social-block { display:grid; grid-template-columns:1fr 210px; align-items:stretch; gap:28px; padding:28px; background:linear-gradient(135deg,#1b2226,#0d1114); border:1px solid #333d42; }
.social-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.social-copy > span { color:#8f999e; font:9px monospace; letter-spacing:.16em; }
.social-copy h3 { margin:12px 0 8px; color:#fff; font-size:25px; letter-spacing:-.04em; }
.social-block .social-copy p { margin:0 0 18px; color:#abb4b7; font-size:12px; line-height:1.8; }
.instagram-link { display:inline-flex; align-items:center; gap:10px; padding:11px 14px; color:#fff; border:1px solid #556167; font-size:13px; transition:border-color .2s,background .2s; }
.instagram-link:hover,.instagram-link:focus-visible { border-color:var(--orange); background:rgba(239,159,47,.08); }
.instagram-link img { width:20px; height:20px; }
.instagram-link span { color:var(--orange-bright); }
.social-copy .social-links { margin-top:18px; }
.social-links > a { display:grid; place-items:center; width:44px; height:44px; border:1px solid #4f5a5f; color:#dce0e1; transition:border-color .2s,background .2s,transform .2s; }
.social-links > a:hover,.social-links > a:focus-visible { border-color:var(--orange); background:rgba(239,159,47,.1); transform:translateY(-2px); }
.instagram-qr { position:relative; display:grid; padding:16px; color:#222a2e; background:linear-gradient(145deg,#f7f8f8,#bfc5c8); border:1px solid #e7ebed; box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 16px 28px rgba(0,0,0,.28); }
.instagram-qr::before { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(102deg,rgba(255,255,255,.14) 0 1px,rgba(0,0,0,.035) 1px 2px,transparent 2px 5px); }
.instagram-qr > * { position:relative; }
.instagram-qr > span { margin-bottom:10px; font:8px monospace; letter-spacing:.16em; }
.instagram-qr img { display:block; width:100%; height:auto; border:7px solid #fff; }
.instagram-qr strong { margin-top:10px; font:12px monospace; letter-spacing:.05em; }

@media (max-width: 920px) {
  .site-header { grid-template-columns:1fr auto; } nav { display:none; }
  .hero { min-height:auto; grid-template-columns:1fr; grid-template-rows:auto; padding-top:165px; }
  .hero-copy { text-align:center; }.hero .eyebrow,.hero-actions { justify-content:center; }.hero-lead { font-size:14px; }.hero-object { min-height:470px; }.machined-plate { width:min(410px,80vw); }.hero-trust { padding:20px 0; flex-wrap:wrap; justify-content:center; }.hero-trust > span { width:100%; margin:0; text-align:center; }.hero-trust i { display:none; }
  .section-heading { grid-template-columns:1fr; gap:25px; }
  .hero-social { justify-content:center; }
  .service-workbench { grid-template-columns:1fr; }.service-tabs { flex-direction:row; overflow:auto; }.service-tab { min-width:150px; min-height:86px; grid-template-columns:22px 28px 1fr; padding:12px 15px; border-right:1px solid rgba(255,255,255,.09); }.service-tab.is-active::before { inset:auto 0 0; width:auto; height:3px; }
  .contact { grid-template-columns:1fr; }.contact-intro { padding-top:0; }.contact-intro > p:not(.eyebrow) { margin-bottom:32px; }
}

@media (max-width: 650px) {
  .site-header { height:72px; padding:0 18px; }.header-cta { padding:12px 14px; border:1px solid rgba(255,255,255,.28); }.brand { width:120px; height:50px; }.brand-logo { width:152px; margin:-18px 0 0 -16px; }
  .hero { padding:130px 18px 0; background:radial-gradient(circle at 50% 48%,#263038 0,#11171b 31%,#080b0e 68%); }.hero h1 { font-size:58px; }.hero-lead br { display:none; }.hero-actions { flex-direction:column; gap:20px; margin-top:34px; }.hero-object { min-height:390px; }.machined-plate { width:min(330px,84vw); }.hero-logo { width:88%; margin:0; }.orbit-one { width:380px; height:380px; }.orbit-two { width:420px; }.hero-trust { margin-top:10px; gap:14px 24px; }.hero-trust p { font-size:10px; }
  .services { padding:80px 18px; }.section-heading h2,.contact h2 { font-size:42px; }.section-heading { margin-bottom:40px; }.section-heading > p { font-size:13px; }
  .service-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); overflow:visible; }
  .service-tab { min-width:0; min-height:76px; display:flex; flex-direction:column; justify-content:center; gap:7px; padding:8px 2px; text-align:center; }
  .service-tab .tab-number,.tab-label-long { display:none; }.service-tab .tab-label-short { display:block; width:100%; font-size:10px; line-height:1.3; white-space:normal; }.service-tab[data-service="drd"] .tab-label-short { font-size:10px; line-height:1.3; }.tab-icon { width:20px; height:20px; }.service-panel { grid-template-columns:1fr; }.panel-visual { min-height:210px; }.panel-visual #panel-svg { width:60%; max-width:220px; }.panel-code { top:15px; left:15px; }.dimension { font-size:7px; }.dim-x { bottom:14px; }.panel-content { padding:32px 24px 38px; }.panel-content h3 { font-size:30px; }.panel-description { min-height:0; }.service-meta { grid-template-columns:1fr; gap:22px; }.service-actions { display:grid; padding-top:30px; }.service-actions .button { width:100%; }.works-dialog { padding:38px 22px; }.works-dialog-head { grid-template-columns:1fr; gap:12px; margin-bottom:24px; }.works-grid { grid-template-columns:1fr; }.work-card { min-height:270px; }.work-visual { min-height:155px; }
  .process-strip { grid-template-columns:1fr 1fr; gap:24px; padding:25px 10px; }.process-strip b { display:none; }
  .contact { padding:80px 18px; }.contact dl { margin-bottom:10px; }.contact-form { padding:28px 20px; }.field-row { grid-template-columns:1fr; gap:0; }.form-heading { align-items:flex-start; gap:8px; flex-direction:column; }
  footer { grid-template-columns:1fr auto; } footer p { display:none; }.footer-actions { gap:10px; flex-direction:column; align-items:flex-end; }.business-dialog { padding:38px 22px; }.business-dialog-head { grid-template-columns:1fr; gap:12px; }.business-details { grid-template-columns:1fr; }.social-block { grid-template-columns:1fr; padding:22px; }.instagram-qr { width:min(100%,260px); justify-self:center; }.social-links { margin-left:0; }
  dialog { padding:42px 25px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
}
