/* =====================================================================
   FeiShe — fs-core.css  (GLOBAL · load on every page)
   Contains: tokens, the 1672 × 943 scaling engine, the locked frame,
   the header, and the shared content components every page uses.
   Page files only add their own inner content + a small page stylesheet.

   SCALING ENGINE — the stage always fills exactly one screen
     --uy  1 design px vertically   = viewport height / 943
     --ux  1 design px horizontally = viewport width  / 1672 (≤ 1.32 × --uy)
     --um  1 design px for type, icons, logo, plum    = min(--ux, --uy)
   Position anything with the .fs-at helper:
     <div class="fs-at" style="--x:197; --y:205; --w:660; --h:120">
     x/w are multiplied by --ux, y/h by --uy. Omit --w/--h for auto size.

   LAYERS  1 = frame · 10 = page content · 50 = header, pop-ups, dropdowns
   ===================================================================== */
:root{
  --fs-white:#FFFFFF;
  --fs-slate:#1A2B4C;
  --fs-brown:#4A2415;
  --fs-muted:#7A8B9E;

  --fs-serif:"Lora",Georgia,"Times New Roman",serif;
  --fs-sans:"Poppins","Helvetica Neue",Arial,sans-serif;

  --vh:100vh;
  --uy:calc(max(var(--vh), 560px) / 943);
  --ux:min(calc(100vw / 1672), calc(var(--uy) * 1.32));
  --um:min(var(--ux), var(--uy));
  --hair:max(1px, calc(1.5 * var(--um)));
  --thin:max(1px, calc(1 * var(--um)));

  --z-frame:1; --z-content:10; --z-top:50;
}
@supports (height:100dvh){ :root{ --vh:100dvh } }

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;background:var(--fs-white)}
body{color:var(--fs-slate);font-family:var(--fs-serif);font-size:16px;line-height:normal;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,p,ol,ul,figure{margin:0;padding:0;font-weight:400;line-height:inherit}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img,.fs-main svg,.fs-frame svg{display:block;max-width:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid var(--fs-brown);outline-offset:4px}
.fs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------- stage ---------------- */
.fs-stage{position:relative;margin:0 auto;width:calc(1672 * var(--ux));height:calc(943 * var(--uy));overflow:hidden;background:var(--fs-white)}
.fs-main{position:absolute;inset:0;z-index:var(--z-content);pointer-events:none}
.fs-main > *{pointer-events:auto}

/* position helper for page content (x/w × --ux, y/h × --uy) */
.fs-at{position:absolute;left:calc(var(--x, 0) * var(--ux));top:calc(var(--y, 0) * var(--uy));
  width:calc(var(--w) * var(--ux));height:calc(var(--h) * var(--uy))}

/* Webflow Embed wrappers must not affect layout */
.fs-stage > .w-embed{display:contents}
.fs-stage .w-embed::before,.fs-stage .w-embed::after{content:none}

/* =========================== SHARED FRAME (z 1) =========================== */
.fs-frame{position:absolute;inset:0;z-index:var(--z-frame);pointer-events:none}
.fs-frame > *{position:absolute}
.fs-rule-v{width:var(--hair);background:var(--fs-brown)}
.fs-rule-h{height:var(--hair);background:var(--fs-brown)}
.fs-node{width:calc(9 * var(--um));height:calc(9 * var(--um));min-width:5px;min-height:5px;border-radius:50%;background:var(--fs-brown);transform:translate(-50%,-50%)}
.fs-left-top   {left:calc(46.3 * var(--ux));top:calc(14 * var(--uy));height:calc(144 * var(--uy))}
.fs-left-bottom{left:calc(46.3 * var(--ux));top:calc(712 * var(--uy));height:calc(213 * var(--uy))}
.fs-left-tick  {left:calc(18 * var(--ux));top:calc(59.3 * var(--uy));width:calc(58 * var(--um))}
.fs-left-node  {left:calc(47 * var(--ux));top:calc(60 * var(--uy))}
.fs-right      {left:calc(1623.3 * var(--ux));top:calc(14 * var(--uy));height:calc(911 * var(--uy))}
.fs-right-tick {left:calc(1624 * var(--ux) - 29 * var(--um));top:calc(846.3 * var(--uy));width:calc(58 * var(--um))}
.fs-right-node {left:calc(1624 * var(--ux));top:calc(847 * var(--uy))}
.fs-curve-node {left:calc(1624 * var(--ux));top:calc(542 * var(--uy))}
.fs-coord{font-size:calc(15.5 * var(--um));line-height:1.42;letter-spacing:.09em;color:var(--fs-slate);font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-coord--nw{left:calc(73 * var(--ux));top:calc(66 * var(--uy))}
.fs-coord--se{right:calc(65 * var(--ux));top:calc(560 * var(--uy));text-align:right}
.fs-running{left:calc(47 * var(--ux));top:calc(182 * var(--uy));height:calc(512 * var(--uy));
  rotate:180deg;transform:translateX(-50%);writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;
  font-size:calc(10.5 * var(--um));letter-spacing:.16em;text-transform:uppercase;color:var(--fs-slate);white-space:nowrap;text-orientation:sideways}
.fs-running b{font-weight:400;padding:calc(10 * var(--um)) 0}
.fs-running .fs-zh{margin-inline-start:.6em;letter-spacing:.12em}
.fs-header-divider{left:calc(1170 * var(--ux));top:calc(69 * var(--uy) - 27 * var(--um));height:calc(54 * var(--um))}
.fs-motto-rule{left:calc(1345.3 * var(--ux));top:calc(150 * var(--uy));height:calc(240 * var(--uy))}
/* the page quote (right column): small, above the plum and always in front of it */
.fs-motto{position:absolute;z-index:3;pointer-events:none;left:calc(1378 * var(--ux));top:calc(158 * var(--uy));width:calc(212 * var(--um));font-style:italic;font-size:calc(18.5 * var(--um));line-height:1.4;letter-spacing:-.01em;color:var(--fs-brown);
  text-shadow:0 0 calc(3 * var(--um)) var(--fs-white),0 0 calc(6 * var(--um)) var(--fs-white),0 0 calc(10 * var(--um)) var(--fs-white)}
.fs-motto::after{content:"";display:block;width:calc(32 * var(--um));height:var(--hair);background:var(--fs-brown);margin-top:calc(14 * var(--um))}
.fs-plum{z-index:1;left:calc(1625 * var(--ux) - 205 * var(--um));top:calc(222 * var(--uy));width:calc(205 * var(--um));height:calc(285 * var(--um))}
.fs-baseline{inset:0;width:100%;height:100%;overflow:visible}
.fs-baseline path{stroke-width:max(1px, calc(1.5 * var(--um)))}

/* =========================== HEADER (z 50) =========================== */
.fs-header{position:absolute;inset:0 0 auto 0;height:calc(130 * var(--uy));z-index:var(--z-top)}
.fs-header > *{position:absolute}
.fs-logo{left:calc(214 * var(--ux));top:calc(36 * var(--uy))}
.fs-logo img{width:calc(268 * var(--um));height:auto}
.fs-nav{left:calc(572 * var(--ux));top:calc(53 * var(--uy));display:flex;gap:calc(35 * var(--ux))}
.fs-nav a{position:relative;padding-bottom:calc(12 * var(--um));font-style:italic;font-size:calc(19.5 * var(--um));letter-spacing:-.01em;color:var(--fs-slate);transition:color .2s}
.fs-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:max(1px,calc(1.6 * var(--um)));background:var(--fs-brown);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.fs-nav a:hover,.fs-nav a[aria-current="page"],.fs-nav a.w--current{color:var(--fs-brown)}
.fs-nav a:hover::after,.fs-nav a[aria-current="page"]::after,.fs-nav a.w--current::after{transform:scaleX(1)}
/* the page you are on: a solid brown box with white text (same language as the pager and the selected list items) */
.fs-nav a[aria-current="page"],.fs-nav a.w--current{color:var(--fs-white);background:var(--fs-brown);padding:calc(5 * var(--um)) calc(12 * var(--um)) calc(7 * var(--um));margin:calc(-5 * var(--um)) calc(-12 * var(--um)) calc(5 * var(--um))}
.fs-nav a[aria-current="page"]:hover,.fs-nav a.w--current:hover{color:var(--fs-white)}
.fs-nav a[aria-current="page"]::after,.fs-nav a.w--current::after{transform:scaleX(0)}
.fs-lang{left:calc(1208 * var(--ux));top:calc(58 * var(--uy));display:flex;gap:calc(15 * var(--um));font-size:calc(17 * var(--um));letter-spacing:.04em}
.fs-lang a{color:var(--fs-slate);padding-bottom:calc(5 * var(--um))}
.fs-lang a:hover{color:var(--fs-brown)}
.fs-lang a[aria-current="true"]{color:var(--fs-brown);box-shadow:inset 0 calc(-1.5 * var(--um)) 0 var(--fs-brown)}
.fs-lang span{color:var(--fs-brown)}
.fs-cta{right:calc(79 * var(--ux));top:calc(69 * var(--uy) - 27 * var(--um));width:calc(225 * var(--um));height:calc(54 * var(--um));
  display:flex;align-items:center;justify-content:center;gap:calc(18 * var(--um));
  background:var(--fs-brown);color:var(--fs-white);font-size:calc(21 * var(--um));letter-spacing:-.01em;transition:background .2s}
.fs-cta span{font-size:calc(22 * var(--um));transition:transform .2s}
.fs-cta:hover{background:var(--fs-slate)}
.fs-cta:hover span{transform:translateX(calc(4 * var(--um)))}

/* previous / next page buttons, bottom right (z 50) — same brown as every other button */
.fs-pager{position:absolute;z-index:var(--z-top);right:calc(79 * var(--ux));top:calc(896 * var(--uy));display:flex;gap:calc(8 * var(--um))}
.fs-pager-btn{display:inline-flex;align-items:center;gap:calc(10 * var(--um));height:calc(34 * var(--um));padding:0 calc(18 * var(--um));
  background:var(--fs-brown);color:var(--fs-white);font-family:var(--fs-serif);font-size:calc(15 * var(--um));letter-spacing:.02em;white-space:nowrap;transition:background .2s}
.fs-pager-btn:hover{background:var(--fs-slate)}
.fs-pager-btn span{transition:transform .2s}
.fs-pager-btn[rel="prev"]:hover span{transform:translateX(calc(-3 * var(--um)))}
.fs-pager-btn[rel="next"]:hover span{transform:translateX(calc(3 * var(--um)))}

/* =========================== SHARED CONTENT COMPONENTS =========================== */
/* hero stack: kicker → h1 → rule → lede */
.fs-kicker{display:flex;align-items:center;gap:calc(18 * var(--um));font-size:calc(13 * var(--um));line-height:1;letter-spacing:.34em;text-transform:uppercase;color:var(--fs-brown);white-space:nowrap}
.fs-kicker i{width:calc(24 * var(--um));height:var(--thin);background:var(--fs-brown)}
.fs-kicker span{font-size:calc(16 * var(--um));letter-spacing:0;text-transform:none;color:var(--fs-muted)}
.fs-h1{margin-top:calc(38 * var(--um));margin-left:calc(1 * var(--um));font-size:calc(var(--h1-size, 62) * var(--um));line-height:1.02;letter-spacing:-.035em;color:var(--fs-slate);white-space:nowrap}
.fs-h1 em{font-style:normal;color:var(--fs-brown)}
.fs-h1-rule{display:block;margin:calc(30 * var(--um)) 0 0 calc(3 * var(--um));width:calc(48 * var(--um));height:max(2px,calc(3 * var(--um)));background:var(--fs-brown)}
.fs-lede{margin:calc(30 * var(--um)) 0 0 calc(3 * var(--um));width:calc(var(--lede-w, 660) * var(--um));font-family:var(--fs-sans);font-weight:300;font-size:calc(var(--lede-size, 21) * var(--um));line-height:1.46;color:var(--fs-muted)}

/* small label with a short brown rule under it */
.fs-label{font-size:calc(11.5 * var(--um));letter-spacing:.26em;text-transform:uppercase;color:var(--fs-brown);line-height:1.3}
.fs-label::after{content:"";display:block;width:calc(20 * var(--um));height:var(--thin);background:var(--fs-brown);margin-top:calc(10 * var(--um))}
.fs-label--plain::after{display:none}
.fs-label--slate{color:var(--fs-slate)}
.fs-text{font-family:var(--fs-sans);font-weight:300;font-size:calc(14 * var(--um));line-height:1.55;color:var(--fs-muted)}
.fs-text--slate{color:var(--fs-slate)}
.fs-list{list-style:disc;padding-left:calc(17 * var(--um));font-family:var(--fs-sans);font-weight:300;font-size:calc(13 * var(--um));line-height:1.65;color:var(--fs-slate)}
.fs-list li::marker{color:var(--fs-brown)}
.fs-divided > * + *{border-left:var(--thin) solid var(--fs-brown)}
.fs-arrow{color:var(--fs-brown);font-size:calc(19 * var(--um));line-height:1;transition:transform .2s}
a:hover > .fs-arrow,button:hover > .fs-arrow{transform:translateX(calc(4 * var(--um)))}

/* primary button (same brown as the header CTA) */
.fs-btn{display:inline-flex;align-items:center;gap:calc(16 * var(--um));background:var(--fs-brown);color:var(--fs-white);padding:calc(15 * var(--um)) calc(30 * var(--um));font-size:calc(19 * var(--um));white-space:nowrap;transition:background .2s}
.fs-btn:hover{background:var(--fs-slate)}

/* white paper: put on any content block that may pass over frame lines, so the lines stay behind it */
.fs-paper{background:var(--fs-white)}

/* bordered white panel that sits over the frame (z 10) */
.fs-card{background:var(--fs-white);border:var(--thin) solid var(--fs-brown);box-shadow:0 calc(24 * var(--um)) calc(50 * var(--um)) calc(-30 * var(--um)) rgba(26,43,76,.4)}

/* pop-up (z 50) — never taller than its slot on the grid; longer content scrolls downward inside it.
   Set --pop-max (design px, × --uy) per pop-up; the close row stays pinned while scrolling. */
.fs-popup{position:absolute;z-index:var(--z-top);background:var(--fs-white);border:var(--thin) solid var(--fs-brown);box-shadow:0 calc(18 * var(--um)) calc(40 * var(--um)) calc(-22 * var(--um)) rgba(26,43,76,.35);
  max-height:calc(var(--pop-max, 400) * var(--uy));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--fs-brown) transparent}
.fs-popup::-webkit-scrollbar{width:4px}
.fs-popup::-webkit-scrollbar-thumb{background:var(--fs-brown)}
.fs-popup-head{position:sticky;top:0;z-index:1;background:var(--fs-white)}
/* anchored pop-ups ([data-anchor]) are placed by fs-ui.js right above the "+" that opened them;
   .fs-pop-link is the short brown line joining the box to its "+" */
.fs-popup[data-anchor]{left:0;top:0}
.fs-pop-link{position:absolute;z-index:var(--z-top);width:var(--thin);background:var(--fs-brown);pointer-events:none}
.fs-pop-link::before{content:"";position:absolute;left:50%;top:0;width:calc(7 * var(--um));height:calc(7 * var(--um));border-radius:50%;background:var(--fs-brown);transform:translate(-50%,-50%)}
.fs-pop-link[hidden]{display:none}
.fs-popup[hidden]{display:none}

/* round icon buttons (plus, prev/next) */
.fs-round{display:inline-flex;align-items:center;justify-content:center;width:calc(38 * var(--um));height:calc(38 * var(--um));border:max(1px,calc(1.3 * var(--um))) solid var(--fs-brown);border-radius:50%;color:var(--fs-brown);font-size:calc(17 * var(--um));background:var(--fs-white);transition:background .2s,color .2s}
.fs-round:hover{background:var(--fs-brown);color:var(--fs-white)}
.fs-plus{display:inline-flex;align-items:center;justify-content:center;width:calc(24 * var(--um));height:calc(24 * var(--um));border:max(1px,calc(1.3 * var(--um))) solid var(--fs-brown);border-radius:50%;background:var(--fs-white);color:var(--fs-brown);font-size:calc(17 * var(--um));line-height:1;transition:background .2s,color .2s,transform .2s}
.fs-plus:hover,.fs-plus[aria-expanded="true"]{background:var(--fs-brown);color:var(--fs-white)}
.fs-plus[aria-expanded="true"]{transform:rotate(45deg)}

/* process ticker (no longer shown) */
.fs-ticker{display:none !important}
.fs-ticker{left:calc(92 * var(--ux));right:calc(132 * var(--ux));top:calc(870 * var(--uy));display:flex;align-items:center;gap:calc(30 * var(--ux));
  font-size:calc(17 * var(--um));letter-spacing:.2em;text-transform:uppercase;color:var(--fs-slate);white-space:nowrap}
.fs-ticker .ar{flex:1;height:var(--thin);background:var(--fs-brown);position:relative}
.fs-ticker .ar::after{content:"";position:absolute;right:0;top:calc(-4 * var(--um));width:calc(8 * var(--um));height:calc(8 * var(--um));border-top:var(--thin) solid var(--fs-brown);border-right:var(--thin) solid var(--fs-brown);transform:rotate(45deg)}
.fs-ticker .end{flex:0 0 calc(100 * var(--ux));height:var(--thin);background:var(--fs-brown)}
.fs-ticker .pt{width:calc(8 * var(--um));height:calc(8 * var(--um));border-radius:50%;background:var(--fs-brown)}

/* language layer: Dutch menu words are longer; Chinese is never set in (fake) italics */
@media (min-width:1181px){html:lang(nl) .fs-nav{gap:calc(26 * var(--ux))}}
/* Chinese type, matched to the English pairing:
   Lora (serif)          → Noto Serif TC, a refined Ming/Song face          (headings, buttons, labels)
   Lora italic           → LXGW WenKai TC, a calm modern Kai (楷書) face     (menu and the quote on the right)
   Poppins (sans)        → Noto Sans TC, light                               (body text)
   Local fallbacks are the matching system fonts on Mac and Windows. */
html:lang(zh-Hant){
  --zh-ming:"Noto Serif TC","Noto Serif CJK TC","Source Han Serif TC","Songti TC","PMingLiU",serif;
  --zh-kai:"LXGW WenKai TC","Kaiti TC","BiauKai","DFKai-SB",var(--zh-ming);
  --zh-sans:"Noto Sans TC","Noto Sans CJK TC","PingFang TC","Microsoft JhengHei",sans-serif}
html:lang(zh-Hant) .fs-nav a,html:lang(zh-Hant) .fs-motto,html:lang(zh-Hant) .fs-h1 em{font-style:normal}
html:lang(zh-Hant) .fs-nav a,html:lang(zh-Hant) .fs-motto{font-family:Lora,var(--zh-kai)}
html:lang(zh-Hant) .fs-nav a{letter-spacing:.08em}
html:lang(zh-Hant) .fs-motto{letter-spacing:.06em;line-height:1.6}
html:lang(zh-Hant) .fs-pager-btn{font-family:Lora,var(--zh-ming);letter-spacing:.06em}
html:lang(zh-Hant) .fs-legal{font-family:Poppins,var(--zh-sans)}

/* the Chinese company name never breaks across lines */
.fs-zh{white-space:nowrap}

/* legal line — bottom left, level with the pager */
.fs-legal{position:absolute;z-index:var(--z-top);left:calc(97 * var(--ux));top:calc(904 * var(--uy));font-family:var(--fs-sans);font-weight:300;font-size:calc(11.5 * var(--um));line-height:1.4;letter-spacing:.02em;color:var(--fs-muted);white-space:nowrap}
.fs-legal .fs-name{color:var(--fs-slate)}
.fs-legal b{font-weight:400;padding:0 calc(8 * var(--um))}
.fs-legal a{color:var(--fs-brown);border-bottom:var(--thin) solid currentColor}
.fs-legal a:hover{color:var(--fs-slate)}

/* =========================== PHONES AND TABLETS (≤ 1180px) ===========================
   One column, normal scrolling. Frame keeps the left rule, crosshair and plum. */
@media (max-width:1180px){
  :root{--ux:1px;--uy:1px;--um:1px}
  .fs-stage{width:auto;height:auto;overflow:visible;padding:0 20px 48px 44px}
  .fs-frame .fs-left-top{left:22px;top:0;height:100%}
  .fs-left-bottom,.fs-right,.fs-right-tick,.fs-right-node,.fs-curve-node,.fs-running,.fs-coord--se,.fs-baseline,.fs-header-divider,.fs-motto-rule,.fs-motto{display:none}
  .fs-left-tick{left:8px;top:40px;width:28px}
  .fs-left-node{left:22.7px;top:40.7px}
  .fs-coord--nw{left:30px;top:48px;font-size:11px}
  .fs-plum{left:auto;right:0;top:6px;width:64px}
  .fs-header,.fs-main{position:relative;inset:auto;height:auto}
  .fs-header > *{position:relative;left:auto;top:auto;right:auto}
  .fs-header{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding-top:128px}
  .fs-logo img{width:190px}
  .fs-nav{order:3;width:100%;flex-wrap:wrap;gap:10px 22px}
  .fs-nav a{font-size:17px;padding-bottom:8px;white-space:nowrap}
  .fs-nav a[aria-current="page"],.fs-nav a.w--current{padding:4px 10px;margin:-4px -10px 0}
  .fs-lang{font-size:14px;gap:10px}
  .fs-cta{width:auto;height:44px;padding:0 20px;font-size:16px;gap:12px}
  /* the page flows top to bottom: header, content, then Previous / Next and the © line at the very end */
  .fs-stage{display:flex;flex-direction:column;padding-bottom:36px}
  .fs-header{order:1}
  .fs-main{order:2}
  .fs-pager{position:static;order:3;align-self:flex-end;margin-top:56px;gap:6px}
  .fs-pager-btn{height:40px;padding:0 16px;font-size:15px}
  .fs-legal{position:static;order:4;margin-top:28px;padding-top:18px;border-top:1px solid var(--fs-brown);white-space:normal;font-size:12px}
  .fs-frame .fs-baseline{display:none}

  .fs-main{padding-top:56px;display:flex;flex-direction:column;gap:44px}
  .fs-at,.fs-popup,.fs-ticker{position:relative;left:auto;top:auto;right:auto;width:auto;height:auto}
  .fs-popup{max-height:70vh}
  .fs-popup[data-anchor]{position:fixed;left:16px !important;right:16px;top:auto !important;bottom:16px;width:auto !important;max-height:70vh !important}
  .fs-pop-link{display:none !important}
  .fs-kicker{flex-wrap:wrap;white-space:normal;font-size:11px;letter-spacing:.24em;line-height:1.8}
  .fs-kicker span{font-size:14px;flex-basis:100%}
  .fs-h1{margin-top:22px;font-size:clamp(34px,9vw,52px);white-space:normal}
  .fs-h1 br{display:none}
  .fs-lede{width:auto;font-size:17px}
  .fs-text{font-size:15px}
  .fs-ticker{order:9;flex-wrap:wrap;gap:10px 16px;font-size:13px}
  .fs-ticker .end,.fs-ticker .pt{display:none}
  .fs-ticker .ar{flex:0 0 28px}
  .fs-divided > * + *{border-left:0;border-top:1px solid var(--fs-brown)}
}

/* every scrollbar in the brand brown */
html,*{scrollbar-color:var(--fs-brown) transparent}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--fs-brown)}

/* no underline lines in the menu (hover just turns the text brown) */
.fs-nav a::after{display:none}

/* important words: <strong> is a little heavier and darker, never loud */
.fs-lede strong,.fs-text strong,.fs-list strong{font-weight:500;color:var(--fs-slate)}
.fs-kicker span strong{font-weight:500;color:var(--fs-slate)}
.fs-name{font-weight:600}

/* =========================== TABLETS (700 – 1180px) ===========================
   Same flowing layout as phones, with more room: larger type, wider margins, two-column grids. */
@media (min-width:700px) and (max-width:1180px){
  .fs-stage{padding:0 56px 40px 88px;max-width:1180px}
  .fs-frame .fs-left-top{left:36px}
  .fs-left-tick{left:22px;top:48px}
  .fs-left-node{left:36.7px;top:48.7px}
  .fs-coord--nw{left:48px;top:58px;font-size:12px}
  .fs-plum{right:24px;top:10px;width:120px}
  .fs-header{padding-top:136px;gap:18px 32px}
  .fs-logo img{width:236px}
  .fs-nav{gap:12px 30px}
  .fs-nav a{font-size:20px}
  .fs-lang{font-size:16px;gap:12px}
  .fs-main{padding-top:72px;gap:56px}
  .fs-kicker{font-size:12px}
  .fs-kicker span{font-size:16px}
  .fs-h1{font-size:clamp(46px,6.4vw,66px);margin-top:26px}
  .fs-lede{font-size:19px;max-width:720px}
  .fs-text{font-size:16px}
  .fs-divided > * + *{border-top:0}
  .fs-legal{font-size:13px}
}
