/* Home page styles (single file bundle) */

/* ===== Base ===== */
/* Base styles shared across home sections */
:root { --accent: #fe5f0a; --header-h: 64px; }
html { scroll-behavior: auto; }
body { overscroll-behavior-y: auto; }
body { font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji"; }

/* Utilities */
.brand-gradient { background: linear-gradient(120deg, #fe5f0a 0%, #ff9358 50%, #ffd0b8 100%); color:#fff; }
a.underline { text-decoration-skip-ink: none; -webkit-text-decoration-skip: none; }
.bg-accent { background-color: var(--accent); }
.ring-accent { box-shadow: 0 0 0 3px rgba(254,95,10,.15); }
.boh { box-shadow: 0 8px 24px rgba(15, 23, 42, .08); }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; }

/* Brand wordmark */
.brand-wordmark{ font-family: 'Sora', Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans"; font-weight: 800; letter-spacing: -.02em; line-height: 1; font-size: 1.25rem; color:#0f172a; }
@media (min-width:768px){ .brand-wordmark{ font-size: 1.35rem; } }
.brand-wordmark .brand-mark{ color: var(--accent); letter-spacing: -.025em; }

/* Cards */
.card {
  background-color: #ffffff;
  border-radius: 1rem;
  border: 1px solid #f1f5f9;
  box-shadow:
    0 10px 15px -3px rgba(15, 23, 42, .08),
    0 4px 6px -4px rgba(15, 23, 42, .08);
  /* animations removed */
}
@media (prefers-reduced-motion: reduce){ .card{ } }
/* no hover translation to avoid motion */
/* Refresh */
.card{ border-radius: 18px; border:1px solid #eef2f6; background:#fff; box-shadow: 0 6px 22px rgba(2,6,23,.06); }
.boh{ box-shadow: 0 10px 24px rgba(2,6,23,.08); }

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius: .9rem; padding: .75rem 1.1rem; font-weight: 650; }
.btn-primary{ background: var(--accent); color: #fff; box-shadow: 0 8px 18px rgba(254,95,10,.18); }
.btn-primary:hover{ filter: brightness(1.05); }
.btn-outline{ background:#fff; color:#0f172a; border:1px solid #e2e8f0; }
.btn-outline:hover{ border-color:#cbd5e1; }
.btn:focus{ outline: none; }
.btn:focus-visible{ outline: none; box-shadow: 0 0 0 3px rgba(254,95,10,.2); border-color: #fec6a1; }
.btn-sm{ padding: .55rem .9rem; border-radius: .8rem; font-size: .95rem; }
.btn-xs{ padding: .4rem .7rem; border-radius: .7rem; font-size: .85rem; }

/* ===== Success page ===== */
.success-wrap{ }
.success-head{ display:flex; align-items:center; gap:.75rem; }
.success-check{ width: 42px; height: 42px; border-radius: 9999px; display:flex; align-items:center; justify-content:center; background: linear-gradient(120deg, #fe5f0a 0%, #ff9358 60%, #ffd0b8 100%); box-shadow: 0 8px 18px rgba(254,95,10,.25); }
.success-check svg{ width:22px; height:22px; color:#fff; }
.muted{ color:#64748b; }
.note-muted{ font-size:.75rem; color:#94a3b8; }
.mono-sm{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; font-size:.9rem; }

/* KPI pills */
.kpi{ display:flex; flex-direction:column; gap:.15rem; padding:.6rem .8rem; border-radius:.9rem; background:#fff; border:1px solid #eef2f6; box-shadow: 0 4px 12px rgba(2,6,23,.04); }
.kpi .kpi-title{ font-weight:800; letter-spacing:-.01em; }
.kpi .kpi-sub{ color:#64748b; font-size:.8rem; }

/* Sections helpers */
.section-title{ letter-spacing:-.01em; line-height:1.15; font-weight: 800; }
.section-lead{ color: var(--muted); }
.screen{ min-height: calc(100svh - var(--header-h)); }
.screen-full{ min-height: 100svh; }

/* Anchor scroll fix under sticky header */
section[id]{ scroll-margin-top: 0; }
section#top{ scroll-margin-top: var(--header-h); }
main#main{ scroll-margin-top: 0; }

/* Reveal disabled: elements are always visible without transitions */
.reveal{ opacity: 1; transform: none; }
.reveal-in{ opacity: 1; transform: none; }

/* ===== Header ===== */
/* Glass header and nav */
.site-header{ backdrop-filter: saturate(160%) blur(8px); background: color-mix(in oklab, white 82%, transparent); border-bottom: 1px solid #eef2f6; }
.site-nav a{ color: #334155; }
.site-nav a:hover{ color: var(--accent); }
.site-nav a:focus{ outline: none; }
.site-nav a:focus-visible{ outline: none; box-shadow: 0 0 0 3px rgba(254,95,10,.25); border-radius: .5rem; }
.site-nav a.active{ color: var(--accent); }

/* ===== Hero ===== */
/* Hero section + receipt demo */
.hero-title{
  font-weight: 800;
  letter-spacing: -.02em;
  font-size: clamp(2rem, 4vw + 1rem, 3.6rem);
  line-height: 1.05;
  max-width: 22ch;
  margin: 0;
}

.hero-title-line{
  display: block;
}

.hero-title-line + .hero-title-line{
  margin-top: .25em;
}

.hero-title-accent{
  color: var(--accent);
  white-space: nowrap;
  font-size: 1.08em;
  letter-spacing: -.015em;
}

.hero-title-sub{
  display: block;
  margin-top: .35em;
  font-size: clamp(1.05rem, .8vw + 1rem, 1.45rem);
  font-weight: 600;
  color: #475569;
  letter-spacing: -.01em;
}

.hero-lead{
  max-width: 34ch;
  font-size: clamp(1rem, .9vw + .95rem, 1.22rem);
  line-height: 1.65;
  color: #475569;
  margin: 0;
}

@supports (text-wrap: balance){
  .hero-title,
  .hero-lead{
    text-wrap: balance;
  }
}

@media (min-width: 1024px){
  .hero-title{
    font-size: clamp(2.8rem, 2.4vw + 1.2rem, 4rem);
    max-width: 26ch;
  }

  .hero-title-line + .hero-title-line{
    margin-top: .2em;
  }

  .hero-title-sub{
    font-size: clamp(1.15rem, .6vw + 1.05rem, 1.6rem);
    margin-top: .4em;
  }

  .hero-lead{
    max-width: 38ch;
    font-size: clamp(1.05rem, .6vw + 1rem, 1.3rem);
  }
}

.receipt-card{
  background: #fdfdfd; /* Slightly off-white for paper feel */
  position: relative;
  width: 340px;
  max-width: 92vw;
  margin-inline: auto;
  border-radius: 8px; /* Receipts have sharper corners */
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .12);
  transition: box-shadow 0.3s ease;
  font-family: 'Courier New', Courier, monospace; /* Classic receipt font */
  
  /* Add a subtle noise texture for paper realism */
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800"><defs><filter id="a" x="0" y="0" width="100%" height="100%"><feTurbulence baseFrequency=".05" numOctaves="4" stitchTiles="stitch" type="fractalNoise"/></filter></defs><rect width="100%" height="100%" filter="url(%23a)" opacity=".02"/></svg>');
}

.receipt-card:hover {
  box-shadow: 0 15px 30px rgba(15, 23, 42, .15);
}

/* Adjusting inner elements for realism */
.receipt-card .mono {
  font-family: 'Courier New', Courier, monospace;
}
.receipt-demo{ 
  overflow: visible; 
  -webkit-overflow-scrolling: auto; 
}
.receipt-row{ 
  display: grid; 
  grid-template-columns: auto 1fr auto; 
  align-items: baseline; 
  gap: .5rem; 
  min-height: 1.5rem;
}
.receipt-sep{ 
  border-bottom: 1px dotted #64748b; 
  transform: translateY(-2px); 
  min-width: 20px;
}

/* ===== How/Trust ===== */
/* How it works section + trust bar */
.how-title{ letter-spacing:-.01em; line-height:1.15; }
.how-lead{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  color: #475569;
  font-size: .95rem;
  font-weight: 500;
}

.how-lead-pill{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .85rem;
  border-radius: 9999px;
  background: linear-gradient(120deg, rgba(255,106,26,.95) 0%, rgba(255,143,74,.92) 55%, rgba(255,186,122,.9) 100%);
  color: #fff;
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 10px 22px rgba(254,95,10,.25);
}

.how-flow{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .5rem .9rem;
  border-radius: 9999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .05);
}

.how-flow-item{
  font-weight: 600;
  color: #1e293b;
  letter-spacing: -.01em;
}

.how-flow-sep{
  color: #94a3b8;
  font-size: .9rem;
}

@media (max-width: 639px){
  .how-lead{
    width: 100%;
    justify-content: flex-start;
  }

  .how-flow{
    width: 100%;
    justify-content: space-between;
    padding: .55rem .75rem;
  }

  .how-flow-item{
    font-size: .92rem;
  }
}
.how-steps{
  list-style: none;
  padding: 0;
  margin: 0;
}

.how-step{
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.75rem;
  border-radius: 1.25rem;
  border: 1px solid #eef2f6;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
  transition: box-shadow .25s ease, transform .25s ease;
}

.how-step:hover{
  box-shadow: 0 14px 28px rgba(15, 23, 42, .08);
  transform: translateY(-2px);
}

.how-step-icon{
  flex: 0 0 3.25rem;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 1.2rem;
  background: linear-gradient(135deg, #ff6a1a 0%, #ff8f4a 55%, #ffba7a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 8px 18px rgba(254,95,10,.22);
}

.how-step-icon svg{
  width: 1.65rem;
  height: 1.65rem;
}

.how-step-body{
  flex: 1 1 auto;
  min-width: 0;
}

.how-step-title{
  font-weight: 700;
  font-size: 1.15rem;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #0f172a;
}

.how-step-text{
  margin: .35rem 0 0;
  font-size: .98rem;
  line-height: 1.6;
  color: #475569;
}

@media (max-width: 639px){
  .how-step{
    padding: 1.4rem;
    gap: 1rem;
  }

  .how-step-icon{
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
  }

  .how-step-title{
    font-size: 1.08rem;
  }

  .how-step-text{
    font-size: .96rem;
  }
}

@media (min-width: 1024px){
  .how-step{
    padding: 2rem;
  }

  .how-step-title{
    font-size: 1.22rem;
  }

  .how-step-text{
    font-size: 1rem;
  }
}

.trust-wrap{ border:1px solid #eef2f6; background: color-mix(in oklab, white 88%, transparent); border-radius: 16px; padding: 12px; }
.trust-badges{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:.5rem; }
@media (min-width: 640px){ .trust-badges{ grid-template-columns: repeat(4, minmax(0,1fr)); } }

/* ===== FAQ ===== */
.faq-highlight{
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 1.5rem 1.6rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(254, 140, 70, .45);
  background: linear-gradient(135deg, rgba(255, 240, 231, .95) 0%, rgba(255, 248, 242, .98) 100%);
  box-shadow: 0 16px 32px rgba(254, 95, 10, .12);
}

.faq-highlight-icon{
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  background: linear-gradient(120deg, #ff6a1a 0%, #ff9358 60%, #ffd0b8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 8px 20px rgba(254, 95, 10, .18);
}

.faq-highlight-icon svg{
  width: 1.5rem;
  height: 1.5rem;
}

.faq-highlight-body{ flex: 1; }

.faq-highlight-title{
  font-weight: 700;
  font-size: 1.05rem;
  color: #9a3412;
  letter-spacing: -.01em;
}

.faq-highlight-text{
  margin-top: .3rem;
  font-size: .95rem;
  line-height: 1.6;
  color: #7c2d12;
}

@media (max-width: 639px){
  .faq-highlight{
    flex-direction: column;
    align-items: stretch;
  }

  .faq-highlight-icon{
    width: 2.8rem;
    height: 2.8rem;
  }
}
.logo-badge{ display:flex; align-items:center; gap:.6rem; padding:.6rem .8rem; border-radius:.8rem; border:1px solid #eef2f6; background:#fff; color:#0f172a; box-shadow: 0 2px 8px rgba(2,6,23,.04); }
.logo-ico{ width:22px; height:22px; color: var(--accent); }
.logo-text{ font-weight: 650; font-size: .9rem; letter-spacing: .01em; }

/* ===== Need ===== */
/* Need section */
.caps{ font-variant-caps: all-small-caps; letter-spacing:.08em; font-weight:700; color: rgb(100 116 139); }
.checkline{ display:flex; align-items:flex-start; gap:.5rem; }
.checkline .dot{ width:.45rem; height:.45rem; border-radius:9999px; background-color: var(--accent); margin-top:.5rem; flex:0 0 auto; }
.need-lead{ color: rgb(71 85 105); margin-top:.5rem; }

/* ===== Pricing ===== */
/* Pricing cards */
.plan-card{ position:relative; transition:border-color .2s ease, box-shadow .25s ease, background .25s ease; }
.plan-card.is-popular{ /* Keep only the badge; no permanent outline to avoid conflicting with selection */ }
.plan-badge{ position:absolute; top:10px; right:10px; padding:.25rem .5rem; font-size:.7rem; font-weight:700; color:#7a2e0e;
  background: #ffedd5; border:1px solid #fed7aa; border-radius:.5rem; letter-spacing:.03em; text-transform:uppercase; }
.plan-card:hover{ box-shadow: 0 12px 28px rgba(2,6,23,.08); }
.plan-cta{ }
.plan-card:hover .plan-cta{ transform: none; }

/* ===== Footer ===== */
.site-footer{
  margin-top: 5rem;
  padding-top: 3rem;
  background: linear-gradient(180deg, #0f172a 0%, #111c2f 65%, #132238 100%);
  color: rgba(226, 232, 240, .85);
  position: relative;
  overflow: hidden;
}

.site-footer::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(254,95,10,.22), transparent 55%),
              radial-gradient(circle at top right, rgba(16, 185, 129, .08), transparent 60%);
  opacity: .8;
  pointer-events: none;
}

.site-footer__inner{
  position: relative;
  display: grid;
  gap: 3rem;
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1.5rem 3rem;
}

.site-footer__brand{
  max-width: 22rem;
}

.site-footer .brand-wordmark{
  color: #f8fafc;
  font-size: 1.6rem;
}

.site-footer .brand-mark{
  color: var(--accent);
}

.site-footer__tagline{
  margin-top: 1rem;
  font-size: .95rem;
  line-height: 1.7;
  color: rgba(226, 232, 240, .7);
}

.site-footer__cta{
  display: inline-flex;
  margin-top: 1.35rem;
  padding: .7rem 1.1rem;
  border-radius: .9rem;
  background: rgba(254, 95, 10, .18);
  color: #fff;
  font-weight: 600;
  letter-spacing: .01em;
  transition: background .2s ease, transform .2s ease;
}

.site-footer__cta:hover{
  background: rgba(254, 95, 10, .28);
  transform: translateY(-1px);
}

.site-footer__grid{
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.site-footer__group{
  position: relative;
  padding-left: 1.2rem;
}

.site-footer__group::before{
  content: "";
  position: absolute;
  left: 0;
  top: .3rem;
  width: .18rem;
  height: calc(100% - .6rem);
  border-radius: 9999px;
  background: linear-gradient(180deg, rgba(254,95,10,.65), rgba(254,95,10,0));
}

.site-footer__title{
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 700;
  color: rgba(248, 250, 252, .9);
}

.site-footer__nav{
  margin-top: 1rem;
  display: grid;
  gap: .55rem;
  font-size: .95rem;
}

.site-footer__nav a{
  color: rgba(226, 232, 240, .75);
  transition: color .2s ease;
}

.site-footer__nav a:hover{
  color: #fff;
}

.site-footer__link{
  text-decoration: underline;
  text-decoration-color: rgba(254, 95, 10, .6);
  text-underline-offset: .25rem;
}

.site-footer__meta{
  color: rgba(226, 232, 240, .55);
  font-size: .85rem;
}

.site-footer__bottom{
  position: relative;
  padding: 1.2rem 1.5rem 2.5rem;
  border-top: 1px solid rgba(148, 163, 184, .2);
  text-align: center;
  font-size: .82rem;
  color: rgba(203, 213, 225, .7);
}

.site-footer__bottom p{
  margin: 0;
}

@media (max-width: 767px){
  .site-footer{
    margin-top: 4rem;
  }

  .site-footer__inner{
    gap: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .site-footer__brand{
    max-width: none;
  }
}

@media (min-width: 1024px){
  .site-footer__inner{
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.35fr);
    align-items: start;
    padding: 0 2rem 3.5rem;
  }

  .site-footer__grid{
    margin-left: auto;
  }
}
.plan-card-selected{ border-color: rgba(254,95,10,.55); box-shadow: 0 16px 36px rgba(254,95,10,.16); background: linear-gradient(180deg, #fffdfa, #fff6ef); }
.plan-card-selected .plan-cta{ transform: none; }

/* ===== Order form ===== */
/* Order form (passport-like) */
.passport-shell { position: relative; }
.passport-pattern {
  position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image:
    repeating-conic-gradient(from 0deg at 12% 16%, rgba(254,95,10,.04) 0 10deg, transparent 10deg 20deg),
    repeating-conic-gradient(from 180deg at 85% 6%, rgba(15,23,42,.035) 0 12deg, transparent 12deg 24deg),
    radial-gradient(1200px 600px at 120% -10%, rgba(254,95,10,.06), transparent 60%),
    radial-gradient(900px 600px at -20% 120%, rgba(15,23,42,.04), transparent 55%),
    repeating-linear-gradient(0deg, rgba(2,6,23,.035) 0px, rgba(2,6,23,.035) 1px, transparent 1px, transparent 14px);
}
.passport-stamp {
  position: absolute; top: 10px; right: 10px; width: 72px; height: 72px;
  border-radius: 9999px; border: 2px dashed rgba(254,95,10,.8);
  color: rgba(254,95,10,.9); font-weight: 800; font-size: 12px; letter-spacing: .08em;
  display: flex; align-items: center; justify-content: center; text-align: center;
  background: radial-gradient(circle at 30% 30%, rgba(254,95,10,.12), transparent 60%);
  transform: rotate(-12deg);
  user-select: none; pointer-events: none;
}
.passport-rosette{ position:absolute; top:14px; left:14px; width:86px; height:86px; pointer-events:none; opacity:.35; }
.passport-rosette::before{ content:''; position:absolute; inset:0; border-radius:9999px;
  background:
    radial-gradient(circle at 50% 50%, transparent 40%, rgba(254,95,10,.25) 41%, transparent 42%),
    repeating-conic-gradient(from 0deg, rgba(254,95,10,.15) 0 6deg, transparent 6deg 12deg);
  mask: radial-gradient(circle at 50% 50%, black 52%, transparent 53%), radial-gradient(circle at 50% 50%, transparent 34%, black 35%);
  -webkit-mask-composite: source-over;
          mask-composite: add;
}
.passport-watermark{ position:absolute; left:32px; top:120px; width:140px; height:140px; pointer-events:none; opacity:.18; filter: blur(.2px); }
.passport-watermark::before{ content:''; position:absolute; inset:0; border-radius:50%; background:
  repeating-radial-gradient(circle at 60% 40%, rgba(15,23,42,.4) 0 1px, transparent 1px 3px),
  radial-gradient(circle at 30% 30%, rgba(255,255,255,.6), transparent 60%);
}
.passport-micro{ position:relative; margin:14px 0; height:18px; border-top:1px dashed rgba(15,23,42,.15); border-bottom:1px dashed rgba(15,23,42,.15); overflow:hidden; }
.passport-micro-text{ position:absolute; inset:0; display:flex; align-items:center; white-space:nowrap; font-size:10px; letter-spacing:.18em; color:rgba(15,23,42,.45); text-transform:uppercase; }

.breakdown-row{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.45rem .75rem; border-radius:.75rem; background:rgba(148,163,184,.12); font-variant-numeric: tabular-nums; }
.breakdown-label{ font-weight:600; color:rgb(100 116 139); }
.breakdown-value{ color:rgb(71 85 105); }
.breakdown-total{ background:rgba(254,95,10,.12); color:rgb(15 23 42); }
.breakdown-total .breakdown-label{ color:rgb(15 23 42); font-weight:700; }
.breakdown-total .breakdown-value{ font-weight:700; }

.pp-label { font-size: .8rem; font-weight: 600; letter-spacing: .04em; color: rgb(71 85 105); text-transform: uppercase; }
.pp-input {
  background: rgba(255,255,255,.9);
  border: 1.5px solid rgb(203 213 225);
  border-radius: 0.75rem;
  padding: 12px 14px;
  min-height: 48px;
  font-size: 16px;
}
.pp-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(254,95,10,.12); }
.pp-input::placeholder { color: rgb(148 163 184); letter-spacing: .02em; }
.pp-mrz { background:#0f172a; color:#e5e7eb; border:1px solid #1f2937; border-radius:.75rem; }

/* Normalize date input appearance */
input[type="date"].pp-input { -webkit-appearance: none; appearance: none; font-weight: 500; color: rgb(15 23 42); font-variant-numeric: tabular-nums; }
input[type="date"].pp-input::-webkit-datetime-edit { padding: 0; color: inherit; }
input[type="date"].pp-input::-webkit-calendar-picker-indicator { opacity: .7; }
input[type="date"].pp-input::-webkit-calendar-picker-indicator:hover { opacity: 1; }

/* Passport MRZ pane gradient */
.pp-mrz-pane{
  --bg: radial-gradient(1200px 600px at 120% -10%, rgba(254,95,10,.06), transparent 60%),
        radial-gradient(900px 600px at -20% 120%, rgba(15,23,42,.04), transparent 55%);
  --ink: rgb(15 23 42);
  background:
    linear-gradient(#fff, #fff0 40% 60%, #fff),
    var(--bg);
  color: var(--ink);
}

@media (max-width: 767px) {
  .passport-pattern { opacity: .3; }
  .passport-rosette {
    width: 72px;
    height: 72px;
    top: 12px;
    left: 12px;
    opacity: .28;
  }
  .passport-stamp {
    width: 60px;
    height: 60px;
    top: 8px;
    right: 8px;
    font-size: 11px;
    letter-spacing: .06em;
  }
  .passport-watermark {
    top: 150px;
    left: 50%;
    width: 210px;
    height: 210px;
    opacity: .12;
    transform: translateX(-50%);
  }
  .passport-micro {
    margin: 12px 0;
    height: 16px;
  }
  .passport-micro-text {
    font-size: 9px;
    letter-spacing: .14em;
  }
}
