Oyen FR-2 launch
A product launch on drafting paper, with a technical drawing whose callouts are the list under it.
OYEN (https://oyen.example) Dispatch 07 · Nov 2026 New instrument — FR-2 RECORD THE ROOM YOU’RE IN. FR-2 is a pocket recorder with two capsules that turn, one dial, and nothing to set before you press record. Pre-order FR-2 (https://oyen.example/fr-2) €349 · Ships 2 December [A technical drawing of FR-2 from the front and the side: two capsules at 90 degrees on top, a display, a large dial, and play, stop and record buttons. It is 132 by 68 by 24 millimetres.] Fig. 1 — FR-2, front and side What’s on it 1 Capsules that turn X/Y for the scene in front of you, A/B for the room around you. A quarter turn sets them, and they stay put. 2 A hold switch Slide it and the buttons sleep while the recording carries on: thirty hours on a charge, on a card of up to 1 TB. 3 One dial Headphone level, menus and markers. It clicks once per step, so you can work it by feel in the dark. 4 Record, always It records in 32-bit float, so there’s no gain to set and nothing to clip. A whisper and a door slam both come home whole. Specifications Recording | 32-bit float, up to 192 kHz Capsules | Two cardioids, X/Y or A/B Input | 3.5 mm, line or plug-in power Battery | 30 hours, USB-C charging Storage | microSD, up to 1 TB Size | 132 × 68 × 24 mm, 186 g From the field “I left it on a fence post through nine hours of rain. It kept recording, and so did the birds.” Maren Achterberg, sound recordist First run · 2,000 instruments €349 Ships 2 December. Charged when it ships. Pre-order FR-2 (https://oyen.example/fr-2) OYEN Oyen Instruments AS, Møllergata 9, 0179 Oslo. You’re getting dispatches because you asked for them when you bought an Oyen instrument. View online (https://oyen.example/dispatch/07) · Unsubscribe (https://oyen.example/unsubscribe)
Email 600px: background #f3f1ec
Section 600px
Row 504px: 2 side by side
Column 120px
Text 120px "OYEN (https://oyen.example)"
Column 384px
Text 384px "Dispatch 07 · Nov 2026"
Column 504px
Column 504px
Text 504px "New instrument — FR-2"
Heading h1 504px "Record the room you’re in."
Text 400px "FR-2 is a pocket recorder with two capsules that turn, one dial, and nothing to…"
Row 504px: 2 side by side, stacked on phones
Button 184px: background #ff5b1f "Pre-order FR-2" → https://oyen.example/fr-2
Text 300px "€349 · Ships 2 December"
Column 504px
Image 504px [A technical drawing of FR-2 from the front and the side: two capsules at 90 degrees on top, a display, a large dial, and play, stop and record buttons. It is 132 by 68 by 24 millimetres.] https://hyperelements.dev/img/gallery/oyen/fr2-drawing.png
Text 504px "Fig. 1 — FR-2, front and side"
Row 504px: 2 side by side, stacked on phones
Column 136px
Text 136px "What’s on it"
Column 344px
Column 344px
Row 344px: 2 side by side
Column 24px
Text 24px: background #ff5b1f "1"
Column 304px
Heading h3 304px "Capsules that turn"
Text 304px "X/Y for the scene in front of you, A/B for the room around you. A quarter turn …"
Row 344px: 2 side by side
Column 24px
Text 24px: background #ff5b1f "2"
Column 304px
Heading h3 304px "A hold switch"
Text 304px "Slide it and the buttons sleep while the recording carries on: thirty hours on …"
Row 344px: 2 side by side
Column 24px
Text 24px: background #ff5b1f "3"
Column 304px
Heading h3 304px "One dial"
Text 304px "Headphone level, menus and markers. It clicks once per step, so you can work it…"
Row 344px: 2 side by side
Column 24px
Text 24px: background #ff5b1f "4"
Column 304px
Heading h3 304px "Record, always"
Text 304px "It records in 32-bit float, so there’s no gain to set and nothing to clip. A wh…"
Row 504px: 2 side by side, stacked on phones
Column 136px
Text 136px "Specifications"
Column 344px
Table 344px
TableRow 344px
TableCell 100px "Recording"
TableCell 244px "32-bit float, up to 192 kHz"
TableRow 344px
TableCell 100px "Capsules"
TableCell 244px "Two cardioids, X/Y or A/B"
TableRow 344px
TableCell 100px "Input"
TableCell 244px "3.5 mm, line or plug-in power"
TableRow 344px
TableCell 100px "Battery"
TableCell 244px "30 hours, USB-C charging"
TableRow 344px
TableCell 100px "Storage"
TableCell 244px "microSD, up to 1 TB"
TableRow 344px
TableCell 100px "Size"
TableCell 244px "132 × 68 × 24 mm, 186 g"
Row 504px: 2 side by side, stacked on phones
Column 136px
Text 136px "From the field"
Column 344px
Column 344px
Text 344px "“I left it on a fence post through nine hours of rain. It kept recording, and s…"
Text 344px "Maren Achterberg, sound recordist"
Section 600px: background #ff5b1f
Row 504px: 2 side by side, stacked on phones
Column 312px
Text 312px "First run · 2,000 instruments"
Heading h2 312px "€349"
Text 312px "Ships 2 December. Charged when it ships."
Column 168px
Button 168px: background #1a1917 "Pre-order FR-2" → https://oyen.example/fr-2
Section 600px
Row 504px: 2 side by side, stacked on phones
Column 136px
Text 136px "OYEN"
Column 344px
Text 344px "Oyen Instruments AS, Møllergata 9, 0179 Oslo. You’re getting dispatches because…"
Text 344px "View online (https://oyen.example/dispatch/07) · Unsubscribe (https://oyen.exam…"- infoemail/degraded
fonts on this Email in email: Apple Mail and iOS Mail load web fonts; Gmail and classic Outlook don't, and show the next font in each stack
root.props.fonts - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[0].children[0].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[0].children[1].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[1].children[0].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Heading in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[1].children[0].children[1].style.letterSpacing - infoemail/outlook-degraded
borderRadius on this Button in classic Outlook: square corners
root.children[0].children[1].children[2].children[0].style.borderRadius - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[1].children[2].children[1].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[2].children[1].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[3].children[0].children[0].style.letterSpacing - infoemail/outlook-degraded
borderRadius on this Text in classic Outlook: square corners
root.children[0].children[3].children[1].children[0].children[0].children[0].children[0].style.borderRadius - infoemail/outlook-degraded
letterSpacing on this Heading in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[3].children[1].children[0].children[0].children[1].children[0].style.letterSpacing - infoemail/outlook-degraded
borderRadius on this Text in classic Outlook: square corners
root.children[0].children[3].children[1].children[0].children[1].children[0].children[0].style.borderRadius - infoemail/outlook-degraded
letterSpacing on this Heading in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[3].children[1].children[0].children[1].children[1].children[0].style.letterSpacing - infoemail/outlook-degraded
borderRadius on this Text in classic Outlook: square corners
root.children[0].children[3].children[1].children[0].children[2].children[0].children[0].style.borderRadius - infoemail/outlook-degraded
letterSpacing on this Heading in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[3].children[1].children[0].children[2].children[1].children[0].style.letterSpacing - infoemail/outlook-degraded
borderRadius on this Text in classic Outlook: square corners
root.children[0].children[3].children[1].children[0].children[3].children[0].children[0].style.borderRadius - infoemail/outlook-degraded
letterSpacing on this Heading in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[3].children[1].children[0].children[3].children[1].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[4].children[0].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this TableCell in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[4].children[1].children[0].children[0].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this TableCell in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[4].children[1].children[0].children[1].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this TableCell in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[4].children[1].children[0].children[2].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this TableCell in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[4].children[1].children[0].children[3].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this TableCell in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[4].children[1].children[0].children[4].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this TableCell in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[4].children[1].children[0].children[5].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[5].children[0].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[5].children[1].children[0].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[0].children[5].children[1].children[0].children[1].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[1].children[0].children[0].children[0].style.letterSpacing - infoemail/outlook-degraded
letterSpacing on this Heading in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[1].children[0].children[0].children[1].style.letterSpacing - infoemail/outlook-degraded
borderRadius on this Button in classic Outlook: square corners
root.children[1].children[0].children[1].children[0].style.borderRadius - infoemail/outlook-degraded
letterSpacing on this Text in classic Outlook: normal spacing: Word keeps letter spacing but doesn't draw it
root.children[2].children[0].children[0].children[0].style.letterSpacing
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="x-apple-disable-message-reformatting"><!--[if !mso]><!--><meta http-equiv="X-UA-Compatible" content="IE=edge"><!--<![endif]--><meta name="format-detection" content="telephone=no,address=no,email=no,date=no,url=no"><meta name="color-scheme" content="light"><meta name="supported-color-schemes" content="light"><!--[if mso]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]--><title>FR-2 is here</title><!--[if !mso]><!--><style>@font-face{font-family:"Geist";src:url("https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwcGFWNOITd.woff2") format("woff2");font-weight:100 900}@font-face{font-family:"Geist Mono";src:url("https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmhHkjko.woff2") format("woff2");font-weight:100 900}</style><!--<![endif]--><style>table,td{mso-table-lspace:0pt;mso-table-rspace:0pt;border-collapse:collapse}img{-ms-interpolation-mode:bicubic}a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important}.e5ylre:hover{background-color:#e8490f!important}.eev325:hover{background-color:#3a3833!important}@media (max-width: 620px){.eezu4q>div{width:100%!important;max-width:100%!important}.ej8cul{width:auto!important}.e5lygf{padding-bottom:48px!important}.exrgud{font-size:44px!important;letter-spacing:-1.8px!important;line-height:44px!important}.ea2mth{padding-bottom:24px!important}.er90zz{font-size:17px!important;line-height:25.5px!important}.eav895{width:100%!important;max-width:none!important}.eqmjpc{height:14px!important}.eauxdg{padding-bottom:10px!important}.e1bv4h{height:20px!important}.elnle6{font-size:22px!important;line-height:29.04px!important}.ep23qz{padding-left:24px!important;padding-right:24px!important}.ev0yzd{padding-top:28px!important;padding-bottom:56px!important}.ebhlpm{font-size:80px!important;letter-spacing:-3.6px!important;line-height:72px!important}.ewcpuh{height:28px!important}.ec8gba{padding-top:36px!important;padding-bottom:36px!important}.eqan3y{height:12px!important}.erwcfg{padding-top:28px!important;padding-bottom:44px!important}}</style></head><body style="margin:0;padding:0;-webkit-text-size-adjust:100%;background-color:#f3f1ec"><div style="display:none;max-height:0;overflow:hidden;mso-hide:all" aria-hidden="true" data-skip-in-text="true">A pocket recorder with capsules that turn, one dial, and nothing to set. €349, ships 2 December.͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ </div><div role="article" aria-roledescription="email" aria-label="FR-2 is here" lang="en" style="background-color:#f3f1ec;overflow-wrap:break-word;word-break:break-word"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#f3f1ec" style="background-color:#f3f1ec"><tr><td align="center" class="ev0yzd" style="padding-top:36px;padding-bottom:72px"><!--[if mso]><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="600" align="center"><tr><td><![endif]--><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:600px"><tr><td class="ep23qz" style="padding:0 48px 0 48px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="e5lygf" style="padding-bottom:64px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="border-collapse:separate"><tr><td style="padding:0 0 14px 0;border-bottom:1px solid #1a1917"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="120" valign="bottom" style="width:120px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><p style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:19px;font-weight:700;line-height:20px;mso-line-height-rule:exactly;letter-spacing:5px;text-align:left"><a href="https://oyen.example" style="color:#1a1917;text-decoration:none">OYEN</a></p></td></tr></table></td><td width="384" valign="bottom" class="ej8cul" style="width:384px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><p style="margin:0;color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:18px;mso-line-height-rule:exactly;letter-spacing:1.2px;text-align:right;text-transform:uppercase">Dispatch 07 · Nov 2026</p></td></tr></table></td></tr></table></td></tr></table></td></tr><tr><td class="e5lygf" style="padding-bottom:64px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="ea2mth" style="padding-bottom:28px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="padding-bottom:20px"><p style="margin:0;color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:18px;mso-line-height-rule:exactly;letter-spacing:1.2px;text-align:left;text-transform:uppercase">New instrument — FR-2</p></td></tr><tr><td><h1 class="exrgud" style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:62px;font-weight:500;line-height:62px;mso-line-height-rule:exactly;letter-spacing:-2.6px;text-align:left">Record the room you’re in.</h1></td></tr></table></td></tr><tr><td class="ea2mth" style="padding-bottom:28px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:400px"><tr><td><p class="er90zz" style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:19px;line-height:28.5px;mso-line-height-rule:exactly;text-align:left">FR-2 is a pocket recorder with two capsules that turn, one dial, and nothing to set before you press record.</p></td></tr></table></td></tr><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="eezu4q" style="font-size:0"><!--[if mso]><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="184" valign="middle" style="width:184px"><![endif]--><div style="display:inline-block;vertical-align:middle;width:100%;max-width:184px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" class="eav895" width="100%" style="border-collapse:separate"><tr><td align="center" bgcolor="#ff5b1f" class="e5ylre" style="background-color:#ff5b1f;border-radius:2px;mso-padding-alt:16px 0"><a href="https://oyen.example/fr-2" style="display:block;padding:16px 0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:15px;font-weight:600;line-height:18px;mso-line-height-rule:exactly;text-align:center;text-decoration:none;border-radius:2px">Pre-order FR-2</a></td></tr></table></div><!--[if mso]></td><td width="20" style="width:20px"></td><![endif]--><!--[if !mso]><!--><div class="eqmjpc" style="display:inline-block;width:20px"></div><!--<![endif]--><!--[if mso]><td width="300" valign="middle" style="width:300px"><![endif]--><div style="display:inline-block;vertical-align:middle;width:100%;max-width:300px;font-size:16px"><p style="margin:0;color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:18px;mso-line-height-rule:exactly;letter-spacing:1.2px;text-align:left;text-transform:uppercase">€349 · Ships 2 December</p></div><!--[if mso]></td></tr></table><![endif]--></td></tr></table></td></tr></table></td></tr><tr><td class="e5lygf" style="padding-bottom:64px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="eauxdg" style="padding-bottom:12px"><img src="https://hyperelements.dev/img/gallery/oyen/fr2-drawing.png" alt="A technical drawing of FR-2 from the front and the side: two capsules at 90 degrees on top, a display, a large dial, and play, stop and record buttons. It is 132 by 68 by 24 millimetres." width="504" height="445" border="0" style="display:block;width:100%;max-width:100%;height:auto;border:0"></td></tr><tr><td><p style="margin:0;color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:18px;mso-line-height-rule:exactly;letter-spacing:1.2px;text-align:left;text-transform:uppercase">Fig. 1 — FR-2, front and side</p></td></tr></table></td></tr><tr><td class="e5lygf" style="padding-bottom:64px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="border-collapse:separate"><tr><td class="eezu4q" style="font-size:0;padding:14px 0 0 0;border-top:1px solid #1a1917"><!--[if mso]><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="136" valign="top" style="width:136px"><![endif]--><div style="display:inline-block;vertical-align:top;width:100%;max-width:136px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><p style="margin:0;color:#1a1917;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:18px;mso-line-height-rule:exactly;letter-spacing:1.2px;text-align:left;text-transform:uppercase">What’s on it</p></td></tr></table></div><!--[if mso]></td><td width="24" style="width:24px"></td><![endif]--><!--[if !mso]><!--><div class="e1bv4h" style="display:inline-block;width:24px"></div><!--<![endif]--><!--[if mso]><td width="344" valign="top" style="width:344px"><![endif]--><div style="display:inline-block;vertical-align:top;width:100%;max-width:344px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="padding:0 0 20px 0"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="24" valign="top" style="width:24px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:24px;border-collapse:separate"><tr><td bgcolor="#ff5b1f" style="background-color:#ff5b1f;border-radius:12px"><p style="margin:0;color:#1a1917;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;font-weight:500;line-height:24px;mso-line-height-rule:exactly;text-align:center">1</p></td></tr></table></td></tr></table></td><td width="16" style="width:16px"></td><td width="304" valign="top" class="ej8cul" style="width:304px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="padding-bottom:4px"><h3 style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:17px;font-weight:600;line-height:24px;mso-line-height-rule:exactly;letter-spacing:-0.2px;text-align:left">Capsules that turn</h3></td></tr><tr><td><p style="margin:0;color:#5f5b53;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:15px;line-height:23.25px;mso-line-height-rule:exactly;text-align:left">X/Y for the scene in front of you, A/B for the room around you. A quarter turn sets them, and they stay put.</p></td></tr></table></td></tr></table></td></tr></table></td></tr><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="border-collapse:separate"><tr><td style="padding:20px 0;border-top:1px solid #d3cec4"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="24" valign="top" style="width:24px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:24px;border-collapse:separate"><tr><td bgcolor="#ff5b1f" style="background-color:#ff5b1f;border-radius:12px"><p style="margin:0;color:#1a1917;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;font-weight:500;line-height:24px;mso-line-height-rule:exactly;text-align:center">2</p></td></tr></table></td></tr></table></td><td width="16" style="width:16px"></td><td width="304" valign="top" class="ej8cul" style="width:304px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="padding-bottom:4px"><h3 style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:17px;font-weight:600;line-height:24px;mso-line-height-rule:exactly;letter-spacing:-0.2px;text-align:left">A hold switch</h3></td></tr><tr><td><p style="margin:0;color:#5f5b53;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:15px;line-height:23.25px;mso-line-height-rule:exactly;text-align:left">Slide it and the buttons sleep while the recording carries on: thirty hours on a charge, on a card of up to 1 TB.</p></td></tr></table></td></tr></table></td></tr></table></td></tr><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="border-collapse:separate"><tr><td style="padding:20px 0;border-top:1px solid #d3cec4"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="24" valign="top" style="width:24px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:24px;border-collapse:separate"><tr><td bgcolor="#ff5b1f" style="background-color:#ff5b1f;border-radius:12px"><p style="margin:0;color:#1a1917;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;font-weight:500;line-height:24px;mso-line-height-rule:exactly;text-align:center">3</p></td></tr></table></td></tr></table></td><td width="16" style="width:16px"></td><td width="304" valign="top" class="ej8cul" style="width:304px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="padding-bottom:4px"><h3 style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:17px;font-weight:600;line-height:24px;mso-line-height-rule:exactly;letter-spacing:-0.2px;text-align:left">One dial</h3></td></tr><tr><td><p style="margin:0;color:#5f5b53;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:15px;line-height:23.25px;mso-line-height-rule:exactly;text-align:left">Headphone level, menus and markers. It clicks once per step, so you can work it by feel in the dark.</p></td></tr></table></td></tr></table></td></tr></table></td></tr><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="border-collapse:separate"><tr><td style="padding:20px 0;border-top:1px solid #d3cec4"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="24" valign="top" style="width:24px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:24px;border-collapse:separate"><tr><td bgcolor="#ff5b1f" style="background-color:#ff5b1f;border-radius:12px"><p style="margin:0;color:#1a1917;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;font-weight:500;line-height:24px;mso-line-height-rule:exactly;text-align:center">4</p></td></tr></table></td></tr></table></td><td width="16" style="width:16px"></td><td width="304" valign="top" class="ej8cul" style="width:304px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="padding-bottom:4px"><h3 style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:17px;font-weight:600;line-height:24px;mso-line-height-rule:exactly;letter-spacing:-0.2px;text-align:left">Record, always</h3></td></tr><tr><td><p style="margin:0;color:#5f5b53;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:15px;line-height:23.25px;mso-line-height-rule:exactly;text-align:left">It records in 32-bit float, so there’s no gain to set and nothing to clip. A whisper and a door slam both come home whole.</p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></div><!--[if mso]></td></tr></table><![endif]--></td></tr></table></td></tr><tr><td class="e5lygf" style="padding-bottom:64px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="border-collapse:separate"><tr><td class="eezu4q" style="font-size:0;padding:14px 0 0 0;border-top:1px solid #1a1917"><!--[if mso]><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="136" valign="top" style="width:136px"><![endif]--><div style="display:inline-block;vertical-align:top;width:100%;max-width:136px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><p style="margin:0;color:#1a1917;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:18px;mso-line-height-rule:exactly;letter-spacing:1.2px;text-align:left;text-transform:uppercase">Specifications</p></td></tr></table></div><!--[if mso]></td><td width="24" style="width:24px"></td><![endif]--><!--[if !mso]><!--><div class="e1bv4h" style="display:inline-block;width:24px"></div><!--<![endif]--><!--[if mso]><td width="344" valign="top" style="width:344px"><![endif]--><div style="display:inline-block;vertical-align:top;width:100%;max-width:344px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table cellpadding="0" cellspacing="0" border="0" width="100%" style="table-layout:fixed;border-collapse:separate"><colgroup><col width="100" style="width:100px"><col width="244" style="width:auto"></colgroup><tbody><tr><td width="100" valign="top" style="color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:21px;mso-line-height-rule:exactly;letter-spacing:0.6px;text-align:left;text-transform:uppercase;width:100px;box-sizing:border-box;padding:0 12px 10px 0;border-bottom:1px solid #d3cec4">Recording</td><td width="244" valign="top" style="color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;line-height:21px;mso-line-height-rule:exactly;text-align:left;width:auto;box-sizing:border-box;padding:0 0 10px 0;border-bottom:1px solid #d3cec4">32-bit float, up to 192 kHz</td></tr><tr><td width="100" valign="top" style="color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:21px;mso-line-height-rule:exactly;letter-spacing:0.6px;text-align:left;text-transform:uppercase;width:100px;box-sizing:border-box;padding:10px 12px 10px 0;border-bottom:1px solid #d3cec4">Capsules</td><td width="244" valign="top" style="color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;line-height:21px;mso-line-height-rule:exactly;text-align:left;width:auto;box-sizing:border-box;padding:10px 0;border-bottom:1px solid #d3cec4">Two cardioids, X/Y or A/B</td></tr><tr><td width="100" valign="top" style="color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:21px;mso-line-height-rule:exactly;letter-spacing:0.6px;text-align:left;text-transform:uppercase;width:100px;box-sizing:border-box;padding:10px 12px 10px 0;border-bottom:1px solid #d3cec4">Input</td><td width="244" valign="top" style="color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;line-height:21px;mso-line-height-rule:exactly;text-align:left;width:auto;box-sizing:border-box;padding:10px 0;border-bottom:1px solid #d3cec4">3.5 mm, line or plug-in power</td></tr><tr><td width="100" valign="top" style="color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:21px;mso-line-height-rule:exactly;letter-spacing:0.6px;text-align:left;text-transform:uppercase;width:100px;box-sizing:border-box;padding:10px 12px 10px 0;border-bottom:1px solid #d3cec4">Battery</td><td width="244" valign="top" style="color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;line-height:21px;mso-line-height-rule:exactly;text-align:left;width:auto;box-sizing:border-box;padding:10px 0;border-bottom:1px solid #d3cec4">30 hours, USB-C charging</td></tr><tr><td width="100" valign="top" style="color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:21px;mso-line-height-rule:exactly;letter-spacing:0.6px;text-align:left;text-transform:uppercase;width:100px;box-sizing:border-box;padding:10px 12px 10px 0;border-bottom:1px solid #d3cec4">Storage</td><td width="244" valign="top" style="color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;line-height:21px;mso-line-height-rule:exactly;text-align:left;width:auto;box-sizing:border-box;padding:10px 0;border-bottom:1px solid #d3cec4">microSD, up to 1 TB</td></tr><tr><td width="100" valign="top" style="color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:21px;mso-line-height-rule:exactly;letter-spacing:0.6px;text-align:left;text-transform:uppercase;width:100px;box-sizing:border-box;padding:10px 12px 10px 0">Size</td><td width="244" valign="top" style="color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;line-height:21px;mso-line-height-rule:exactly;text-align:left;width:auto;box-sizing:border-box;padding:10px 0">132 × 68 × 24 mm, 186 g</td></tr></tbody></table></td></tr></table></div><!--[if mso]></td></tr></table><![endif]--></td></tr></table></td></tr><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="border-collapse:separate"><tr><td class="eezu4q" style="font-size:0;padding:14px 0 0 0;border-top:1px solid #1a1917"><!--[if mso]><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="136" valign="top" style="width:136px"><![endif]--><div style="display:inline-block;vertical-align:top;width:100%;max-width:136px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><p style="margin:0;color:#1a1917;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:18px;mso-line-height-rule:exactly;letter-spacing:1.2px;text-align:left;text-transform:uppercase">From the field</p></td></tr></table></div><!--[if mso]></td><td width="24" style="width:24px"></td><![endif]--><!--[if !mso]><!--><div class="e1bv4h" style="display:inline-block;width:24px"></div><!--<![endif]--><!--[if mso]><td width="344" valign="top" style="width:344px"><![endif]--><div style="display:inline-block;vertical-align:top;width:100%;max-width:344px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="padding-bottom:16px"><p class="elnle6" style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:24px;line-height:31.68px;mso-line-height-rule:exactly;letter-spacing:-0.6px;text-align:left">“I left it on a fence post through nine hours of rain. It kept recording, and so did the birds.”</p></td></tr><tr><td><p style="margin:0;color:#5f5b53;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:18px;mso-line-height-rule:exactly;letter-spacing:1.2px;text-align:left;text-transform:uppercase">Maren Achterberg, sound recordist</p></td></tr></table></td></tr></table></div><!--[if mso]></td></tr></table><![endif]--></td></tr></table></td></tr></table></td></tr></table><!--[if mso]></td></tr></table><![endif]--></td></tr><tr><td align="center" bgcolor="#ff5b1f" class="ec8gba" style="padding-top:44px;padding-bottom:48px;background-color:#ff5b1f"><!--[if mso]><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="600" align="center"><tr><td><![endif]--><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:600px"><tr><td class="ep23qz" style="padding:0 48px 0 48px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="eezu4q" style="font-size:0"><!--[if mso]><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="312" valign="bottom" style="width:312px"><![endif]--><div style="display:inline-block;vertical-align:bottom;width:100%;max-width:312px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="padding-bottom:14px"><p style="margin:0;color:#1a1917;font-family:'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;line-height:18px;mso-line-height-rule:exactly;letter-spacing:1.2px;text-align:left;text-transform:uppercase">First run · 2,000 instruments</p></td></tr><tr><td style="padding-bottom:14px"><h2 class="ebhlpm" style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:96px;font-weight:500;line-height:86.4px;mso-line-height-rule:exactly;letter-spacing:-4.5px;text-align:left">€349</h2></td></tr><tr><td><p style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:15px;line-height:22.5px;mso-line-height-rule:exactly;text-align:left">Ships 2 December. Charged when it ships.</p></td></tr></table></div><!--[if mso]></td><td width="24" style="width:24px"></td><![endif]--><!--[if !mso]><!--><div class="ewcpuh" style="display:inline-block;width:24px"></div><!--<![endif]--><!--[if mso]><td width="168" valign="bottom" style="width:168px"><![endif]--><div style="display:inline-block;vertical-align:bottom;width:100%;max-width:168px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" class="eav895" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="border-collapse:separate"><tr><td align="center" bgcolor="#1a1917" class="eev325" style="background-color:#1a1917;border-radius:2px;mso-padding-alt:16px 20px"><a href="https://oyen.example/fr-2" style="display:block;padding:16px 20px;color:#f3f1ec;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:15px;font-weight:600;line-height:18px;mso-line-height-rule:exactly;text-align:center;text-decoration:none;border-radius:2px">Pre-order FR-2</a></td></tr></table></td></tr></table></td></tr></table></div><!--[if mso]></td></tr></table><![endif]--></td></tr></table></td></tr></table></td></tr></table><!--[if mso]></td></tr></table><![endif]--></td></tr><tr><td align="center" class="erwcfg" style="padding-top:32px;padding-bottom:56px"><!--[if mso]><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="600" align="center"><tr><td><![endif]--><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width:600px"><tr><td class="ep23qz" style="padding:0 48px 0 48px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="eezu4q" style="font-size:0"><!--[if mso]><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td width="136" valign="top" style="width:136px"><![endif]--><div style="display:inline-block;vertical-align:top;width:100%;max-width:136px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><p style="margin:0;color:#1a1917;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;font-weight:700;line-height:20.8px;mso-line-height-rule:exactly;letter-spacing:4px;text-align:left">OYEN</p></td></tr></table></div><!--[if mso]></td><td width="24" style="width:24px"></td><![endif]--><!--[if !mso]><!--><div class="eqan3y" style="display:inline-block;width:24px"></div><!--<![endif]--><!--[if mso]><td width="344" valign="top" style="width:344px"><![endif]--><div style="display:inline-block;vertical-align:top;width:100%;max-width:344px;font-size:16px"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="padding-bottom:8px"><p style="margin:0;color:#5f5b53;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;line-height:20.8px;mso-line-height-rule:exactly;text-align:left">Oyen Instruments AS, Møllergata 9, 0179 Oslo. You’re getting dispatches because you asked for them when you bought an Oyen instrument.</p></td></tr><tr><td><p style="margin:0;color:#5f5b53;font-family:Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;line-height:20.8px;mso-line-height-rule:exactly;text-align:left"><a href="https://oyen.example/dispatch/07" style="color:#1a1917;text-decoration:underline">View online</a> · <a href="https://oyen.example/unsubscribe" style="color:#1a1917;text-decoration:underline">Unsubscribe</a></p></td></tr></table></div><!--[if mso]></td></tr></table><![endif]--></td></tr></table></td></tr></table></td></tr></table><!--[if mso]></td></tr></table><![endif]--></td></tr></table></div></body></html>/**
* Oyen (a fictional maker of audio instruments) announces its FR-2 field recorder.
*
* Warm drafting paper, near-black ink and one signal orange, used only where the eye should land:
* the drawing's callouts, the main button, and one closing band. Geist for words, Geist Mono for
* labels and numbers. A rail of labels at the left and a content column make the grid, and the
* technical drawing's numbered callouts are the list under it.
*/
import type { ReactNode } from "react";
import { Button, Column, Email, Heading, Image, Link, Text, Row, Section, Table, TableCell, TableRow } from "@hyper-elements/react";
const PAPER = "#F3F1EC";
const INK = "#1A1917";
const QUIET = "#5F5B53";
const RULE = "#D3CEC4";
const SIGNAL = "#FF5B1F";
const SIGNAL_DOWN = "#E8490F";
const SANS = "Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif";
const MONO = "'Geist Mono', SFMono-Regular, Menlo, Consolas, monospace";
const SITE = "https://oyen.example";
const DRAWING =
"A technical drawing of FR-2 from the front and the side: two capsules at 90 degrees on top, a display, a large dial, and play, stop and record buttons. It is 132 by 68 by 24 millimetres.";
/** Small mono capitals: section labels, metadata, the figure's caption. */
const label = { fontFamily: MONO, fontSize: 12, lineHeight: 1.5, letterSpacing: 1.2, textTransform: "uppercase", color: QUIET } as const;
/** The rail: a part's label at the left, under a rule, and its content beside it (above it on phones). */
const RAIL = 136;
const railed = (name: string, content: ReactNode) => (
<Row style={{ gap: 24, padding: [14, 0, 0], border: { top: `1px solid ${INK}` } }} mobile={{ gap: 20 }}>
<Column style={{ width: RAIL }}>
<Text style={{ ...label, color: INK }}>{name}</Text>
</Column>
<Column>{content}</Column>
</Row>
);
/** One of the drawing's callouts: its number in an orange disc, what it is, and why it matters. */
const callout = (n: number, title: string, body: string) => (
<Row stackOnMobile={false} style={{ gap: 16, padding: n === 1 ? [0, 0, 20] : [20, 0], border: n === 1 ? undefined : { top: `1px solid ${RULE}` } }}>
<Column style={{ width: 24 }}>
<Text style={{ width: 24, backgroundColor: SIGNAL, borderRadius: 12, fontFamily: MONO, fontSize: 12, fontWeight: 500, lineHeight: "24px", textAlign: "center", color: INK }}>{String(n)}</Text>
</Column>
<Column style={{ gap: 4 }}>
<Heading level={3} style={{ fontSize: 17, fontWeight: 600, lineHeight: "24px", letterSpacing: -0.2 }}>
{title}
</Heading>
<Text style={{ fontSize: 15, lineHeight: 1.55, color: QUIET }}>{body}</Text>
</Column>
</Row>
);
/** A line of the spec sheet: a mono label, and the value in the text face. */
const spec = (name: string, value: string, first = false) => (
<TableRow>
<TableCell style={{ width: 100, verticalAlign: "top", padding: first ? [0, 12, 10, 0] : [10, 12, 10, 0], fontFamily: MONO, fontSize: 12, lineHeight: "21px", letterSpacing: 0.6, textTransform: "uppercase", color: QUIET }}>
{name}
</TableCell>
<TableCell style={{ verticalAlign: "top", padding: first ? [0, 0, 10] : [10, 0] }}>{value}</TableCell>
</TableRow>
);
export default function OyenLaunch() {
return (
<Email
width={600}
lang="en"
title="FR-2 is here"
previewText="A pocket recorder with capsules that turn, one dial, and nothing to set. €349, ships 2 December."
fonts={[
{ family: "Geist", src: "https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwcGFWNOITd.woff2", format: "woff2", weight: "100 900" },
{ family: "Geist Mono", src: "https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmhHkjko.woff2", format: "woff2", weight: "100 900" },
]}
style={{ backgroundColor: PAPER, color: INK, fontFamily: SANS, fontSize: 16, lineHeight: 1.6 }}
>
<Section style={{ padding: [36, 48, 72], gap: 64 }} mobile={{ padding: [28, 24, 56], gap: 48 }}>
{/* Masthead */}
<Row stackOnMobile={false} style={{ alignItems: "end", padding: [0, 0, 14], border: { bottom: `1px solid ${INK}` } }}>
<Column style={{ width: 120 }}>
<Text style={{ fontSize: 19, fontWeight: 700, letterSpacing: 5, lineHeight: "20px" }}>
<Link href={SITE} style={{ color: INK, textDecoration: "none" }}>
OYEN
</Link>
</Text>
</Column>
<Column>
<Text style={{ ...label, lineHeight: "18px", textAlign: "right" }}>Dispatch 07 · Nov 2026</Text>
</Column>
</Row>
{/* The announcement */}
<Column style={{ gap: 28 }} mobile={{ gap: 24 }}>
<Column style={{ gap: 20 }}>
<Text style={label}>New instrument — FR-2</Text>
<Heading level={1} style={{ fontSize: 62, lineHeight: 1, letterSpacing: -2.6, fontWeight: 500 }} mobile={{ fontSize: 44, letterSpacing: -1.8 }}>
Record the room you’re in.
</Heading>
</Column>
<Text style={{ fontSize: 19, lineHeight: 1.5, maxWidth: 400 }} mobile={{ fontSize: 17 }}>
FR-2 is a pocket recorder with two capsules that turn, one dial, and nothing to set before you press record.
</Text>
<Row style={{ alignItems: "center", gap: 20 }} mobile={{ gap: 14 }}>
<Button
href={`${SITE}/fr-2`}
style={{ width: 184, backgroundColor: SIGNAL, color: INK, fontSize: 15, fontWeight: 600, padding: [16, 0], borderRadius: 2 }}
hover={{ backgroundColor: SIGNAL_DOWN }}
mobile={{ width: "100%" }}
>
Pre-order FR-2
</Button>
<Text style={label}>€349 · Ships 2 December</Text>
</Row>
</Column>
{/* The drawing: the whole plate on a desktop, the two views larger on a phone */}
<Column style={{ gap: 12 }} mobile={{ gap: 10 }}>
<Image src={{ src: "https://hyperelements.dev/img/gallery/oyen/fr2-drawing.png", width: 1020, height: 900 }} alt={DRAWING} style={{ width: "100%" }} />
<Text style={label}>Fig. 1 — FR-2, front and side</Text>
</Column>
{railed(
"What’s on it",
<Column>
{callout(1, "Capsules that turn", "X/Y for the scene in front of you, A/B for the room around you. A quarter turn sets them, and they stay put.")}
{callout(2, "A hold switch", "Slide it and the buttons sleep while the recording carries on: thirty hours on a charge, on a card of up to 1 TB.")}
{callout(3, "One dial", "Headphone level, menus and markers. It clicks once per step, so you can work it by feel in the dark.")}
{callout(4, "Record, always", "It records in 32-bit float, so there’s no gain to set and nothing to clip. A whisper and a door slam both come home whole.")}
</Column>
)}
{railed(
"Specifications",
<Table style={{ fontSize: 14, lineHeight: "21px", rowBorder: `1px solid ${RULE}` }}>
{spec("Recording", "32-bit float, up to 192 kHz", true)}
{spec("Capsules", "Two cardioids, X/Y or A/B")}
{spec("Input", "3.5 mm, line or plug-in power")}
{spec("Battery", "30 hours, USB-C charging")}
{spec("Storage", "microSD, up to 1 TB")}
{spec("Size", "132 × 68 × 24 mm, 186 g")}
</Table>
)}
{railed(
"From the field",
<Column style={{ gap: 16 }}>
<Text style={{ fontSize: 24, lineHeight: 1.32, letterSpacing: -0.6 }} mobile={{ fontSize: 22 }}>
“I left it on a fence post through nine hours of rain. It kept recording, and so did the birds.”
</Text>
<Text style={label}>Maren Achterberg, sound recordist</Text>
</Column>
)}
</Section>
{/* Closing band */}
<Section style={{ backgroundColor: SIGNAL, padding: [44, 48, 48] }} mobile={{ padding: [36, 24] }}>
<Row style={{ alignItems: "end", gap: 24 }} mobile={{ gap: 28 }}>
<Column style={{ gap: 14 }}>
<Text style={{ ...label, color: INK }}>First run · 2,000 instruments</Text>
<Heading level={2} style={{ fontSize: 96, lineHeight: 0.9, letterSpacing: -4.5, fontWeight: 500 }} mobile={{ fontSize: 80, letterSpacing: -3.6 }}>
€349
</Heading>
<Text style={{ fontSize: 15, lineHeight: 1.5 }}>Ships 2 December. Charged when it ships.</Text>
</Column>
<Column style={{ width: 168 }} mobile={{ width: "100%" }}>
<Button
href={`${SITE}/fr-2`}
style={{ width: "100%", backgroundColor: INK, color: PAPER, fontSize: 15, fontWeight: 600, padding: [16, 20], borderRadius: 2 }}
hover={{ backgroundColor: "#3A3833" }}
>
Pre-order FR-2
</Button>
</Column>
</Row>
</Section>
{/* Footer */}
<Section style={{ padding: [32, 48, 56] }} mobile={{ padding: [28, 24, 44] }}>
<Row style={{ gap: 24 }} mobile={{ gap: 12 }}>
<Column style={{ width: RAIL }}>
<Text style={{ fontSize: 13, fontWeight: 700, letterSpacing: 4 }}>OYEN</Text>
</Column>
<Column style={{ gap: 8 }}>
<Text style={{ fontSize: 13, lineHeight: 1.6, color: QUIET }}>
Oyen Instruments AS, Møllergata 9, 0179 Oslo. You’re getting dispatches because you asked for them when you bought an Oyen instrument.
</Text>
<Text style={{ fontSize: 13, lineHeight: 1.6, color: QUIET }}>
<Link href={`${SITE}/dispatch/07`} style={{ color: INK }}>
View online
</Link>
{" · "}
<Link href={`${SITE}/unsubscribe`} style={{ color: INK }}>
Unsubscribe
</Link>
</Text>
</Column>
</Row>
</Section>
</Email>
);
}import { render } from "@hyper-elements/react";
import OyenLaunch from "./oyen-launch";
const { html, text } = await render(<OyenLaunch />);