.theme-passport { --pp-navy:#20384c; --pp-red:#b93b35; --pp-ink:#29271f; --pp-muted:#6c685c; --pp-paper:#f3edda; --pp-paper-dark:#e6dcc1; --pp-gold:#b99b58; min-height:100vh; background:#9ab0ad; color:var(--pp-ink); }
.theme-passport .passport-page { min-height:100dvh; overflow:hidden; background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.35),transparent 28%),linear-gradient(135deg,#77918e,#bcc8c2); font-family:"IBM Plex Sans",Inter,sans-serif; }
.theme-passport .pp-airport-bar { position:fixed; z-index:40; top:0; right:0; left:0; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:64px; padding:8px clamp(18px,4vw,64px); border-bottom:1px solid rgba(255,255,255,.35); background:rgba(25,43,55,.92); color:#fff; backdrop-filter:blur(16px); }
.theme-passport .pp-mark,.theme-passport .pp-download { display:inline-flex; min-height:44px; align-items:center; gap:10px; color:#fff; font-weight:800; text-decoration:none; }
.theme-passport .pp-mark { justify-self:start; text-transform:uppercase; }
.theme-passport .pp-mark i { color:var(--accent); font-size:20px; }
.theme-passport .pp-flight { display:flex; align-items:center; gap:15px; font:700 12px/1 "Courier New",monospace; letter-spacing:.18em; }
.theme-passport .pp-flight i { color:var(--accent); transform:rotate(8deg); }
.theme-passport .pp-download { justify-self:end; padding:0 16px; border:1px solid rgba(255,255,255,.45); }
.theme-passport .pp-desk { display:grid; min-height:100dvh; place-items:center; padding:92px clamp(18px,4vw,70px) 96px; }
.theme-passport .pp-book { position:relative; width:min(1540px,94vw); height:min(820px,calc(100dvh - 188px)); min-height:580px; filter:drop-shadow(0 24px 35px rgba(23,35,34,.35)); perspective:1800px; }
.theme-passport .pp-binding { position:absolute; z-index:8; top:0; bottom:0; left:50%; width:34px; transform:translateX(-50%); background:linear-gradient(90deg,transparent,rgba(40,32,21,.25) 45%,rgba(255,255,255,.25) 51%,transparent); pointer-events:none; }
.theme-passport .pp-spread { display:grid; grid-template-columns:1fr 1fr; width:100%; height:100%; transform-origin:center; }
.theme-passport .passport-ready .pp-spread:not(.is-active) { display:none; }
.theme-passport .pp-spread.is-turning { animation:pp-page-in .32s cubic-bezier(.22,.8,.3,1); }
.theme-passport .pp-page { position:relative; min-width:0; overflow:hidden; padding:clamp(32px,4vw,68px); background-color:var(--pp-paper); background-image:linear-gradient(rgba(85,65,30,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(85,65,30,.025) 1px,transparent 1px); background-size:24px 24px; }
.theme-passport .pp-page-left { border-radius:20px 2px 2px 20px; box-shadow:inset -18px 0 28px rgba(68,50,24,.12); }
.theme-passport .pp-page-right { border-radius:2px 20px 20px 2px; box-shadow:inset 18px 0 28px rgba(68,50,24,.1); }
.theme-passport .pp-page::after { position:absolute; right:24px; bottom:18px; color:rgba(58,45,25,.34); content:"PRATIKCV · PASSPORT"; font:700 9px/1 "Courier New",monospace; letter-spacing:.16em; }
.theme-passport .pp-page-scroll { overflow-y:auto; scrollbar-color:var(--pp-red) transparent; scrollbar-width:thin; }
.theme-passport .pp-country { display:block; color:var(--pp-navy); font:700 clamp(20px,2.2vw,36px)/1.1 "Libre Baskerville",serif; text-align:center; text-transform:uppercase; }
.theme-passport .pp-id-photo { display:grid; width:min(230px,48%); aspect-ratio:3/4; place-items:center; margin:34px auto 24px; overflow:hidden; border:8px solid #e8e2d2; outline:1px solid rgba(30,45,55,.3); background:#c8d4d1; }
.theme-passport .pp-id-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.04); }
.theme-passport .pp-id-photo>span { color:var(--pp-navy); font:800 clamp(64px,8vw,120px)/1 Inter,sans-serif; }
.theme-passport .pp-machine-code { margin:0 auto 24px; overflow:hidden; color:var(--pp-navy); font:700 12px/1.2 "Courier New",monospace; letter-spacing:.08em; text-align:center; white-space:nowrap; }
.theme-passport .pp-id-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0; }
.theme-passport .pp-id-grid div { border-top:1px solid rgba(37,52,62,.25); padding-top:9px; }
.theme-passport dt { color:var(--pp-red); font:700 10px/1.2 "Courier New",monospace; letter-spacing:.09em; text-transform:uppercase; }
.theme-passport dd { margin:6px 0 0; overflow-wrap:anywhere; font-weight:700; }
.theme-passport .pp-cover-copy { display:flex; flex-direction:column; justify-content:center; }
.theme-passport .pp-cover-copy h1 { max-width:10ch; margin:18px 0 8px; color:var(--pp-navy); font:700 clamp(54px,6.2vw,110px)/.86 "Cormorant Garamond",serif; letter-spacing:-.05em; }
.theme-passport .pp-cover-copy h2 { margin:0 0 24px; color:var(--pp-red); font-size:clamp(18px,2vw,30px); }
.theme-passport .pp-cover-copy>p:last-of-type { max-width:60ch; margin:0; color:var(--pp-muted); font-size:clamp(15px,1.2vw,19px); line-height:1.65; }
.theme-passport .pp-eyebrow,.theme-passport .pp-form-number { margin:0; color:var(--pp-muted); font:700 10px/1.2 "Courier New",monospace; letter-spacing:.14em; text-transform:uppercase; }
.theme-passport .pp-entry-stamp { position:absolute; top:38px; right:42px; display:grid; width:112px; aspect-ratio:1; place-items:center; transform:rotate(9deg); border:4px double var(--pp-red); border-radius:50%; color:var(--pp-red); font:800 10px/1.1 "Courier New",monospace; text-align:center; text-transform:uppercase; }
.theme-passport .pp-entry-stamp b { display:block; font-size:18px; }
.theme-passport .pp-open-book { display:inline-flex; min-height:48px; align-items:center; align-self:flex-start; gap:18px; margin-top:30px; padding:0 22px; border:0; background:var(--pp-navy); color:#fff; font-weight:800; cursor:pointer; }
.theme-passport .pp-page-title { display:flex; align-items:flex-start; gap:18px; margin-bottom:clamp(28px,4vh,48px); }
.theme-passport .pp-page-title>span { display:grid; flex:0 0 52px; width:52px; aspect-ratio:1; place-items:center; border:2px solid var(--pp-red); border-radius:50%; color:var(--pp-red); font-weight:800; }
.theme-passport .pp-page-title>div { min-width:0; }
.theme-passport .pp-page-title small { display:block; margin-bottom:7px; color:var(--pp-red); font:700 10px/1 "Courier New",monospace; letter-spacing:.12em; text-transform:uppercase; }
.theme-passport .pp-page-title h2 { margin:0; color:var(--pp-navy); font:700 clamp(42px,4.3vw,76px)/.92 "Cormorant Garamond",serif; letter-spacing:-.035em; overflow-wrap:anywhere; }
.theme-passport .pp-declaration { margin:0; font:500 clamp(19px,1.7vw,28px)/1.58 "Libre Baskerville",serif; }
.theme-passport .pp-round-stamp { position:absolute; right:12%; bottom:12%; display:grid; width:130px; aspect-ratio:1; place-items:center; transform:rotate(-12deg); border:5px double rgba(32,56,76,.5); border-radius:50%; color:rgba(32,56,76,.58); font:800 13px/1.3 "Courier New",monospace; text-align:center; }
.theme-passport .pp-contact-sheet { margin:30px 0 0; border-top:2px solid var(--pp-navy); }
.theme-passport .pp-contact-sheet div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:18px; padding:18px 0; border-bottom:1px dashed rgba(39,39,31,.28); }
.theme-passport .pp-contact-sheet a { color:inherit; }
.theme-passport .pp-socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.theme-passport .pp-socials a { display:grid; width:44px; height:44px; place-items:center; border:1px solid var(--pp-navy); color:var(--pp-navy); text-decoration:none; }
.theme-passport .pp-section-intro { display:flex; flex-direction:column; }
.theme-passport .pp-section-intro>i { margin:auto; color:rgba(32,56,76,.12); font-size:clamp(120px,17vw,260px); }
.theme-passport .pp-section-intro>p { max-width:34ch; color:var(--pp-muted); }
.theme-passport .pp-visa-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.theme-passport .pp-visa-grid article { position:relative; min-width:0; padding:24px; overflow:hidden; border:1px solid rgba(32,56,76,.35); background:rgba(255,255,255,.35); }
.theme-passport .pp-visa-head { display:flex; justify-content:space-between; gap:12px; color:var(--pp-red); font:700 10px/1.2 "Courier New",monospace; }
.theme-passport .pp-visa-grid h3 { margin:20px 0 5px; color:var(--pp-navy); font:700 clamp(20px,1.7vw,28px)/1.1 "Libre Baskerville",serif; }
.theme-passport .pp-visa-grid p { margin:0; color:var(--pp-muted); }
.theme-passport .pp-visa-grid ul,.theme-passport .pp-ticket-list ul { margin:15px 0 0; padding-left:18px; font-size:13px; line-height:1.55; }
.theme-passport .pp-visa-seal { position:absolute; right:-10px; bottom:-12px; display:grid; width:78px; aspect-ratio:1; place-items:center; transform:rotate(-15deg); border:3px double rgba(185,59,53,.28); border-radius:50%; color:rgba(185,59,53,.35); font:800 16px/1 "Courier New",monospace; }
.theme-passport .pp-departure-note { max-width:28ch; color:var(--pp-muted); font:600 18px/1.5 "Libre Baskerville",serif; }
.theme-passport .pp-route-map { display:flex; align-items:center; gap:20px; margin-top:70px; color:var(--pp-navy); font:800 12px/1 "Courier New",monospace; }
.theme-passport .pp-route-map::before,.theme-passport .pp-route-map::after { height:1px; flex:1; border-top:2px dashed var(--pp-red); content:""; }
.theme-passport .pp-route-map i { color:var(--pp-red); font-size:32px; }
.theme-passport .pp-ticket-list { display:grid; gap:18px; }
.theme-passport .pp-ticket-list article { display:grid; grid-template-columns:minmax(0,1fr) 90px; border:2px solid var(--pp-navy); background:#f8f3e7; }
.theme-passport .pp-ticket-main { padding:20px; }
.theme-passport .pp-ticket-main>span { color:var(--pp-red); font:800 10px/1 "Courier New",monospace; text-transform:uppercase; }
.theme-passport .pp-ticket-main h3 { margin:10px 0; color:var(--pp-navy); font:700 clamp(21px,2vw,32px)/1 "Libre Baskerville",serif; }
.theme-passport .pp-ticket-main>p { display:flex; justify-content:space-between; gap:15px; margin:0; color:var(--pp-muted); font-size:12px; }
.theme-passport .pp-ticket-stub { display:flex; flex-direction:column; align-items:center; justify-content:space-around; border-left:2px dashed var(--pp-navy); }
.theme-passport .pp-ticket-stub>i { transform:rotate(90deg); font-size:42px; }
.theme-passport .pp-ticket-stub a { display:grid; width:44px; height:44px; place-items:center; background:var(--pp-red); color:#fff; text-decoration:none; }
.theme-passport .pp-entry-stamps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.theme-passport .pp-entry-stamps article { position:relative; min-height:190px; padding:24px; transform:rotate(calc((var(--i,0) - .5) * 2deg)); border:4px double var(--pp-navy); border-radius:50% 46% 52% 48%; text-align:center; }
.theme-passport .pp-entry-stamps article>span { color:var(--pp-red); font:800 20px/1 "Courier New",monospace; }
.theme-passport .pp-entry-stamps time { display:block; margin:12px 0; color:var(--pp-muted); font-size:12px; }
.theme-passport .pp-entry-stamps h3 { margin:0; color:var(--pp-navy); font:700 23px/1.1 "Libre Baskerville",serif; }
.theme-passport .pp-entry-stamps p { margin:8px 0 0; }
.theme-passport .pp-baggage-tags { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.theme-passport .pp-baggage-tags article { position:relative; padding:22px 20px 20px 58px; border:2px solid var(--pp-navy); border-radius:8px 30px 8px 8px; background:#e8c970; }
.theme-passport .pp-baggage-tags article::before { position:absolute; top:16px; left:16px; width:18px; aspect-ratio:1; border:2px solid var(--pp-navy); border-radius:50%; background:var(--pp-paper); content:""; }
.theme-passport .pp-baggage-tags article>i { position:absolute; top:19px; left:19px; font-size:12px; }
.theme-passport .pp-baggage-tags article>span { color:var(--pp-red); font:800 10px/1 "Courier New",monospace; }
.theme-passport .pp-baggage-tags h3 { margin:8px 0 4px; color:var(--pp-navy); font:700 24px/1.1 "Libre Baskerville",serif; }
.theme-passport .pp-baggage-tags p { margin:0; font-size:13px; }
.theme-passport .pp-seal-list { display:grid; gap:18px; }
.theme-passport .pp-seal-list article { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:center; gap:22px; padding:18px 0; border-bottom:1px dashed rgba(32,56,76,.4); }
.theme-passport .pp-seal-list article>i { display:grid; width:88px; aspect-ratio:1; place-items:center; border:4px double var(--pp-red); border-radius:50%; color:var(--pp-red); font-size:34px; }
.theme-passport .pp-seal-list time { color:var(--pp-red); font:700 10px/1 "Courier New",monospace; }
.theme-passport .pp-seal-list h3 { margin:7px 0 3px; color:var(--pp-navy); font:700 23px/1.1 "Libre Baskerville",serif; }
.theme-passport .pp-seal-list p { margin:0; color:var(--pp-muted); }
.theme-passport .pp-language-stamps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; height:100%; align-content:center; }
.theme-passport .pp-language-stamps article { display:grid; aspect-ratio:1.45; place-items:center; transform:rotate(-4deg); border:5px double var(--pp-navy); border-radius:50%; color:var(--pp-navy); text-align:center; }
.theme-passport .pp-language-stamps article:nth-child(even) { transform:rotate(5deg); border-color:var(--pp-red); color:var(--pp-red); }
.theme-passport .pp-language-stamps article>span { font:700 clamp(22px,2vw,32px)/1 "Libre Baskerville",serif; }
.theme-passport .pp-language-stamps article div { display:flex; gap:4px; }
.theme-passport .pp-language-stamps article div i { width:10px; aspect-ratio:1; border:1px solid currentColor; border-radius:50%; }
.theme-passport .pp-language-stamps article div i.is-on { background:currentColor; }
.theme-passport .pp-language-stamps small { font-weight:800; }
.theme-passport .pp-contact h3 { max-width:16ch; color:var(--pp-navy); font:700 clamp(28px,3vw,48px)/1.08 "Libre Baskerville",serif; }
.theme-passport .pp-contact-links { display:grid; gap:12px; margin-top:28px; }
.theme-passport .pp-contact-links>a,.theme-passport .pp-contact-links>span { display:flex; min-height:44px; align-items:center; gap:12px; color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.theme-passport .pp-contact-links i { display:grid; width:44px; height:44px; flex:0 0 44px; place-items:center; border:1px solid var(--pp-navy); color:var(--pp-red); }
.theme-passport .pp-arrival-form { padding:26px; border:2px solid var(--pp-navy); background:rgba(255,255,255,.35); }
.theme-passport .pp-arrival-form label>span { color:var(--pp-navy); font:700 10px/1 "Courier New",monospace; letter-spacing:.08em; text-transform:uppercase; }
.theme-passport .pp-arrival-form input,.theme-passport .pp-arrival-form textarea { border:0; border-bottom:1px solid var(--pp-navy); border-radius:0; background:transparent; }
.theme-passport .pp-arrival-form button { min-height:48px; border:0; border-radius:0; background:var(--pp-red); color:#fff; }
.theme-passport .pp-controls { position:fixed; z-index:42; right:clamp(12px,3vw,48px); bottom:18px; left:clamp(12px,3vw,48px); display:grid; grid-template-columns:48px minmax(0,1fr) auto 48px; align-items:center; gap:10px; min-height:62px; padding:7px; border:1px solid rgba(255,255,255,.3); background:rgba(25,43,55,.94); color:#fff; backdrop-filter:blur(14px); }
.theme-passport .pp-controls>button { display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(255,255,255,.35); background:var(--accent); color:var(--pp-navy); cursor:pointer; }
.theme-passport .pp-index { display:flex; min-width:0; align-items:center; gap:5px; overflow-x:auto; scrollbar-width:none; }
.theme-passport .pp-index::-webkit-scrollbar { display:none; }
.theme-passport .pp-index a { display:flex; min-width:44px; min-height:44px; align-items:center; gap:7px; padding:0 10px; color:#fff; font:700 9px/1 "Courier New",monospace; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.theme-passport .pp-index a b { display:none; }
.theme-passport .pp-index a[aria-selected="true"] { background:#fff; color:var(--pp-navy); }
.theme-passport .pp-index a[aria-selected="true"] b { display:block; }
.theme-passport .pp-counter { display:flex; gap:4px; min-width:62px; justify-content:center; font:700 11px/1 "Courier New",monospace; }
.theme-passport :is(a,button,input,textarea):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.theme-passport :is(a,button):active { opacity:.72; }
@keyframes pp-page-in { from { opacity:.3; transform:rotateY(-5deg) scale(.985); } to { opacity:1; transform:none; } }

@media(max-width:980px) {
  .theme-passport .pp-book { height:calc(100dvh - 176px); min-height:520px; }
  .theme-passport .pp-page { padding:32px; }
  .theme-passport .pp-id-grid { grid-template-columns:1fr; }
  .theme-passport .pp-id-photo { width:min(190px,65%); margin-block:20px; }
  .theme-passport .pp-visa-grid,.theme-passport .pp-entry-stamps,.theme-passport .pp-baggage-tags { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .theme-passport .passport-page { min-height:100dvh; overflow-x:hidden; }
  .theme-passport .pp-airport-bar { grid-template-columns:1fr auto; min-height:58px; padding:7px 14px; }
  .theme-passport .pp-flight { display:none; }
  .theme-passport .pp-download { min-width:44px; justify-content:center; padding:0; font-size:0; }
  .theme-passport .pp-download i { font-size:14px; }
  .theme-passport .pp-desk { min-height:100dvh; padding:76px 12px 82px; }
  .theme-passport .pp-book { width:100%; height:calc(100dvh - 158px); min-height:500px; filter:drop-shadow(0 14px 20px rgba(23,35,34,.28)); }
  .theme-passport .pp-binding { display:none; }
  .theme-passport .pp-spread { grid-template-columns:1fr; height:100%; overflow-y:auto; border-radius:14px; background:var(--pp-paper); scrollbar-color:var(--pp-red) transparent; scrollbar-width:thin; }
  .theme-passport .pp-page { min-height:auto; overflow:visible; padding:28px 24px; border-radius:0; box-shadow:none; }
  .theme-passport .pp-cover .pp-page-left { min-height:620px; }
  .theme-passport .pp-cover .pp-page-right { min-height:520px; }
  .theme-passport .pp-page-left:first-child { border-radius:14px 14px 0 0; }
  .theme-passport .pp-page-right:last-child { border-radius:0 0 14px 14px; }
  .theme-passport .pp-country { font-size:20px; }
  .theme-passport .pp-cover-copy h1 { font-size:clamp(52px,17vw,76px); }
  .theme-passport .pp-entry-stamp { position:relative; top:auto; right:auto; width:90px; margin:0 0 20px auto; }
  .theme-passport .pp-page-title { gap:12px; }
  .theme-passport .pp-page-title>span { flex-basis:44px; width:44px; }
  .theme-passport .pp-page-title h2 { font-size:clamp(36px,12vw,54px); }
  .theme-passport .pp-section-intro { min-height:360px; }
  .theme-passport .pp-page-scroll { overflow:visible; }
  .theme-passport .pp-visa-grid,.theme-passport .pp-entry-stamps,.theme-passport .pp-baggage-tags,.theme-passport .pp-language-stamps { grid-template-columns:1fr; }
  .theme-passport .pp-language-stamps article { aspect-ratio:1.8; }
  .theme-passport .pp-contact-sheet div { grid-template-columns:1fr; gap:6px; }
  .theme-passport .pc-form-row { grid-template-columns:1fr; }
  .theme-passport .pp-controls { right:8px; bottom:8px; left:8px; grid-template-columns:44px minmax(0,1fr) auto 44px; min-height:58px; }
  .theme-passport .pp-controls>button { width:44px; height:44px; }
  .theme-passport .pp-index { justify-content:flex-start; }
  .theme-passport .pp-index a { padding:0 8px; }
  .theme-passport .pp-counter { min-width:48px; }
}
@media(prefers-reduced-motion:reduce) { .theme-passport .pp-spread.is-turning { animation:none; } }
.theme-passport.motion-kapali .pp-spread.is-turning { animation:none; }
.theme-passport.design-card-preview .pp-airport-bar,.theme-passport.design-card-preview .pp-controls { position:absolute; }
