:root{
    --navy:#2B2A4C;
    --navy-rgb:43,42,76;
    --navy-alt:#38375E;
    --navy-light:#201F38;
    --parchment:#EAE1C6;
    --parchment-light:#F3ECD8;
    --stamp-red:#FF8A65;
    --seal-gold:#D9C25D;
    --sage:#57654A;
    --ink:#2A2A24;
    --line:rgba(42,42,36,0.22);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--navy);color:var(--parchment);font-family:'IBM Plex Mono',monospace;line-height:1.6;}
  h1,h2,h3{font-family:'Fraunces',serif;font-weight:500;margin:0;}
  .eyebrow{font-family:'Special Elite',monospace;letter-spacing:.12em;text-transform:uppercase;font-size:12px;}
  section{padding:110px 24px;max-width:980px;margin:0 auto;scroll-margin-top:64px;position:relative;}
  section.zone-a:before,section.zone-b:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;z-index:-1;}
  section.zone-a:before{background:var(--navy);}
  section.zone-b:before{background:var(--navy-alt);}
  .dashed{border-top:2px dashed rgba(234,225,198,0.35);}
  .gate{color:var(--seal-gold);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
  .gate:before{content:"";width:22px;height:1px;background:var(--seal-gold);display:inline-block;}

  /* ---------- NAV ---------- */
  .site-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(var(--navy-rgb),0.92);backdrop-filter:blur(6px);border-bottom:1px solid rgba(234,225,198,0.15);}
  .nav-inner{max-width:980px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px;}
  .nav-brand{font-family:'Fraunces',serif;font-size:15px;color:var(--parchment);letter-spacing:.02em;text-decoration:none;}
  .nav-links{display:flex;gap:2px;list-style:none;margin:0;padding:0;}
  .nav-links a{display:block;font-family:'Special Elite',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(234,225,198,0.6);text-decoration:none;padding:10px 12px;border-bottom:2px solid transparent;transition:color .25s ease, border-color .25s ease;}
  .nav-links a:hover{color:var(--parchment);}
  @media (max-width:640px){ .nav-links{gap:0;} .nav-links a{padding:8px 7px;font-size:9.5px;} .nav-brand{font-size:12px;} }

  /* ---------- NAV HIGHLIGHT (pure CSS, tracks whichever section is actually showing) ---------- */
  .nav-links a[data-nav="about"]{color:var(--seal-gold);border-color:var(--stamp-red);}
  body:has(:target):not(:has(#about:target)) .nav-links a[data-nav="about"]{color:rgba(234,225,198,0.6);border-color:transparent;}
  body:has(#languages:target) .nav-links a[data-nav="languages"]{color:var(--seal-gold);border-color:var(--stamp-red);}
  body:has(#experience:target) .nav-links a[data-nav="experience"]{color:var(--seal-gold);border-color:var(--stamp-red);}
  body:has(#education:target) .nav-links a[data-nav="education"]{color:var(--seal-gold);border-color:var(--stamp-red);}
  body:has(#documents:target) .nav-links a[data-nav="documents"]{color:var(--seal-gold);border-color:var(--stamp-red);}
  body:has(#skills:target) .nav-links a[data-nav="skills"]{color:var(--seal-gold);border-color:var(--stamp-red);}
  body:has(#postcards:target) .nav-links a[data-nav="postcards"]{color:var(--seal-gold);border-color:var(--stamp-red);}
  body:has(#contact:target) .nav-links a[data-nav="contact"]{color:var(--seal-gold);border-color:var(--stamp-red);}

  /* ---------- VIEW SWITCHING (pure CSS, no JS required) ---------- */
  .view{display:none;}
  .view:target{display:block;}
  #about{display:block;}
  :target ~ #about{display:none;}

  /* ---------- MOTION ---------- */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}
  .reveal.r-left{transform:translateX(-24px);}
  .reveal.r-left.in{transform:translateX(0);}
  .reveal.r-right{transform:translateX(24px);}
  .reveal.r-right.in{transform:translateX(0);}
  .ticket,.notebook-card,.lug-tag,.lang-stamp{transition:transform .3s ease, box-shadow .3s ease;}
  .ticket:hover{transform:translateY(-5px) rotate(0deg) !important;box-shadow:0 18px 30px rgba(0,0,0,0.3);}
  .notebook-card:hover{transform:translateY(-4px);box-shadow:0 16px 26px rgba(0,0,0,0.28);}
  .lug-tag:hover{transform:translateY(-4px) rotate(0deg) !important;}
  .lang-stamp:hover{transform:scale(1.06) rotate(0deg) !important;border-color:var(--stamp-red);}
  .lang-row .reveal:nth-child(1){transition-delay:0s;} .lang-row .reveal:nth-child(2){transition-delay:.06s;}
  .lang-row .reveal:nth-child(3){transition-delay:.12s;} .lang-row .reveal:nth-child(4){transition-delay:.18s;}
  .lang-row .reveal:nth-child(5){transition-delay:.24s;} .lang-row .reveal:nth-child(6){transition-delay:.3s;}
  .tag-cluster .reveal:nth-child(1){transition-delay:0s;} .tag-cluster .reveal:nth-child(2){transition-delay:.04s;}
  .tag-cluster .reveal:nth-child(3){transition-delay:.08s;} .tag-cluster .reveal:nth-child(4){transition-delay:.12s;}
  .tag-cluster .reveal:nth-child(5){transition-delay:.16s;} .tag-cluster .reveal:nth-child(6){transition-delay:.2s;}
  .tag-cluster .reveal:nth-child(7){transition-delay:.24s;} .tag-cluster .reveal:nth-child(8){transition-delay:.28s;}
  .tag-cluster .reveal:nth-child(9){transition-delay:.32s;} .tag-cluster .reveal:nth-child(10){transition-delay:.36s;}
  .tag-cluster .reveal:nth-child(11){transition-delay:.4s;} .tag-cluster .reveal:nth-child(12){transition-delay:.44s;}

  /* ---------- HERO ---------- */
  .hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;position:relative;overflow:hidden;}
  .hero:before{content:"";position:absolute;inset:0;background:
    repeating-linear-gradient(115deg, rgba(234,225,198,0.03) 0 2px, transparent 2px 60px);
    pointer-events:none;}
  .boarding-pass{
    background:var(--parchment);color:var(--ink);width:100%;max-width:680px;
    transform:rotate(-1.2deg);box-shadow:0 30px 60px rgba(0,0,0,0.35);
    position:relative;display:grid;grid-template-columns:1fr auto;
  }
  .bp-main{padding:40px 36px;}
  .bp-stub{background:var(--parchment-light);padding:40px 24px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;border-left:2px dashed rgba(42,42,36,0.3);position:relative;min-width:150px;}
  .bp-stub:before,.bp-stub:after{content:"";position:absolute;width:26px;height:26px;background:var(--navy);border-radius:50%;left:-13px;}
  .bp-stub:before{top:-13px;}
  .bp-stub:after{bottom:-13px;}
  .bp-field-label{font-family:'Special Elite',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-bottom:2px;}
  .bp-field{margin-bottom:18px;}
  .bp-field-value{font-size:15px;font-weight:500;}
  .bp-contact-value{font-size:12px;}
  .bp-name{font-family:'Fraunces',serif;font-size:clamp(34px,6vw,54px);font-weight:600;line-height:1;margin:6px 0 10px;}
  .bp-route{font-family:'Special Elite',monospace;font-size:12px;color:var(--stamp-red);letter-spacing:.04em;margin-bottom:22px;line-height:1.7;}
  .barcode{height:44px;background:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 5px, var(--ink) 5px 6px, transparent 6px 11px);opacity:.85;margin-top:16px;}
  .bp-seat{font-family:'Special Elite',monospace;font-size:34px;color:var(--navy);}
  .hero-tag{margin-top:28px;font-size:14px;text-align:center;color:rgba(234,225,198,0.75);max-width:520px;}
  .scroll-cue{margin-top:36px;font-family:'Special Elite',monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(234,225,198,0.5);}

  /* ---------- ABOUT / PHOTO PAGE ---------- */
  .about{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start;}
  .photo-box{background:var(--parchment);color:var(--ink);padding:18px;position:relative;}
  .photo-inner{aspect-ratio:3/4;background:var(--navy-light);display:flex;align-items:center;justify-content:center;position:relative;}
  .monogram{font-family:'Fraunces',serif;font-size:64px;color:var(--parchment);}
  .stamp{position:absolute;border:2.5px solid var(--stamp-red);color:var(--stamp-red);border-radius:50%;width:110px;height:110px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Special Elite',monospace;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;transform:rotate(-18deg);opacity:.88;line-height:1.3;top:-20px;right:-30px;background:rgba(234,225,198,0.0);}
  .stamp:after{content:"";position:absolute;inset:6px;border:1px solid var(--stamp-red);border-radius:50%;}
  .about-copy{background:var(--parchment);color:var(--ink);padding:32px 36px;}
  .field-notes-label{color:var(--sage);margin-bottom:10px;}
  .lined-notes{background-image:repeating-linear-gradient(180deg, transparent 0 31px, var(--line) 31px 32px);}
  .lined-notes p{margin:0 0 32px;font-size:14.5px;line-height:32px;}
  .lined-notes p:last-child{margin-bottom:0;}
  .margin-note{color:var(--sage);font-family:'Special Elite',monospace;font-size:12px;border-left:2px solid var(--sage);padding-left:10px;margin-top:24px;}

  /* ---------- LANGUAGE STAMPS ---------- */
  .lang-row{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;margin-top:36px;}
  .lang-stamp{width:104px;height:104px;border-radius:50%;border:2px dashed var(--seal-gold);color:var(--parchment);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
  .lang-stamp:nth-child(2n){transform:rotate(6deg);}
  .lang-stamp:nth-child(3n){transform:rotate(-7deg);}
  .lang-name{font-family:'Fraunces',serif;font-size:15px;}
  .lang-level{font-family:'Special Elite',monospace;font-size:11px;color:var(--seal-gold);margin-top:4px;}

  /* ---------- ITINERARY / EXPERIENCE ---------- */
  .itinerary{position:relative;padding-left:36px;margin-top:56px;}
  .itinerary:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:0;border-left:2px dashed rgba(234,225,198,0.35);}
  .stop{position:relative;margin-bottom:44px;opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease;}
  .stop.in{opacity:1;transform:translateY(0);}
  .stop:before{content:"";position:absolute;left:-36px;top:8px;width:13px;height:13px;border-radius:50%;background:var(--stamp-red);border:2px solid var(--navy);}
  .ticket{background:var(--parchment);color:var(--ink);display:grid;grid-template-columns:1fr auto;transform:rotate(.4deg);}
  .ticket:nth-child(even){transform:rotate(-.4deg);}
  .ticket-main{padding:24px 28px;}
  .ticket-role{font-family:'Fraunces',serif;font-size:20px;margin-bottom:2px;}
  .ticket-org{font-size:13px;color:var(--sage);margin-bottom:14px;}
  .ticket-main ul{margin:0;padding-left:18px;font-size:13.5px;}
  .ticket-main li{margin-bottom:8px;}
  .ticket-dates{background:var(--parchment-light);border-left:2px dashed rgba(42,42,36,0.3);padding:20px 18px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-width:130px;}
  .ticket-dates .eyebrow{color:var(--sage);margin-bottom:6px;}
  .ticket-secondary-label{margin-top:10px;}
  .ticket-dates .val{font-family:'Special Elite',monospace;font-size:13px;}

  /* ---------- EDUCATION ---------- */
  .notebook-card{background:var(--parchment);color:var(--ink);padding:30px 34px;position:relative;margin-bottom:28px;}
  .tape{position:absolute;top:-10px;width:70px;height:22px;background:rgba(201,154,46,0.55);transform:rotate(-3deg);}
  .tape.left{left:24px;}
  .tape.right{right:24px;transform:rotate(3deg);}
  .degree-title{font-family:'Fraunces',serif;font-size:22px;margin-bottom:2px;}
  .degree-meta{font-size:13px;color:var(--sage);margin-bottom:14px;}
  .notebook-card ul{margin:0;padding-left:18px;font-size:13.5px;}
  .notebook-card li{margin-bottom:8px;}
  .thesis-line{font-style:italic;font-family:'Fraunces',serif;font-size:15px;color:var(--stamp-red);}

  /* ---------- SKILLS / LUGGAGE TAGS ---------- */
  .tag-cluster{display:flex;flex-wrap:wrap;gap:18px;margin-top:32px;}
  .lug-tag{background:var(--parchment);color:var(--ink);padding:10px 16px 10px 26px;font-size:13px;position:relative;border-radius:2px 10px 10px 2px;box-shadow:0 6px 14px rgba(0,0,0,0.25);}
  .lug-tag:before{content:"";position:absolute;left:9px;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:var(--stamp-red);}
  .lug-tag:nth-child(odd){transform:rotate(-2deg);}
  .lug-tag:nth-child(even){transform:rotate(2deg);}

  /* ---------- FOOTER / EXIT STAMP ---------- */
  footer{padding:80px 24px 60px;text-align:center;border-top:2px dashed rgba(234,225,198,0.25);}
  .footer-gate{justify-content:center;}
  .exit-stamp{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;border-radius:50%;border:3px solid var(--seal-gold);color:var(--seal-gold);font-family:'Special Elite',monospace;font-size:13px;letter-spacing:.06em;text-transform:uppercase;transform:rotate(-8deg);margin-bottom:28px;line-height:1.4;}
  footer .contact{font-size:14px;margin-bottom:6px;}
  footer a{color:var(--parchment);}
  footer .fine-print{margin-top:24px;font-size:11.5px;color:rgba(234,225,198,0.45);}

  /* ---------- DOCUMENTS / PDF CARD ---------- */
  .doc-card{background:var(--parchment);color:var(--ink);display:flex;align-items:center;gap:20px;padding:26px 28px;margin-top:32px;transform:rotate(-.4deg);transition:transform .3s ease, box-shadow .3s ease;box-shadow:0 12px 24px rgba(0,0,0,0.22);}
  .doc-card:hover{transform:translateY(-4px) rotate(0deg);box-shadow:0 18px 30px rgba(0,0,0,0.3);}
  .doc-icon{font-size:28px;color:var(--stamp-red);flex-shrink:0;}
  .doc-copy{flex:1;}
  .doc-title{font-family:'Fraunces',serif;font-size:18px;margin-bottom:3px;}
  .doc-meta{font-size:12.5px;color:var(--sage);}
  .doc-download{font-family:'Special Elite',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--parchment);background:var(--navy);padding:12px 18px;text-decoration:none;white-space:nowrap;transition:background .25s ease;}
  .doc-download:hover{background:var(--stamp-red);}

  /* ---------- POSTCARD ENTRIES ---------- */
  .postcard-entry{background:var(--parchment);color:var(--ink);display:grid;grid-template-columns:220px 1fr;gap:0;margin:32px 0;transform:rotate(-.6deg);box-shadow:0 16px 30px rgba(0,0,0,0.28);position:relative;}
  .postcard-photo{position:relative;overflow:hidden;}
  .postcard-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.18) contrast(1.02);}
  .postcard-stamp{position:absolute;top:14px;right:14px;width:56px;height:56px;border-radius:50%;border:2px solid var(--parchment);color:var(--parchment);background:rgba(178,58,46,0.85);display:flex;align-items:center;justify-content:center;font-family:'Special Elite',monospace;font-size:11px;letter-spacing:.03em;text-align:center;transform:rotate(8deg);}
  .postcard-note{padding:26px 30px;background-image:repeating-linear-gradient(180deg, transparent 0 31px, var(--line) 31px 32px);display:flex;flex-direction:column;justify-content:center;}
  .postcard-location{font-family:'Special Elite',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);margin-bottom:10px;}
  .postcard-text{font-family:'Fraunces',serif;font-style:italic;font-size:16px;line-height:1.55;color:var(--ink);margin:0;}
  .postcard-more{margin-top:8px;}

  /* ---------- POSTCARDS EMPTY STATE ---------- */
  .postcard-frame{max-width:640px;margin:44px auto;box-shadow:0 20px 36px rgba(0,0,0,0.35);transition:transform .3s ease, box-shadow .3s ease;position:relative;}
  .postcard-frame img{display:block;width:100%;height:auto;}
  .postcard-frame:nth-of-type(odd){transform:rotate(-1.1deg);}
  .postcard-frame:nth-of-type(even){transform:rotate(1.1deg);}
  .postcard-frame:hover{transform:translateY(-6px) rotate(0deg);box-shadow:0 26px 44px rgba(0,0,0,0.4);}
  .postcard-year{text-align:center;font-family:'Special Elite',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--seal-gold);margin:0 0 12px;}

  .postcard-empty{border:2px dashed rgba(234,225,198,0.3);padding:36px 32px;margin-top:32px;text-align:center;}
  .postcard-empty-title{font-family:'Fraunces',serif;font-style:italic;font-size:19px;color:var(--seal-gold);margin-bottom:10px;}
  .postcard-empty-body{font-size:13.5px;color:rgba(234,225,198,0.7);max-width:460px;margin:0 auto;}

  h2.section-title{font-size:clamp(24px,3.4vw,32px);margin-bottom:8px;}
  .section-sub{color:rgba(234,225,198,0.6);font-size:13.5px;margin-bottom:8px;}

  @media (max-width:720px){
    .about{grid-template-columns:1fr;}
    .boarding-pass,.ticket{grid-template-columns:1fr;}
    .bp-stub{border-left:none;border-top:2px dashed rgba(42,42,36,0.3);}
    .ticket-dates{border-left:none;border-top:2px dashed rgba(42,42,36,0.3);}
    .doc-card{flex-wrap:wrap;text-align:center;justify-content:center;}
    .postcard-entry{grid-template-columns:1fr;}
    .postcard-photo{aspect-ratio:4/3;}
  }
  @media (prefers-reduced-motion: reduce){
    .stop,.reveal{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }
