@font-face {
  font-family:DM Sans;
  src:url('/assets/fonts/dm-sans-latin.woff2?v=468d56b6b2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}

@font-face {
  font-family:DM Sans;
  src:url('/assets/fonts/dm-sans-latin-ext.woff2?v=219b02c7d8') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root {
  --paper:#f8f7f3;
  --ink:#242724;
  --muted:#64665e;
  --line:#dedfd6;
  --coral:#ee6b58;
  --green:#244b3f;
  --white:#fff;
  --radius:26px;
  font-family:DM Sans,Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-synthesis:none;
  scroll-behavior:smooth;
  scroll-padding-top:30px;
}

* {
  box-sizing:border-box;
}

body {
  margin:0;
}

a {
  color:inherit;
  text-decoration:none;
}

button,input,select {
  font:inherit;
}

button,a,input,select,summary {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

button:disabled {
  cursor:wait;
  opacity:.55;
}

button,select {
  touch-action:manipulation;
}

img {
  display:block;
  max-width:100%;
  height:auto;
}

svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

h1,h2,h3,p {
  margin:0;
}

h1,h2,h3 {
  font-weight:550;
  line-height:1.06;
  letter-spacing:-.055em;
  text-wrap:balance;
}

p {
  line-height:1.65;
}

h1 {
  font-size:clamp(48px,5.4vw,78px);
}

h2 {
  font-size:clamp(34px,3.7vw,52px);
}

h3 {
  font-size:31px;
  letter-spacing:-.04em;
}

:lang(de) :is(h1,h2,h3) {
  hyphens:auto;
}

:lang(ja) {
  line-break:strict;
}

:lang(ja) :is(h1,h2,h3) {
  letter-spacing:0;
  line-height:1.3;
  word-break:auto-phrase;
}

:lang(ja) p {
  line-height:1.8;
}

:lang(ja) .eyebrow {
  letter-spacing:.08em;
}

a,button {
  transition:background .18s,color .18s,transform .18s;
}

a:hover {
  color:#b34233;
}

button:hover {
  background:#f0eee7;
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid #bd4436;
  outline-offset:5px;
}

.wrap {
  width:calc(100% - 96px);
  max-width:1240px;
  margin-inline:auto;
}

.section {
  padding-block:100px;
}

.eyebrow {
  text-transform:uppercase;
  font-size:11px;
  font-weight:750;
  letter-spacing:.16em;
  line-height:1.5;
  margin-bottom:22px;
}

.little-dot {
  display:inline-block;
  width:7px;
  height:7px;
  background:var(--coral);
  border-radius:50%;
  margin-right:9px;
}

.skip-link {
  position:fixed;
  top:-100px;
  left:16px;
  background:var(--ink);
  color:white;
  padding:14px;
  z-index:20;
}

.skip-link:focus {
  top:12px;
}

.site-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding-block:28px;
  border-bottom:1px solid var(--line);
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:750;
  font-size:27px;
  letter-spacing:-1px;
}

.brand img {
  border-radius:11px;
}

.site-header nav {
  display:flex;
  margin-inline:auto;
  gap:34px;
  font-size:14px;
  font-weight:550;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  background:var(--ink);
  color:white;
  border:1px solid var(--ink);
  border-radius:100px;
  padding:15px 24px;
  font-size:14px;
  font-weight:650;
}

.button:hover {
  background:var(--green);
  color:white;
}

.button-small {
  padding:12px 20px;
}

.hero {
  display:grid;
  grid-template-columns:1.03fr 1fr;
  gap:35px;
  align-items:center;
  min-height:705px;
  padding-block:64px 68px;
}

.hero-copy {
  position:relative;
  z-index:2;
}

.hero h1 {
  margin-bottom:28px;
  max-width:640px;
}

.hero-intro {
  max-width:455px;
  font-size:19px;
  color:var(--muted);
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:25px;
  flex-wrap:wrap;
  margin-top:32px;
}

.store-badge {
  display:inline-block;
  border-radius:7px;
  flex-shrink:0;
  margin:8px 0;
}

.store-badge img {
  width:174px;
  height:auto;
}

.store-badge:hover {
  transform:translateY(-2px);
}

.text-link {
  display:inline-flex;
  gap:13px;
  align-items:center;
  font-size:14px;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:6px;
  text-decoration-color:#bbbcb1;
}

.hero-note {
  font-size:12px;
  color:var(--muted);
  margin-top:18px;
}

.hero-art {
  height:570px;
  position:relative;
  min-width:0;
  isolation:isolate;
}

.hero-art:before {
  content:"";
  position:absolute;
  background:#eaece1;
  border-radius:50%;
  width:490px;
  height:490px;
  left:30px;
  top:55px;
  z-index:-3;
}

.orbit {
  position:absolute;
  left:10px;
  top:20px;
  width:530px;
  height:530px;
  border:1px solid #dadcd0;
  border-radius:50%;
  z-index:-2;
}

.orbit-two {
  width:580px;
  height:390px;
  top:100px;
  left:-25px;
  transform:rotate(-35deg);
}

.phone {
  position:absolute;
  background:#181d1a;
  padding:5px;
  border:1px solid #424640;
  border-radius:31px;
  box-shadow:0 30px 45px -20px #313b354d;
  overflow:hidden;
  width:228px;
}

.phone img {
  border-radius:26px;
  width:100%;
}

.phone-front {
  right:55px;
  top:44px;
  transform:rotate(8deg);
  z-index:2;
}

.phone-back {
  left:17px;
  top:12px;
  transform:rotate(-9deg);
  width:209px;
  z-index:1;
}

.currency-token {
  animation:currency-drift 8s ease-in-out infinite;
  position:absolute;
  display:grid;
  place-items:center;
  border:1px solid #e0e1d8;
  background:#fffef9;
  box-shadow:0 8px 18px #22251d08;
  border-radius:50%;
  font-size:38px;
  font-weight:500;
  width:74px;
  height:74px;
  z-index:3;
}

.token-euro {
  --token-angle:-15deg;
  animation-delay:-2s;
  left:-8px;
  top:345px;
  transform:rotate(-15deg);
  background:#f3bfb0;
}

.token-yen {
  --token-angle:18deg;
  animation-duration:9s;
  animation-delay:-5s;
  right:0;
  top:0;
  width:64px;
  height:64px;
  background:#e2e8b5;
  transform:rotate(18deg);
}

.token-pound {
  --token-angle:0deg;
  animation-duration:10s;
  animation-delay:-7s;
  right:4px;
  bottom:51px;
  font-size:26px;
  width:56px;
  height:56px;
}

.travel-note {
  position:absolute;
  bottom:0;
  left:38px;
  display:flex;
  align-items:center;
  gap:14px;
  font-size:12px;
  transform:rotate(-3deg);
  z-index:4;
  background:#fffef8;
  border:1px solid #dfdfd2;
  padding:16px 20px;
  border-radius:4px;
  box-shadow:0 8px 20px #00000007;
}

@keyframes currency-drift {
  0%,100% { transform:translateY(0) rotate(var(--token-angle)); }
  50% { transform:translateY(-5px) rotate(calc(var(--token-angle) + 2deg)); }
}

.travel-note>span {
  font-size:28px;
  color:#b94935;
}

.benefit-strip {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-block:1px solid var(--line);
  padding:25px 20px;
  font-size:13px;
  font-weight:550;
}

.benefit-strip>span {
  display:flex;
  gap:13px;
  align-items:center;
}

.benefit-strip>span>span {
  font-size:25px;
  line-height:1;
}

.benefit-strip svg {
  width:21px;
  height:21px;
}

.converter-section {
  display:grid;
  grid-template-columns:.85fr 1fr;
  gap:100px;
  align-items:center;
}

.section-copy>p:not(.eyebrow) {
  margin-top:25px;
  color:var(--muted);
  max-width:420px;
  font-size:17px;
}

.section-copy h2 {
  max-width:400px;
}

.pair-preview {
  margin-top:36px;
  border-top:1px solid var(--line);
  padding-top:25px;
  display:flex;
  flex-direction:column;
  gap:8px;
  max-width:350px;
}

.pair-preview strong {
  font-size:16px;
  font-weight:600;
  display:flex;
  justify-content:space-between;
}

.pair-preview>span:last-child {
  font-size:12px;
  color:var(--muted);
}

.pair-symbols {
  font-size:24px;
  font-weight:550;
}

.pair-symbols span {
  color:#888e7b;
  font-size:18px;
  margin-inline:8px;
}

.converter-card {
  background:#fff;
  border:1px solid #dddfd5;
  border-radius:var(--radius);
  padding:30px;
  box-shadow:0 15px 55px #32382b06;
  min-width:0;
}

.converter-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:28px;
}

.converter-card [data-converter-title] {
  font-size:19px;
  letter-spacing:-.02em;
  font-weight:650;
}

.mini-symbol {
  font-size:25px;
  color:var(--green);
}

.field-label {
  display:block;
  font-size:12px;
  font-weight:600;
  margin-bottom:8px;
  color:#65685e;
}

#amount {
  width:100%;
  font-size:34px;
  font-weight:550;
  letter-spacing:-1px;
  color:var(--ink);
  border:1px solid #d5d8cd;
  border-radius:12px;
  background:#fbfbf8;
  padding:14px 18px;
  line-height:1.2;
}

#amount[aria-invalid=true] {
  border-color:#bc3b2c;
}

.input-help {
  font-size:11px;
  color:var(--muted);
  margin-top:7px;
}

.input-error {
  font-size:12px;
  color:#a83124;
  margin-top:6px;
}

.currency-fields {
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  gap:11px;
  align-items:end;
  margin:23px 0;
}

.currency-fields>div { grid-column:1; }

.currency-fields select {
  width:100%;
  min-width:0;
  padding:13px 30px 13px 13px;
  min-height:49px;
  border:1px solid #d5d8cd;
  border-radius:10px;
  color:var(--ink);
  background-color:white;
  font-size:14px;
  text-overflow:ellipsis;
}

.swap-button {
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  transform:rotate(90deg);
  border:1px solid #d9dbd1;
  background:#fff;
  border-radius:50%;
  width:42px;
  height:42px;
  margin-bottom:3px;
  font-size:25px;
  line-height:1;
}

.result-block {
  background:#edf1e4;
  border-radius:14px;
  padding:22px 20px;
}

.result-block .field-label {
  color:#4f6047;
}

.recognized-amount {
  color:#4f6047;
  font-size:14px;
  margin-bottom:8px;
  overflow-wrap:anywhere;
  font-variant-numeric:tabular-nums;
}

#result {
  display:block;
  font-size:clamp(26px,3.1vw,43px);
  font-weight:550;
  line-height:1.2;
  letter-spacing:-.04em;
  overflow-wrap:anywhere;
  color:#283d2d;
}

.result-currency {
  font-size:.5em;
  letter-spacing:0;
  margin-left:8px;
  white-space:nowrap;
}

.unit-rate {
  font-size:12px;
  color:#52644d;
  margin-top:9px;
  font-variant-numeric:tabular-nums;
}

.rate-status {
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:space-between;
  margin-top:15px;
}

#rate-status {
  font-size:11px;
  line-height:1.5;
  color:var(--muted);
}

.refresh-button {
  border:0;
  background:none;
  color:#4e5d47;
  flex-shrink:0;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
}

.refresh-button svg {
  width:18px;
  height:18px;
}

.rate-note {
  font-size:11px;
  color:var(--muted);
  border-top:1px solid #eaebe5;
  padding-top:13px;
  margin-top:10px;
}

.no-js {
  font-size:13px;
  padding-top:12px;
  color:#923e2e;
}

.section-heading {
  max-width:670px;
  margin-bottom:44px;
}

.section-heading>p:last-child:not(.eyebrow) {
  color:var(--muted);
  font-size:17px;
  max-width:500px;
  margin-top:23px;
}

.features {
  padding-top:70px;
}

.feature-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px;
}

.feature-card {
  border-radius:var(--radius);
  padding:34px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.feature-card .eyebrow {
  font-size:10px;
  margin-bottom:16px;
}

.feature-card h3 {
  margin-bottom:17px;
}

.feature-card p:not(.eyebrow) {
  color:#555e53;
  font-size:15px;
  line-height:1.6;
}

.feature-multi {
  grid-column:span 4;
  background:#e9eddf;
  min-height:460px;
  display:flex;
}

.feature-multi .card-copy {
  width:48%;
  position:relative;
  z-index:2;
}

.multi-preview {
  position:absolute;
  width:235px;
  right:30px;
  top:40px;
  transform:rotate(8deg);
  border:5px solid #222820;
  border-radius:27px;
  overflow:hidden;
  box-shadow:0 15px 30px #34452c22;
}

.multi-decoration {
  position:absolute;
  left:42px;
  bottom:22px;
  font-size:112px;
  line-height:1;
  color:#728c5b;
  font-weight:300;
}

.feature-offline {
  grid-column:span 2;
  background:#f0d8ca;
}

.offline-graphic {
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
}

.offline-graphic svg {
  height:80px;
  width:80px;
  stroke:#6e493a;
  stroke-width:3;
}

.offline-graphic .offline-slash {
  stroke:#f0d8ca;
  stroke-width:9;
  paint-order:stroke;
  filter:drop-shadow(2px 0 0 #6e493a);
}

.offline-graphic>span {
  writing-mode:vertical-rl;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.15em;
  color:#7e5748;
}

.feature-offline small {
  display:block;
  font-size:11px;
  line-height:1.5;
  color:#77513f;
  margin-top:20px;
}

.feature-widget {
  grid-column:span 2;
  background:#e4e8ef;
  min-height:480px;
}

.widget-preview {
  height:220px;
  overflow:hidden;
  margin:28px -34px -34px;
  position:relative;
}

.widget-preview img {
  width:100%;
  transform:translateY(-31%);
}

.feature-custom {
  grid-column:span 2;
  background:#f0eee7;
}

.adjustment-preview {
  margin-top:28px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 28px #24272412;
  background:white;
}

.feature-pocket {
  grid-column:span 2;
  background:#f4e6c8;
}

.pocket-preview {
  height:235px;
  overflow:hidden;
  margin:30px -6px -34px;
  border:4px solid #413b2c;
  border-radius:21px 21px 0 0;
  box-shadow:0 10px 20px #71614920;
}

.pocket-preview img {
  width:100%;
  margin-top:-25px;
}

.faq-section {
  display:grid;
  grid-template-columns:.8fr 1fr;
  gap:100px;
  border-top:1px solid var(--line);
  margin-top:20px;
}

.faq-section h2 {
  max-width:420px;
  font-size:43px;
}

.faq-section .text-link {
  margin-top:27px;
}

.faq-list details {
  border-bottom:1px solid #d9dbcf;
}

.faq-list details:first-child {
  border-top:1px solid #d9dbcf;
}

.faq-list summary {
  list-style:none;
  cursor:pointer;
  padding:23px 38px 23px 0;
  position:relative;
  font-size:16px;
  line-height:1.5;
  font-weight:550;
}

.faq-list summary::-webkit-details-marker {
  display:none;
}

.faq-list summary:after {
  content:'+';
  position:absolute;
  right:3px;
  top:20px;
  font-size:24px;
  font-weight:400;
  color:#6b7661;
}

.faq-list details[open] summary:after {
  content:'−';
}

.faq-list details p {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  padding-bottom:23px;
  padding-right:25px;
}

.download-section {
  padding-bottom:80px;
}

.download-inner {
  background:var(--green);
  color:#faf9ed;
  border-radius:30px;
  text-align:center;
  position:relative;
  overflow:hidden;
  padding:52px 26px;
}

.download-inner>img {
  margin:0 auto 23px;
  border-radius:20px;
}

.download-inner>.eyebrow {
  color:#c5d4bd;
  font-size:10px;
  margin-bottom:18px;
}

.download-inner h2 {
  max-width:600px;
  margin:auto;
}

.download-inner>p:not(.eyebrow) {
  max-width:420px;
  margin:22px auto;
  color:#d1ddcb;
  font-size:15px;
}

.download-inner .store-badge {
  margin-top:5px;
  position:relative;
  z-index:2;
}

.download-decoration {
  position:absolute;
  font-size:230px;
  line-height:1;
  color:#ffffff0c;
  top:125px;
  font-weight:450;
}

.decoration-left {
  left:20px;
  transform:rotate(-20deg);
}

.decoration-right {
  right:20px;
  transform:rotate(20deg);
}

.site-footer {
  padding-bottom:26px;
}

.footer-top {
  border-bottom:1px solid var(--line);
  padding-bottom:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.footer-top .brand {
  font-size:23px;
}

.footer-top>p {
  font-size:13px;
  color:var(--muted);
  margin-right:auto;
  margin-left:20px;
}

.footer-top>a:last-child {
  font-size:12px;
}

.footer-bottom {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:23px;
  font-size:11px;
  color:var(--muted);
}

.footer-bottom>div {
  display:flex;
  gap:25px;
}

.footer-bottom small {
  font-size:9px;
}

.breadcrumb {
  display:flex;
  gap:15px;
  font-size:12px;
  color:var(--muted);
  padding-top:35px;
}

.pair-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:85px;
  padding-block:58px 80px;
}

.pair-hero h1 {
  font-size:60px;
}

.pair-hero-art {
  display:flex;
  gap:18px;
  align-items:center;
  margin-top:35px;
}

.pair-hero-art>span:not(:nth-child(2)) {
  width:75px;
  height:75px;
  border-radius:50%;
  background:#ecdfd4;
  display:grid;
  place-items:center;
  font-size:35px;
  transform:rotate(-12deg);
}

.pair-hero-art>span:last-child {
  background:#e6ebd1;
  transform:rotate(12deg);
}

.pair-hero-art>span:nth-child(2) {
  font-size:24px;
  color:#758263;
}

.pair-table-section {
  border-block:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:85px;
  align-items:start;
}

.table-card {
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:white;
  padding:8px 24px 18px;
}

table {
  border-collapse:collapse;
  width:100%;
  font-size:15px;
  font-variant-numeric:tabular-nums;
}

caption {
  text-align:left;
  font-size:12px;
  padding:17px 0;
  color:var(--muted);
}

th,td {
  padding:14px 0;
  border-bottom:1px solid #eaebe4;
  text-align:left;
}

td:last-child,th:last-child {
  text-align:right;
}

tbody tr:last-child td,tbody tr:last-child th {
  border-bottom:0;
}

tbody th {
  font-weight:450;
}

thead th {
  font-size:12px;
  color:#647257;
}

td {
  font-weight:550;
}

.table-status {
  font-size:11px;
  color:var(--muted);
  margin-top:10px;
}

.guide-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:48px;
}

.guide-number {
  font-size:12px;
  color:#8c4d34;
  display:block;
  padding-top:20px;
  border-top:1px solid var(--line);
  margin-bottom:26px;
}

.guide-grid h3 {
  font-size:25px;
  margin-bottom:20px;
}

.guide-grid p {
  font-size:15px;
  color:var(--muted);
}

.pair-guide .section-heading {
  max-width:730px;
}

.pair-app {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
  padding:48px;
  margin-bottom:80px;
  border-radius:30px;
  background:var(--green);
  color:#faf9ed;
}

.pair-app .section-copy>p:not(.eyebrow) { color:#d1ddcb; }
.pair-app .eyebrow { color:#c5d4bd; }
.pair-app .store-badge { margin-top:25px; }
.pair-widget { margin:0; max-width:450px; }
.pair-widget>div { overflow:hidden; border-radius:24px; }
.pair-widget img { width:100%; }
.pair-widget figcaption { font-size:11px; line-height:1.6; color:#d1ddcb; margin-top:14px; }

@media(max-width:820px) {
  .pair-app { gap:35px; }
}
@media(max-width:640px) {
  .pair-app { grid-template-columns:1fr; padding:28px 24px; margin-bottom:55px; }
}

.related {
  padding:38px;
  border:1px solid var(--line);
  border-radius:22px;
  margin-bottom:85px;
  background:#f0f1e9;
}

.related h2 {
  font-size:26px;
  letter-spacing:-.035em;
}

.related p {
  font-size:13px;
  color:var(--muted);
  margin-top:12px;
}

.related-links {
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin-top:24px;
}

.related-links a {
  display:flex;
  gap:30px;
  border:1px solid #dadccf;
  background:var(--paper);
  border-radius:9px;
  padding:13px 18px;
  font-size:13px;
  font-weight:600;
}

.related-links a:hover {
  background:#e5e9d8;
}

.related-links span {
  color:#748368;
}

.popular-pairs .related-links {
  display:grid;
  grid-auto-rows:1fr;
  grid-template-columns:repeat(auto-fill,minmax(215px,1fr));
}

.popular-pairs .related-links a {
  position:relative;
  flex-direction:column;
  gap:4px;
  padding-right:40px;
}

.popular-pairs .related-links strong {
  font-weight:650;
}

.popular-pairs .related-links small {
  font-size:12px;
  font-weight:450;
  color:var(--muted);
}

.popular-pairs .related-links a>span {
  position:absolute;
  top:13px;
  right:16px;
}

.lang-switch {
  position:relative;
  font-size:13px;
  font-weight:650;
}

.lang-switch summary {
  list-style:none;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:100px;
  cursor:pointer;
}

.lang-switch summary::-webkit-details-marker {
  display:none;
}

.lang-switch summary:hover,.lang-switch[open] summary {
  background:#eef0e6;
}

.lang-switch svg {
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}

.lang-switch ul {
  position:absolute;
  z-index:20;
  top:calc(100% + 8px);
  right:0;
  min-width:180px;
  margin:0;
  padding:6px;
  list-style:none;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 18px 45px #32382b17;
}

.lang-switch a {
  display:block;
  padding:11px 13px;
  border-radius:10px;
  font-weight:500;
}

.lang-switch a:hover {
  background:#f0f1e9;
}

.lang-switch a[aria-current] {
  font-weight:750;
}

[hidden] {
  display:none!important;
}

@media(min-width:1440px) {
  .hero-art:before {
    left:50px;
  }
  .phone-front {
    right:70px;
  }
  .phone-back {
    left:40px;
  }
  .hero-art .token-euro {
    left:0;
  }
  .hero-art .orbit {
    left:35px;
  }
}

@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 64px);
  }
  .hero {
    gap:15px;
    min-height:640px;
    padding-block:50px;
  }
  .hero-art {
    height:510px;
  }
  .hero-art:before {
    width:400px;
    height:400px;
    left:0;
    top:60px;
  }
  .orbit {
    width:420px;
    height:420px;
    left:-10px;
    top:45px;
  }
  .orbit-two {
    width:450px;
    height:300px;
    left:-20px;
    top:110px;
  }
  .phone-front {
    width:195px;
    right:22px;
  }
  .phone-back {
    width:175px;
    left:5px;
    top:23px;
  }
  .hero-intro {
    font-size:17px;
  }
  .token-euro {
    width:59px;
    height:59px;
    font-size:31px;
    top:310px;
  }
  .token-yen {
    width:54px;
    height:54px;
  }
  .token-pound {
    bottom:50px;
  }
  .travel-note {
    left:20px;
    bottom:7px;
    font-size:10px;
  }
  .hero-actions {
    gap:16px;
  }
  .hero h1 {
    font-size:61px;
  }
  .converter-section,.faq-section,.pair-hero,.pair-table-section {
    gap:48px;
  }
  .feature-card {
    padding:27px;
  }
  .feature-card h3 {
    font-size:28px;
  }
  .multi-preview {
    width:200px;
    right:20px;
    top:75px;
  }
  .feature-multi {
    min-height:435px;
  }
  .feature-multi .card-copy {
    width:50%;
  }
  .widget-preview {
    margin-inline:-27px;
    margin-bottom:-27px;
  }
  .pair-hero h1 {
    font-size:51px;
  }
  .footer-bottom small {
    flex-basis:100%;
  }
  .guide-grid {
    gap:28px;
  }
}

@media(max-width:820px) {
  .wrap {
    width:calc(100% - 48px);
  }
  .site-header {
    padding-block:21px;
  }
  .site-header nav {
    gap:20px;
  }
  .hero {
    grid-template-columns:1fr 1fr;
    gap:8px;
    min-height:565px;
  }
  .hero h1 {
    font-size:48px;
  }
  .hero-art {
    height:440px;
  }
  .hero-art:before {
    width:305px;
    height:305px;
    top:70px;
    left:0;
  }
  .orbit {
    width:330px;
    height:330px;
    top:48px;
    left:-10px;
  }
  .orbit-two {
    width:345px;
    height:245px;
    top:110px;
    left:-18px;
  }
  .phone-front {
    width:162px;
    right:3px;
    top:57px;
    border-radius:24px;
    padding:4px;
  }
  .phone img {
    border-radius:20px;
  }
  .phone-back {
    width:146px;
    left:5px;
    top:20px;
    border-radius:24px;
    padding:4px;
  }
  .token-euro {
    top:285px;
    left:-10px;
    width:48px;
    height:48px;
    font-size:27px;
  }
  .token-yen {
    right:0;
    top:2px;
    width:48px;
    height:48px;
    font-size:27px;
  }
  .token-pound {
    display:none;
  }
  .travel-note {
    padding:11px 13px;
    left:13px;
    bottom:0;
    max-width:260px;
    gap:8px;
  }
  .travel-note>span {
    font-size:22px;
  }
  .hero-intro {
    font-size:16px;
  }
  .eyebrow {
    font-size:10px;
  }
  .benefit-strip {
    padding:20px 0;
    font-size:11px;
    gap:15px;
  }
  .benefit-strip>span {
    gap:8px;
  }
  .section {
    padding-block:70px;
  }
  .converter-section,.faq-section {
    gap:30px;
  }
  .converter-card {
    padding:23px;
  }
  .section-copy>p:not(.eyebrow) {
    font-size:15px;
  }
  .feature-grid {
    gap:18px;
  }
  .feature-multi {
    grid-column:span 6;
    min-height:400px;
  }
  .feature-multi .card-copy {
    max-width:320px;
  }
  .multi-preview {
    width:228px;
    right:45px;
    top:32px;
  }
  .feature-offline,.feature-widget,.feature-custom,.feature-pocket {
    grid-column:span 3;
    min-height:440px;
  }
  .feature-offline .offline-graphic {
    height:140px;
  }
  .feature-widget .widget-preview {
    height:210px;
  }
  .feature-custom .custom-symbol {
    height:135px;
    font-size:45px;
  }
  .faq-section h2 {
    font-size:36px;
  }
  .faq-list summary {
    font-size:14px;
  }
  .pair-hero {
    gap:30px;
  }
  .pair-hero h1 {
    font-size:43px;
  }
  .pair-table-section {
    gap:40px;
  }
  .guide-grid {
    gap:24px;
  }
  .guide-grid h3 {
    font-size:23px;
  }
  .guide-grid p {
    font-size:14px;
  }
  .footer-top>p {
    margin-left:0;
  }
  .download-decoration {
    font-size:160px;
    top:145px;
  }
}

@media(max-width:640px) {
  .wrap {
    width:calc(100% - 40px);
  }
  .site-header {
    gap:12px;
    padding-block:18px;
  }
  .site-header .brand {
    font-size:25px;
    gap:8px;
  }
  .site-header .brand img {
    width:35px;
    height:35px;
  }
  .site-header nav {
    display:none;
  }
  .lang-switch {
    margin-left:auto;
  }
  .lang-switch summary {
    padding:0 11px;
  }
  .button-small {
    font-size:12px;
    padding:11px 16px;
    gap:13px;
  }
  .hero {
    grid-template-columns:1fr;
    gap:35px;
    padding-block:47px 28px;
    min-height:0;
  }
  .hero h1 {
    font-size:clamp(42px,9.7vw,62px);
    margin-bottom:22px;
  }
  .hero-intro {
    font-size:17px;
    max-width:440px;
  }
  .hero .eyebrow {
    font-size:9px;
    margin-bottom:20px;
  }
  .hero-actions {
    margin-top:22px;
    gap:20px;
  }
  .hero-actions .store-badge img {
    width:160px;
  }
  .hero-actions .text-link {
    font-size:12px;
  }
  .hero-note {
    margin-top:12px;
    font-size:11px;
  }
  .hero-art {
    width:335px;
    max-width:100%;
    height:444px;
    margin:auto;
  }
  .hero-art:before {
    width:300px;
    height:300px;
    left:17px;
    top:64px;
  }
  .orbit {
    width:326px;
    height:326px;
    left:5px;
  }
  .orbit-two {
    width:275px;
    height:195px;
    left:30px;
    top:125px;
  }
  .phone-back {
    width:162px;
    left:25px;
    top:9px;
  }
  .phone-front {
    width:179px;
    right:18px;
    top:49px;
  }
  .token-euro {
    left:0;
    top:280px;
    width:56px;
    height:56px;
    font-size:29px;
  }
  .token-yen {
    right:0;
    top:0;
  }
  .travel-note {
    left:34px;
    bottom:0;
    font-size:10px;
  }
  .benefit-strip {
    display:grid;
    gap:16px;
    padding:23px 8px;
    font-size:12px;
  }
  .benefit-strip>span {
    gap:13px;
  }
  .benefit-strip>span>span {
    width:21px;
    text-align:center;
  }
  .section {
    padding-block:59px;
  }
  .converter-section,.faq-section,.pair-hero,.pair-table-section {
    grid-template-columns:1fr;
    gap:32px;
  }
  .section-copy h2 {
    max-width:350px;
  }
  .section-copy>p:not(.eyebrow) {
    margin-top:18px;
    font-size:16px;
  }
  .pair-preview {
    margin-top:24px;
    padding-top:20px;
    max-width:none;
  }
  .pair-symbols {
    display:none;
  }
  .converter-card {
    padding:22px;
    border-radius:21px;
  }
  .converter-card-top {
    margin-bottom:24px;
  }
  .converter-card [data-converter-title] {
    font-size:18px;
  }
  #amount {
    font-size:32px;
  }
  .currency-fields {
    gap:8px;
    grid-template-columns:minmax(0,1fr) 38px;
  }
  .currency-fields select {
    font-size:13px;
    padding-left:10px;
  }
  .swap-button {
    width:38px;
    height:38px;
    font-size:23px;
    margin-bottom:5px;
  }
  .result-block {
    padding:20px 16px;
  }
  #result {
    font-size:36px;
  }
  .section-heading {
    margin-bottom:30px;
  }
  .section-heading>p:last-child:not(.eyebrow) {
    font-size:16px;
    margin-top:20px;
  }
  .features {
    padding-top:35px;
  }
  .feature-grid {
    grid-template-columns:1fr;
    gap:18px;
  }
  .feature-card {
    grid-column:auto;
    padding:28px;
    border-radius:22px;
  }
  .feature-card h3 {
    font-size:31px;
  }
  .feature-multi {
    min-height:520px;
    display:block;
  }
  .feature-multi .card-copy {
    width:100%;
    max-width:100%;
  }
  .multi-preview {
    width:210px;
    right:30px;
    top:245px;
    transform:rotate(10deg);
  }
  .multi-decoration {
    left:27px;
    bottom:65px;
    font-size:100px;
  }
  .feature-offline {
    min-height:0;
    padding-bottom:32px;
  }
  .feature-offline .offline-graphic {
    height:115px;
    justify-content:flex-start;
    padding-left:5px;
    margin-bottom:20px;
  }
  .feature-widget {
    min-height:450px;
  }
  .widget-preview {
    margin-inline:-28px;
    margin-bottom:-28px;
    height:245px!important;
  }
  .widget-preview img {
    transform:translateY(-33%);
  }
  .feature-custom {
    min-height:0;
  }
  .feature-custom .custom-symbol {
    height:110px;
    padding-bottom:20px;
  }
  .feature-pocket {
    min-height:430px;
  }
  .pocket-preview {
    height:220px;
    margin-bottom:-28px;
    margin-inline:18px;
  }
  .pocket-preview img {
    margin-top:-25px;
  }
  .faq-section {
    margin-top:0;
    gap:30px;
  }
  .faq-section h2 {
    font-size:36px;
  }
  .faq-section .text-link {
    margin-top:22px;
  }
  .faq-list summary {
    font-size:15px;
    padding-block:22px;
  }
  .faq-list details p {
    padding-right:0;
  }
  .download-section {
    padding-bottom:55px;
  }
  .download-inner {
    padding:39px 22px;
    border-radius:23px;
  }
  .download-inner h2 {
    font-size:37px;
    position:relative;
    z-index:1;
  }
  .download-inner>p:not(.eyebrow) {
    font-size:14px;
    position:relative;
    z-index:1;
  }
  .download-inner>img {
    width:62px;
    height:62px;
    border-radius:17px;
  }
  .download-decoration {
    font-size:110px;
    top:55px;
  }
  .decoration-left {
    left:-15px;
  }
  .decoration-right {
    right:-15px;
  }
  .footer-top {
    flex-wrap:wrap;
    padding-bottom:23px;
    gap:17px;
  }
  .footer-top>p {
    order:3;
    width:100%;
    font-size:12px;
  }
  .footer-top>a:last-child {
    margin-left:auto;
    font-size:11px;
  }
  .footer-bottom {
    font-size:10px;
    gap:17px;
  }
  .footer-bottom>div {
    gap:16px;
  }
  .footer-bottom small {
    font-size:9px;
    line-height:1.6;
  }
  .breadcrumb {
    font-size:11px;
    padding-top:25px;
    gap:10px;
  }
  .pair-hero {
    padding-block:36px 58px;
    gap:28px;
  }
  .pair-hero h1 {
    font-size:45px;
  }
  .pair-hero .eyebrow {
    margin-bottom:17px;
  }
  .pair-hero-art {
    display:none;
  }
  .pair-table-section {
    gap:30px;
  }
  .table-card {
    padding-inline:21px;
  }
  .guide-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  .guide-number {
    margin-bottom:18px;
  }
  .guide-grid h3 {
    font-size:26px;
    margin-bottom:14px;
  }
  .guide-grid p {
    font-size:15px;
  }
  .related {
    padding:25px;
    margin-bottom:55px;
  }
  .related-links {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .related-links a {
    justify-content:space-between;
  }
  .related h2 {
    font-size:25px;
  }
  .related p {
    font-size:12px;
  }
}

@media(max-width:430px) {
  .lang-switch svg,.header-cta>span {
    display:none;
  }
  .lang-switch summary {
    padding:0 11px;
  }
  .header-cta {
    white-space:nowrap;
  }
}

@media(max-width:359px) {
  .wrap {
    width:calc(100% - 32px);
  }
  .site-header {
    gap:10px;
  }
  .site-header .brand {
    font-size:21px;
    gap:6px;
  }
  .site-header .brand img {
    width:30px;
    height:30px;
  }
  .hero h1 {
    font-size:41px;
  }
  .hero-actions {
    gap:11px;
  }
  .hero-actions .store-badge img {
    width:145px;
  }
  .hero-actions .text-link {
    font-size:11px;
    gap:7px;
  }
  .hero-note {
    font-size:10px;
  }
  .hero-art {
    height:390px;
    width:288px;
  }
  .hero-art:before {
    width:260px;
    height:260px;
    left:10px;
  }
  .orbit {
    width:278px;
    height:278px;
    left:0;
  }
  .orbit-two {
    width:230px;
    height:175px;
    left:29px;
  }
  .phone-back {
    width:142px;
    left:20px;
  }
  .phone-front {
    width:158px;
    right:12px;
    top:40px;
  }
  .token-euro {
    top:251px;
    width:48px;
    height:48px;
  }
  .token-yen {
    width:42px;
    height:42px;
    font-size:25px;
  }
  .travel-note {
    left:24px;
    font-size:9px;
    bottom:0;
  }
  .converter-card {
    padding:18px;
  }
  .currency-fields {
    gap:6px;
    grid-template-columns:minmax(0,1fr) 34px;
  }
  .currency-fields select {
    padding-left:8px;
    font-size:12px;
  }
  .swap-button {
    width:34px;
    height:34px;
    margin-bottom:7px;
  }
  #result {
    font-size:32px;
  }
  .feature-card {
    padding:24px;
  }
  .feature-card h3 {
    font-size:28px;
  }
  .feature-multi {
    min-height:545px;
  }
  .multi-preview {
    top:270px;
    right:20px;
    width:190px;
  }
  .multi-decoration {
    font-size:80px;
    left:20px;
  }
  .widget-preview {
    margin-inline:-24px;
    margin-bottom:-24px;
  }
  .feature-widget {
    min-height:460px;
  }
  .pocket-preview {
    margin-inline:0;
    margin-bottom:-24px;
  }
  .pair-hero h1 {
    font-size:40px;
  }
  .footer-bottom>div {
    gap:11px;
  }
  .download-inner h2 {
    font-size:32px;
  }
}

@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important;
  }
}
