@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Courier+Prime:ital,wght@0,400;0,700;1,400&family=Dawning+of+a+New+Day&display=swap');
/* Emma K. Rojas site styles. Loaded on every page from the site folder. */
.ekr{--paper:#EEEAE3;--card:#F6F3EE;--ink:#231F21;--slate:#4E5661;--rose:#8E6B65;--tape:rgba(232,221,182,.88);
  position:relative;min-height:100vh;box-sizing:border-box;background:var(--paper);color:var(--ink);font-family:'Libre Baskerville',Georgia,serif;overflow:hidden}
.ekr a{color:inherit}
.ekr .mono{font-family:'Courier Prime','Courier New',monospace}
.ekr .tex{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ekr .wrap{position:relative;box-sizing:border-box;width:min(1240px,100%);margin:0 auto;padding-left:max(20px,4vw);padding-right:max(20px,4vw)}
.ekr .hdr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-block:30px 0;z-index:40}
.ekr .hdr .logo{display:block;padding:6px 0}
.ekr .hdr .logo img{height:30px;width:auto;display:block}
.ekr .hdr.wrap{width:100%;padding-left:max(20px,4vw);padding-right:max(20px,4vw)}
.ekr .nav{display:flex;flex-wrap:wrap;gap:4px 26px}
.ekr .nav a,.ekr .bignav a{position:relative;isolation:isolate;text-decoration:none;width:fit-content}
.ekr .nav a{font-family:'Courier Prime','Courier New',monospace;font-size:15px;letter-spacing:.03em;padding:10px 4px}
.ekr .nav a::before,.ekr .bignav a::before,.ekr .btn::before{content:'';position:absolute;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,rgba(130,100,40,.16) 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,rgba(0,0,0,0) 1px 4px),repeating-linear-gradient(0deg,rgba(140,110,50,.06) 0 1px,rgba(0,0,0,0) 1px 3px),rgba(228,207,148,.92);clip-path:polygon(2.5% 0.0%,3.0% 12.5%,3.2% 25.0%,3.8% 37.5%,3.0% 50.0%,3.7% 62.5%,0.1% 75.0%,1.9% 87.5%,3.8% 100.0%,97.4% 100.0%,96.4% 87.5%,99.5% 75.0%,98.1% 62.5%,99.0% 50.0%,97.8% 37.5%,97.7% 25.0%,99.9% 12.5%,99.1% 0.0%);transform-origin:left center;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.ekr .nav a::before{inset:6px -10px 5px;transform:rotate(-2deg) scaleX(0)}
.ekr .nav a:focus-visible::before,.ekr .nav a:hover::before,.ekr .nav a.on::before{transform:rotate(-2deg) scaleX(1)}
.ekr .bignav{display:flex;flex-direction:column;gap:2px}
.ekr .bignav a{font-size:clamp(21px,min(2.1vw,3.4vh),29px);padding:5px 2px}
.ekr .bignav a::before{inset:9px -12px 6px;transform:rotate(-1.5deg) scaleX(0)}
.ekr .bignav a:focus-visible::before,.ekr .bignav a:active::before,.ekr .bignav a:hover::before{transform:rotate(-1.5deg) scaleX(1)}
.ekr .btn{position:relative;isolation:isolate;display:inline-block;font-family:'Courier Prime','Courier New',monospace;font-size:15px;text-decoration:none;padding:12px 26px 10px;border:0;background:none;color:var(--ink);cursor:pointer}
.ekr .btn::before{inset:0;transform:rotate(-1.5deg)}
.ekr .btn:hover::before{transform:rotate(0)}
.ekr .ttl{margin:0;font-style:italic;font-weight:400;font-size:clamp(44px,5.4vw,76px);line-height:1;letter-spacing:-.01em;text-wrap:balance}
.ekr .h2{margin:0;font-style:italic;font-weight:400;font-size:clamp(32px,3.4vw,44px);line-height:1.1}
.ekr .body p{margin:0;font-size:17.5px;line-height:1.78;max-width:62ch}
.ekr .print{position:relative;margin:0;background:#F8F6F1;padding:12px;box-shadow:0 1px 2px rgba(35,31,33,.12),0 22px 40px -18px rgba(35,31,33,.42)}
.ekr .print img{display:block;width:100%;height:auto}
.ekr .tape{position:absolute;z-index:2;width:118px;height:30px;background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,rgba(130,100,40,.16) 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,rgba(0,0,0,0) 1px 4px),repeating-linear-gradient(0deg,rgba(140,110,50,.06) 0 1px,rgba(0,0,0,0) 1px 3px),rgba(228,207,148,.92);pointer-events:none}
.ekr .ico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--ink);transition:color .2s,transform .2s}
.ekr .ico:hover{color:var(--rose);transform:translateY(-2px)}
.ekr .ico svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ekr .ico svg .f{fill:currentColor;stroke:none}
.ekr .ico.lg{width:52px;height:52px}
.ekr .ico.lg svg{width:30px;height:30px}
.ekr .ftr{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 28px;padding-block:72px 44px;font-size:13px;color:var(--slate)}
.ekr .ftr nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.ekr .ftr a{text-decoration:none}
.ekr .ftr a:hover{text-decoration:underline;text-underline-offset:4px}
.ekr .mnav{display:none;position:relative;z-index:60}
.ekr .mnav summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:'Courier Prime','Courier New',monospace;font-size:15px;padding:10px 2px}
.ekr .mnav summary::-webkit-details-marker{display:none}
.ekr .mnav summary svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;fill:none}
.ekr .mpanel{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;background:var(--card,#F6F3EE);box-shadow:0 1px 2px rgba(35,31,33,.12),0 18px 34px -16px rgba(35,31,33,.45);padding:10px 22px 14px;display:flex;flex-direction:column}
.ekr .mpanel a{font-family:'Courier Prime','Courier New',monospace;font-size:16px;text-decoration:none;padding:10px 0;color:inherit}
.ekr .mpanel a.on{text-decoration:underline;text-underline-offset:5px}
@media (max-width: 820px){.ekr .hdr{flex-wrap:nowrap;gap:12px;padding-block:18px 0}
.ekr .hdr.wrap{padding-left:20px;padding-right:20px}
.ekr .hdr .logo{flex:none}
.ekr .hdr .logo img{height:26px}
.ekr .hdr .nav{display:none}
.ekr .mnav{display:block}}
.ekr .torn-a{clip-path:polygon(0.0% 0.5%,1.7% 1.2%,3.3% 0.8%,5.0% 1.3%,6.7% 1.4%,8.3% 0.1%,10.0% 0.0%,11.7% 1.8%,13.3% 0.6%,15.0% 0.5%,16.7% 2.2%,18.3% 1.0%,20.0% 1.8%,21.7% 1.0%,23.3% 1.4%,25.0% 0.3%,26.7% 1.4%,28.3% 1.9%,30.0% 1.2%,31.7% 1.6%,33.3% 1.5%,35.0% 0.1%,36.7% 1.7%,38.3% 1.3%,40.0% 0.7%,41.7% 0.1%,43.3% 1.9%,45.0% 1.0%,46.7% 1.6%,48.3% 1.9%,50.0% 1.6%,51.7% 2.0%,53.3% 0.9%,55.0% 1.8%,56.7% 1.0%,58.3% 2.1%,60.0% 1.9%,61.7% 0.2%,63.3% 0.3%,65.0% 0.5%,66.7% 2.1%,68.3% 1.0%,70.0% 1.4%,71.7% 0.7%,73.3% 1.1%,75.0% 0.8%,76.7% 0.8%,78.3% 1.3%,80.0% 1.3%,81.7% 2.0%,83.3% 1.5%,85.0% 2.0%,86.7% 1.9%,88.3% 2.2%,90.0% 1.5%,91.7% 0.4%,93.3% 1.9%,95.0% 2.1%,96.7% 2.0%,98.3% 1.3%,99.9% 0.0%,99.9% 5.0%,99.8% 10.0%,99.9% 15.0%,100.0% 20.0%,99.8% 25.0%,99.4% 30.0%,99.5% 35.0%,99.5% 40.0%,99.9% 45.0%,99.7% 50.0%,99.8% 55.0%,99.9% 60.0%,99.9% 65.0%,99.9% 70.0%,99.4% 75.0%,99.5% 80.0%,99.5% 85.0%,99.5% 90.0%,99.9% 95.0%,100.0% 99.7%,96.7% 99.6%,93.3% 99.6%,90.0% 99.5%,86.7% 99.6%,83.3% 99.5%,80.0% 100.0%,76.7% 99.8%,73.3% 99.5%,70.0% 99.7%,66.7% 99.5%,63.3% 99.9%,60.0% 99.8%,56.7% 99.9%,53.3% 99.7%,50.0% 99.7%,46.7% 100.0%,43.3% 99.9%,40.0% 99.9%,36.7% 99.5%,33.3% 99.6%,30.0% 99.9%,26.7% 99.6%,23.3% 99.9%,20.0% 99.7%,16.7% 99.9%,13.3% 100.0%,10.0% 99.6%,6.7% 99.9%,3.3% 99.9%,0.5% 100.0%,0.5% 95.0%,0.3% 90.0%,0.2% 85.0%,0.0% 80.0%,0.4% 75.0%,0.3% 70.0%,0.5% 65.0%,0.2% 60.0%,0.5% 55.0%,0.2% 50.0%,0.5% 45.0%,0.4% 40.0%,0.2% 35.0%,0.3% 30.0%,0.4% 25.0%,0.1% 20.0%,0.3% 15.0%,0.5% 10.0%,0.2% 5.0%)}
.ekr .torn-b{clip-path:polygon(0.0% 0.2%,3.3% 0.3%,6.7% 0.5%,10.0% 0.2%,13.3% 0.3%,16.7% 0.3%,20.0% 0.1%,23.3% 0.3%,26.7% 0.3%,30.0% 0.4%,33.3% 0.0%,36.7% 0.2%,40.0% 0.0%,43.3% 0.4%,46.7% 0.3%,50.0% 0.0%,53.3% 0.5%,56.7% 0.5%,60.0% 0.3%,63.3% 0.3%,66.7% 0.1%,70.0% 0.0%,73.3% 0.3%,76.7% 0.0%,80.0% 0.1%,83.3% 0.1%,86.7% 0.0%,90.0% 0.2%,93.3% 0.2%,96.7% 0.4%,99.7% 0.0%,99.6% 5.0%,99.6% 10.0%,99.9% 15.0%,100.0% 20.0%,99.8% 25.0%,99.8% 30.0%,99.5% 35.0%,99.6% 40.0%,99.6% 45.0%,99.7% 50.0%,99.6% 55.0%,99.9% 60.0%,99.7% 65.0%,99.9% 70.0%,99.5% 75.0%,100.0% 80.0%,99.5% 85.0%,100.0% 90.0%,99.6% 95.0%,100.0% 99.4%,98.3% 98.4%,96.7% 98.4%,95.0% 98.0%,93.3% 99.6%,91.7% 99.4%,90.0% 99.6%,88.3% 99.5%,86.7% 98.2%,85.0% 99.7%,83.3% 98.7%,81.7% 99.5%,80.0% 99.3%,78.3% 99.0%,76.7% 98.0%,75.0% 98.5%,73.3% 100.0%,71.7% 99.3%,70.0% 99.6%,68.3% 97.9%,66.7% 98.1%,65.0% 98.1%,63.3% 98.0%,61.7% 98.2%,60.0% 97.7%,58.3% 98.1%,56.7% 99.4%,55.0% 98.0%,53.3% 98.8%,51.7% 98.2%,50.0% 98.6%,48.3% 99.0%,46.7% 99.1%,45.0% 99.0%,43.3% 99.2%,41.7% 99.7%,40.0% 98.0%,38.3% 98.1%,36.7% 97.6%,35.0% 98.3%,33.3% 98.7%,31.7% 98.2%,30.0% 99.7%,28.3% 98.4%,26.7% 98.9%,25.0% 99.6%,23.3% 99.5%,21.7% 98.7%,20.0% 99.4%,18.3% 98.9%,16.7% 98.5%,15.0% 99.1%,13.3% 99.7%,11.7% 98.8%,10.0% 99.4%,8.3% 99.4%,6.7% 99.5%,5.0% 99.1%,3.3% 99.8%,1.7% 98.4%,0.1% 100.0%,0.4% 95.0%,0.3% 90.0%,0.5% 85.0%,0.1% 80.0%,0.1% 75.0%,0.4% 70.0%,0.3% 65.0%,0.2% 60.0%,0.3% 55.0%,0.2% 50.0%,0.4% 45.0%,0.1% 40.0%,0.1% 35.0%,0.5% 30.0%,0.2% 25.0%,0.1% 20.0%,0.4% 15.0%,0.3% 10.0%,0.1% 5.0%)}
.ekr .torn-c{clip-path:polygon(0.0% 0.5%,3.3% 0.5%,6.7% 0.4%,10.0% 0.4%,13.3% 0.3%,16.7% 0.7%,20.0% 0.2%,23.3% 0.1%,26.7% 0.2%,30.0% 0.2%,33.3% 0.2%,36.7% 0.2%,40.0% 0.1%,43.3% 0.2%,46.7% 0.2%,50.0% 0.4%,53.3% 0.1%,56.7% 0.0%,60.0% 0.1%,63.3% 0.4%,66.7% 0.3%,70.0% 0.5%,73.3% 0.6%,76.7% 0.3%,80.0% 0.1%,83.3% 0.5%,86.7% 0.5%,90.0% 0.3%,93.3% 0.5%,96.7% 0.2%,98.6% 0.0%,98.9% 2.0%,98.8% 4.0%,98.6% 6.0%,99.6% 8.0%,99.0% 10.0%,98.6% 12.0%,98.6% 14.0%,99.1% 16.0%,99.7% 18.0%,99.3% 20.0%,98.4% 22.0%,99.8% 24.0%,99.5% 26.0%,98.5% 28.0%,99.3% 30.0%,99.7% 32.0%,99.5% 34.0%,98.5% 36.0%,99.5% 38.0%,99.3% 40.0%,99.0% 42.0%,98.7% 44.0%,99.2% 46.0%,99.9% 48.0%,99.1% 50.0%,99.9% 52.0%,99.8% 54.0%,99.7% 56.0%,98.9% 58.0%,99.5% 60.0%,98.9% 62.0%,99.7% 64.0%,99.8% 66.0%,100.0% 68.0%,98.9% 70.0%,98.6% 72.0%,99.6% 74.0%,99.6% 76.0%,100.0% 78.0%,99.0% 80.0%,99.5% 82.0%,99.8% 84.0%,99.0% 86.0%,99.0% 88.0%,99.3% 90.0%,99.8% 92.0%,99.0% 94.0%,99.1% 96.0%,99.3% 98.0%,100.0% 99.9%,96.7% 99.5%,93.3% 99.6%,90.0% 99.7%,86.7% 99.8%,83.3% 99.4%,80.0% 99.4%,76.7% 99.6%,73.3% 99.6%,70.0% 99.8%,66.7% 100.0%,63.3% 99.7%,60.0% 99.6%,56.7% 100.0%,53.3% 99.4%,50.0% 99.8%,46.7% 99.8%,43.3% 100.0%,40.0% 99.3%,36.7% 99.5%,33.3% 99.4%,30.0% 99.6%,26.7% 100.0%,23.3% 99.8%,20.0% 99.7%,16.7% 99.9%,13.3% 99.3%,10.0% 99.7%,6.7% 99.9%,3.3% 99.4%,0.4% 100.0%,0.1% 95.0%,0.0% 90.0%,0.4% 85.0%,0.1% 80.0%,0.0% 75.0%,0.3% 70.0%,0.1% 65.0%,0.4% 60.0%,0.1% 55.0%,0.4% 50.0%,0.1% 45.0%,0.2% 40.0%,0.4% 35.0%,0.3% 30.0%,0.4% 25.0%,0.3% 20.0%,0.0% 15.0%,0.4% 10.0%,0.2% 5.0%)}
.ekr .torn-d{clip-path:polygon(0.0% 0.7%,2.5% 0.4%,5.0% 1.0%,7.5% 0.3%,10.0% 0.6%,12.5% 0.4%,15.0% 0.5%,17.5% 1.2%,20.0% 0.1%,22.5% 0.5%,25.0% 0.3%,27.5% 0.4%,30.0% 1.2%,32.5% 0.4%,35.0% 0.7%,37.5% 0.5%,40.0% 0.9%,42.5% 0.5%,45.0% 0.2%,47.5% 0.5%,50.0% 0.5%,52.5% 1.0%,55.0% 0.7%,57.5% 0.2%,60.0% 0.8%,62.5% 0.4%,65.0% 0.6%,67.5% 0.3%,70.0% 0.5%,72.5% 0.9%,75.0% 0.6%,77.5% 0.9%,80.0% 0.9%,82.5% 0.7%,85.0% 0.8%,87.5% 0.5%,90.0% 0.7%,92.5% 0.9%,95.0% 0.1%,97.5% 1.1%,99.6% 0.0%,99.8% 3.8%,100.0% 7.7%,99.5% 11.5%,99.8% 15.4%,99.8% 19.2%,99.7% 23.1%,99.5% 26.9%,99.2% 30.8%,99.6% 34.6%,99.2% 38.5%,99.2% 42.3%,99.8% 46.2%,99.9% 50.0%,99.9% 53.8%,99.3% 57.7%,99.5% 61.5%,99.3% 65.4%,99.2% 69.2%,99.5% 73.1%,99.6% 76.9%,99.9% 80.8%,100.0% 84.6%,99.4% 88.5%,99.5% 92.3%,99.4% 96.2%,100.0% 100.0%,97.5% 99.9%,95.0% 99.5%,92.5% 99.2%,90.0% 99.8%,87.5% 99.9%,85.0% 99.7%,82.5% 99.1%,80.0% 99.8%,77.5% 99.1%,75.0% 99.2%,72.5% 99.8%,70.0% 99.4%,67.5% 99.5%,65.0% 99.5%,62.5% 98.8%,60.0% 99.9%,57.5% 100.0%,55.0% 98.9%,52.5% 99.5%,50.0% 99.8%,47.5% 99.6%,45.0% 99.6%,42.5% 98.9%,40.0% 99.7%,37.5% 99.7%,35.0% 99.3%,32.5% 99.3%,30.0% 98.9%,27.5% 99.0%,25.0% 99.6%,22.5% 99.8%,20.0% 99.0%,17.5% 98.8%,15.0% 100.0%,12.5% 99.1%,10.0% 99.0%,7.5% 99.2%,5.0% 99.7%,2.5% 99.0%,0.1% 100.0%,0.2% 96.2%,0.2% 92.3%,0.7% 88.5%,0.4% 84.6%,0.6% 80.8%,0.1% 76.9%,0.4% 73.1%,0.7% 69.2%,0.4% 65.4%,0.8% 61.5%,0.7% 57.7%,0.3% 53.8%,0.0% 50.0%,0.6% 46.2%,0.1% 42.3%,0.0% 38.5%,0.6% 34.6%,0.7% 30.8%,0.7% 26.9%,0.8% 23.1%,0.2% 19.2%,0.1% 15.4%,0.1% 11.5%,0.8% 7.7%,0.1% 3.8%)}
.ekr .tape{clip-path:polygon(2.5% 0.0%,3.0% 12.5%,3.2% 25.0%,3.8% 37.5%,3.0% 50.0%,3.7% 62.5%,0.1% 75.0%,1.9% 87.5%,3.8% 100.0%,97.4% 100.0%,96.4% 87.5%,99.5% 75.0%,98.1% 62.5%,99.0% 50.0%,97.8% 37.5%,97.7% 25.0%,99.9% 12.5%,99.1% 0.0%)}
.ekr .nav a::before,.ekr .bignav a::before,.ekr .btn::before{background:url('site/tape-1.png') center/100% 100% no-repeat!important;clip-path:none!important}
.ekr .nav a:nth-child(3n+2)::before,.ekr .bignav a:nth-child(3n+2)::before{background-image:url('site/tape-2.png')!important}
.ekr .nav a:nth-child(3n)::before,.ekr .bignav a:nth-child(3n)::before,.ekr .btn::before{background-image:url('site/tape-3.png')!important}
.ekr .tape{background:url('site/tape-3.png') center/100% 100% no-repeat!important;clip-path:none!important;filter:drop-shadow(0 1px 1.5px rgba(60,40,20,.14))}
.ekr .land{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:100vh}
.ekr .land-l{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(26px,4.5vh,52px);padding:30px max(20px,4vw) clamp(24px,4vh,40px)}
.ekr .land-l .logo{display:block;padding:6px 0;align-self:flex-start}
.ekr .land-l .logo img{height:30px;width:auto;display:block}
.ekr .land-r{position:relative;overflow:hidden;background:#5d5b5a;height:100vh;width:min(100vh,62vw);min-height:560px}
.ekr .land-r .hero{margin:0;position:absolute;inset:0}
.ekr .land-r .hero img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 6%}
.ekr .land-r .cap{position:absolute;right:max(20px,3vw);bottom:clamp(16px,3vh,28px);z-index:2;font-size:13px;letter-spacing:.03em;color:rgba(255,255,255,.88);text-decoration:none;padding:6px 0}
.ekr .land-r .cap:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width: 820px){.ekr .land{grid-template-columns:minmax(0,1fr)}
.ekr .land-r{order:-1;width:100%;height:auto;min-height:0;aspect-ratio:1/1}
.ekr .land-l{gap:40px}
.ekr .mlogo{display:block!important;order:-2;padding:28px 20px 16px}
.ekr .land-l > .logo{display:none}}
.ekr .about{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:56px 7vw;align-items:start;padding-block:64px 24px}
@media (max-width: 900px){.ekr .about{grid-template-columns:minmax(0,1fr)}
.ekr .about{padding-block:32px 24px;gap:36px}
.ekr .about figure{order:-1;width:46%;max-width:210px;margin-top:0!important;justify-self:center}}
.ekr .xgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 30px;align-items:start}
.ekr .xcard{display:flex;flex-direction:column;gap:10px}
.ekr .xcard .print{margin-bottom:12px;padding:10px}
.ekr .xcard .print img{aspect-ratio:4/5;object-fit:cover}
.ekr .xcard:nth-child(odd) .print{transform:rotate(-1deg)}
.ekr .xcard:nth-child(even) .print{transform:rotate(1.1deg)}
.ekr .xcard h2{margin:0;font-style:italic;font-weight:400;font-size:clamp(23px,2vw,28px);line-height:1.15}
.ekr .xcard .meta{margin:0;font-family:'Courier Prime','Courier New',monospace;font-size:13.5px;line-height:1.6;color:var(--slate)}
.ekr .more{align-self:flex-start;border:0;background:none;padding:8px 0;font-size:13.5px;color:var(--rose);cursor:pointer;letter-spacing:.03em}
.ekr .more:hover{color:var(--ink)}
.ekr .desc{margin:0;font-size:15px;line-height:1.75}
.ekr .edu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.ekr .edu article{position:relative;background:var(--card);padding:30px 28px 22px;display:flex;flex-direction:column;gap:10px;align-self:start;box-shadow:0 1px 2px rgba(35,31,33,.08),0 16px 30px -20px rgba(35,31,33,.35)}
.ekr .edu h3{margin:0;font-style:italic;font-weight:400;font-size:23px;line-height:1.2}
.ekr .edu p{margin:0;font-size:15px;line-height:1.7}
.ekr .bul{margin:0;padding-left:1.15em;display:flex;flex-direction:column;gap:6px}
.ekr .bul li{font-size:15px;line-height:1.7;padding-left:.2em}
@media (max-width: 960px){.ekr .xgrid,.ekr .edu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 600px){.ekr .xgrid,.ekr .edu{grid-template-columns:minmax(0,1fr)}
.ekr .xgrid{gap:30px}
.ekr .xcard{display:grid;grid-template-columns:118px minmax(0,1fr);column-gap:20px;row-gap:4px;align-items:start}
.ekr .xcard .print{grid-row:1 / span 3;margin:0;padding:6px}
.ekr .xcard > :not(.print){grid-column:2}
.ekr .xcard > .desc{grid-column:1 / -1}
.ekr .xcard h2{font-size:22px}}
.ekr .sheet{position:relative;background:var(--card);box-shadow:0 1px 2px rgba(35,31,33,.1),0 30px 60px -30px rgba(35,31,33,.45);padding:clamp(28px,5vw,72px)}
.ekr .sgrid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);gap:44px 64px}
.ekr .sh{margin:0 0 14px;font-style:italic;font-weight:400;font-size:21px;color:var(--rose)}
.ekr .blk{display:flex;flex-direction:column;gap:6px;margin-bottom:34px}
.ekr .blk p,.ekr .blk li{margin:0;font-size:14.5px;line-height:1.65}
.ekr .mono-s{font-family:'Courier Prime','Courier New',monospace;font-size:13.5px;color:var(--slate)}
.ekr .role{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;align-items:baseline}
.ekr .role b{font-weight:700;font-size:14.5px;letter-spacing:.02em}
.ekr .dash{list-style:none;padding:0;margin:6px 0 18px;display:flex;flex-direction:column;gap:5px}
.ekr .dash li{position:relative;padding-left:18px}
.ekr .dash li::before{content:'–';position:absolute;left:0;color:var(--rose)}
@media (max-width: 900px){.ekr .sgrid{grid-template-columns:minmax(0,1fr)}}
.ekr .cgrid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px 7vw;align-items:start;padding-block:64px 0}
.ekr .form{position:relative;background:var(--card);padding:clamp(26px,4vw,48px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;box-shadow:0 1px 2px rgba(35,31,33,.1),0 26px 50px -28px rgba(35,31,33,.45)}
.ekr .form label{display:flex;flex-direction:column;gap:8px;font-family:'Courier Prime','Courier New',monospace;font-size:13.5px;color:var(--slate)}
.ekr .form input,.ekr .form textarea{font:inherit;font-family:'Libre Baskerville',Georgia,serif;font-size:16px;color:var(--ink);background:#EDE9E2;border:0;border-radius:0;padding:13px 14px;outline:none}
.ekr .form input:focus,.ekr .form textarea:focus{box-shadow:0 0 0 2px var(--rose)}
.ekr .form textarea{min-height:170px;resize:vertical}
.ekr .full{grid-column:1/-1}
.ekr .clinks{display:flex;flex-direction:column;gap:6px}
.ekr .clinks a{font-size:19px;text-decoration:none;width:fit-content;padding:4px 0}
.ekr .clinks a:hover{text-decoration:underline;text-underline-offset:5px}
@media (max-width: 900px){.ekr .cgrid{grid-template-columns:minmax(0,1fr)}}
@media (max-width: 520px){.ekr .form{grid-template-columns:minmax(0,1fr)}}
.ekr .quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 6vw;margin-top:24px}
.ekr .quotes blockquote{margin:0;display:flex;flex-direction:column;gap:18px;background:var(--card);padding:clamp(28px,3.5vw,48px);box-shadow:0 1px 2px rgba(35,31,33,.08),0 22px 40px -24px rgba(35,31,33,.4)}
.ekr .quotes .q{margin:0;font-style:italic;font-size:18px;line-height:1.75}
.ekr .quotes .mark{font-size:64px;line-height:.6;color:var(--rose);height:28px}
@media (max-width: 900px){.ekr .quotes{grid-template-columns:minmax(0,1fr)}}
.ekr .pf{--kraft:#B4928B;--kraft2:#9C7A74;--paper:#EEEAE3;--ink:#1F1B1E;--slate:#4E5661;--pen:#F7F4EF;--tape:rgba(236,227,190,.82);
  position:relative;min-height:100vh;box-sizing:border-box;overflow:hidden;color:var(--ink);font-family:'Courier Prime','Courier New',monospace;
  background-image:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(255,245,245,.16),transparent 70%),radial-gradient(ellipse 40% 30% at 10% 90%,rgba(60,44,52,.18),transparent 70%);
  display:flex;flex-direction:column;gap:18px;padding-block:0 24px;padding-left:max(16px,3vw);padding-right:max(16px,3vw)}
.ekr .pf a{color:inherit}
.ekr .serif{font-family:'Libre Baskerville',Georgia,serif;font-style:italic;font-weight:400}
.ekr .paper{position:relative;background:var(--paper)}
.ekr .ptag{display:inline-flex;align-items:center;justify-content:center;text-align:center;border:0;cursor:pointer;padding:11px 22px 9px;font-size:17px;color:var(--ink);transition:transform .25s ease,background .25s ease}
.ekr .ptag:hover{transform:rotate(0) translateY(-2px)!important}
.ekr .hlink{display:inline-block;padding:10px 4px;font-size:15px;text-decoration:none}
.ekr .hlink:hover{text-decoration:underline;text-underline-offset:4px}
.ekr-book{position:relative;margin:0 auto;width:min(100%,1180px,calc((100vh - 230px) * 1.414));aspect-ratio:1.414;transition:transform .9s cubic-bezier(.645,.045,.355,1),opacity .22s ease}
.ekr-book.is-fading{opacity:0}
.ekr-book.is-snap,.ekr-book.is-snap .ekr-leaf{transition:none!important}
.ekr-book.bk-luz{aspect-ratio:1.5;width:min(100%,1180px,calc((100vh - 230px) * 1.5))}
.ekr-book.bk-land{aspect-ratio:2.64;width:min(100% - 70px,1320px,calc((100vh - 230px) * 2.64))}
.ekr .bk-land{--page:#ECE8E0 url('site/paper-land.jpg') center/cover no-repeat}
.ekr .bk-land .f-labwrap{left:22cqw;right:22cqw;bottom:9cqw}
.ekr .bk-land .f-label{padding:4.5cqw 5cqw 4cqw;gap:1.6cqw}
.ekr .bk-land .f-label h2{font-size:5.4cqw!important}
.ekr .bk-land .f-label p{font-size:max(9px,1.7cqw)!important}
.ekr-half{position:absolute;top:0;width:50%;height:100%;container-type:inline-size;overflow:hidden;background:var(--kraft);box-shadow:0 2.4vw 3vw -1.4vw rgba(40,28,34,.45)}
.ekr-leaf{position:absolute;top:0;left:50%;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.645,.045,.355,1)}
.ekr .bk-luz{--page:#97716A url('site/paper-kraft.jpg') center/cover no-repeat}
.ekr .bk-lt{--page:#ECE8E1 url('site/paper-white.jpg') center/cover no-repeat}
.ekr-face{position:absolute;inset:0;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;container-type:inline-size;background:var(--page)}
.ekr-half{background:var(--page)!important}
.ekr-face > svg.tex,.ekr-half > svg.tex{display:none}
.ekr .bk-lt .f-fig{filter:drop-shadow(0 .5cqw .9cqw rgba(40,36,30,.22))}
.ekr .is-cover-plain .f-labwrap{bottom:auto;top:50%;transform:translateY(-50%) rotate(1.4deg)}
.ekr-back{transform:rotateY(180deg)}
.ekr .f-full{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ekr .f-fig{position:absolute;top:50%;transform:translateY(-50%);filter:drop-shadow(0 .7cqw 1.1cqw rgba(52,30,30,.32))}
.ekr .f-fig img{display:block;width:100%;height:auto}
.ekr .f-fig .tape{width:15cqw;height:3.8cqw;top:-1.7cqw}
.ekr .f-fig .t1{left:2.5%;transform:rotate(-8deg)}
.ekr .f-fig .t2{right:2.5%;transform:rotate(7deg)}
.ekr .f-fig.bleed{top:0;height:100%;transform:none;filter:none}
.ekr .f-fig.bleed img{height:100%;object-fit:cover}
.ekr .f-fig.bleed .tape{display:none}
.ekr .is-cover .f-fig{top:11cqw;transform:rotate(-2.5deg)}
.ekr .f-labwrap{position:absolute;left:10cqw;right:9cqw;bottom:12cqw;filter:drop-shadow(0 .6cqw .9cqw rgba(52,30,30,.3));transform:rotate(1.4deg)}
.ekr .f-label{display:flex;flex-direction:column;gap:2.4cqw;padding:7cqw 7cqw 6cqw}
.ekr .f-textwrap{position:absolute;left:8cqw;right:8cqw;top:50%;transform:translateY(-50%) rotate(.8deg);filter:drop-shadow(0 .6cqw .9cqw rgba(52,30,30,.3))}
.ekr .f-text{padding:10cqw 8cqw 9cqw;font-size:max(12px,3.05cqw);line-height:1.62}
.ekr .f-textwrap .t3{left:38%;top:-2cqw;width:22cqw;height:4.4cqw;transform:rotate(-3deg)}
.ekr .shade-r{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(40,24,28,.30),rgba(40,24,28,.08) 5%,rgba(40,24,28,0) 13%)}
.ekr .shade-l{position:absolute;inset:0;pointer-events:none;background:linear-gradient(270deg,rgba(40,24,28,.30),rgba(40,24,28,.08) 5%,rgba(40,24,28,0) 13%)}
.ekr .tabs{position:absolute;left:calc(100% + 7px);top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;z-index:5;padding-block:4%;box-sizing:border-box}
.ekr .tab{writing-mode:vertical-rl;border:0;cursor:pointer;flex:0 1 auto;min-height:0;overflow:hidden;white-space:nowrap;padding:14px 8px 14px 9px;border-radius:0 9px 9px 0;font-family:'Courier Prime','Courier New',monospace;font-size:clamp(10px,1.45vh,13px);letter-spacing:.05em;color:var(--ink);box-shadow:2px 2px 5px rgba(40,28,34,.28);transition:padding .25s ease,filter .2s ease}
.ekr .tab:hover{filter:brightness(1.08)}
.ekr-edge:hover{background:linear-gradient(270deg,rgba(247,244,239,.16),rgba(247,244,239,0))}
.ekr-edge-l:hover{background:linear-gradient(90deg,rgba(247,244,239,.16),rgba(247,244,239,0))}
.ekr .arrow{width:64px;height:48px;border:0;background:none;cursor:pointer;padding:0}
.ekr .arrow svg{width:100%;height:100%;overflow:visible}
.ekr .arrow path{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ekr .arrow:disabled{opacity:.25;cursor:default}
.ekr .end-btn{border:0;cursor:pointer;background:var(--tape);padding:2.2cqw 5cqw 1.8cqw;font-size:max(13px,3.6cqw);color:var(--ink);transform:rotate(-2deg)}
.ekr .end-btn:hover{transform:rotate(0)}
.ekr .flap-wrap{position:absolute;left:50%;top:0;width:50%;height:100%;z-index:200;pointer-events:none;transform-style:preserve-3d}
.ekr .flap{position:absolute;padding:0;border:0;background:none;cursor:pointer;pointer-events:auto;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.645,.045,.355,1)}
.ekr .flap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 .5vw 1.4vw rgba(30,20,24,.38)}
.ekr .flap-b{transform:rotateY(180deg)}
.ekr .flap.closed:hover{transform:rotateY(-14deg)!important}
.ekr .flap.open:hover{transform:rotateY(-168deg)!important}
.ekr .tape-clip{clip-path:polygon(2.5% 0.0%,3.0% 12.5%,3.2% 25.0%,3.8% 37.5%,3.0% 50.0%,3.7% 62.5%,0.1% 75.0%,1.9% 87.5%,3.8% 100.0%,97.4% 100.0%,96.4% 87.5%,99.5% 75.0%,98.1% 62.5%,99.0% 50.0%,97.8% 37.5%,97.7% 25.0%,99.9% 12.5%,99.1% 0.0%)}
.ekr .tabs-m,.ekr .rot-hint,.ekr .ppick{display:none}
.ekr .ppick{position:relative;z-index:30;justify-content:center}
.ekr .ppick-btn{font-size:17px;padding:11px 20px 9px;background:#EEEAE3;transform:rotate(-1.2deg)}
.ekr .ppick-list{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:240px;background:#F6F3EE;box-shadow:0 1px 2px rgba(35,31,33,.12),0 18px 34px -16px rgba(35,31,33,.45);padding:8px 0;display:flex;flex-direction:column}
.ekr .ppick-list button{border:0;background:none;text-align:left;font-size:17px;padding:12px 22px;color:var(--ink);cursor:pointer}
@media (max-width: 820px){}
@media (max-width: 820px) and (orientation: portrait){.ekr .pf{gap:12px}
.ekr .prow{display:none!important}
.ekr .ppick{display:flex;margin-top:14px}
.ekr .tabs-m{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:5px;margin-top:7px;width:100%;padding-inline:3%;box-sizing:border-box}
.ekr .tabs-m .tab{writing-mode:horizontal-tb;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;padding:7px 9px 8px;border-radius:0 0 8px 8px;font-size:11.5px;letter-spacing:.02em}
.ekr .pf main{justify-content:center!important;padding-block:24px}
.ekr-book,.ekr-book.bk-land{width:100%!important}
.ekr-book .tabs{display:none!important}
.ekr-edge,.ekr-edge-l{width:12%!important}
.ekr .rot-hint.on{display:block;margin:6px 0 0;text-align:center;font-family:'Dawning of a New Day',cursive;font-size:22px}
.ekr-controls{gap:16px}
.ekr-controls p{min-width:0!important;font-size:14px}}
@media (max-height: 520px) and (orientation: landscape){.ekr .pf{gap:6px;padding-bottom:6px}
.ekr .ptag{padding:6px 14px 5px;font-size:13px}
.ekr-book{width:min(100% - 70px,calc((100vh - 120px) * 1.414))}
.ekr-book.bk-luz{width:min(100% - 70px,calc((100vh - 120px) * 1.5))}
.ekr-book.bk-land{width:min(100% - 70px,calc((100vh - 120px) * 2.64))}
.ekr-controls .arrow{height:34px}}

/* ---------- Squarespace integration ---------- */
body.ekr-site{background-color:#EEEAE3!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .15 0 0 0 0 .14 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")!important}
body.ekr-site.ekr-desk{background-color:var(--ekr-desk,#8BA2A6)!important;transition:background-color .6s ease}
html{transition:background-color .6s ease}
/* hide Squarespace's own header and footer: the site uses its own */
body.ekr-site #header,body.ekr-site .header-announcement-bar-wrapper,body.ekr-site #footer-sections,body.ekr-site footer.sections{display:none!important}
body.ekr-site #siteWrapper,body.ekr-site #page,body.ekr-site .page-section,body.ekr-site .section-background{background:transparent!important}
body.ekr-site .section-background{display:none!important}
/* sections that hold one of our page blocks: no padding, full width, no grid */
.page-section:has(.ekr-full){padding:0!important;min-height:0!important}
.page-section:has(.ekr-full) .content-wrapper{padding:0!important;max-width:none!important;width:100%!important}
.page-section:has(.ekr-full) .content{width:100%!important}
.page-section:has(.ekr-full) .fluid-engine{display:block!important;padding:0!important;margin:0!important;max-width:none!important}
.page-section:has(.ekr-full) .fe-block{width:100%!important;margin:0!important}
.page-section:has(.ekr-full) .sqs-block{padding:0!important}
.page-section:has(.ekr-full) .sqs-block-content{width:100%!important}

/* our wrapper blocks */
.ekr{min-height:0!important;overflow:visible!important;background:transparent!important;-webkit-font-smoothing:antialiased}
.ekr.ekr-full{overflow:hidden!important}
/* neutralise Squarespace's global type styles inside our blocks */
.ekr :is(h1,h2,h3,h4,p,li,ul,blockquote,figure,figcaption,label,span,summary,button,a,nav,footer,header){font-family:inherit;text-transform:none;letter-spacing:inherit;color:inherit}
.ekr :is(h1,h2,h3,h4){font-size:inherit;line-height:inherit;margin:0;font-weight:400}
.ekr p{font-size:inherit;line-height:inherit;margin:0}
.ekr a{color:inherit;background-image:none!important;text-decoration-color:currentColor}
.ekr img{max-width:100%}
.ekr .ttl{font-size:clamp(44px,5.4vw,76px)!important;line-height:1!important;font-style:italic!important}
.ekr button{font:inherit}

/* injected header */
.ekr.ekr-hdr{position:relative;z-index:40}
.ekr-desk .ekr.ekr-hdr .mpanel{background:#F6F3EE}

/* experience "read more" (no script needed) */
.ekr details.more-d{display:flex;flex-direction:column}
.ekr details.more-d > summary{list-style:none;align-self:flex-start;cursor:pointer;padding:8px 0;font-size:13.5px;color:var(--rose);letter-spacing:.03em;font-family:'Courier Prime','Courier New',monospace}
.ekr details.more-d > summary::-webkit-details-marker{display:none}
.ekr details.more-d > summary::after{content:'Read more +'}
.ekr details.more-d[open] > summary::after{content:'Close \2212'}
.ekr details.more-d > summary:hover{color:var(--ink)}
.ekr details.more-d > :not(summary){margin-top:4px}

/* home page: sits edge to edge */
.ekr .land{min-height:100svh}

/* portfolio wrapper (was the "desk") */
.ekr .pf{min-height:calc(100svh - 90px)!important;padding-top:10px!important}

/* ---------- Contact page: Squarespace form block styled as the taped card ---------- */
.ekr-site .sqs-block-form .sqs-block-content{position:relative;background:#F6F3EE!important;padding:clamp(26px,4vw,48px)!important;box-shadow:0 1px 2px rgba(35,31,33,.1),0 26px 50px -28px rgba(35,31,33,.45)}
.ekr-site .sqs-block-form .sqs-block-content::before{content:'';position:absolute;left:calc(50% - 80px);top:-18px;width:160px;height:40px;transform:rotate(-2deg);background:url('site/tape-3.png') center/100% 100% no-repeat;z-index:2}
.ekr-site .sqs-block-form :is(.form-title,.field-list,label,legend,.title,.description,p){font-family:'Courier Prime','Courier New',monospace!important;color:#4E5661!important;font-size:13.5px!important;letter-spacing:0!important;text-transform:none!important}
.ekr-site .sqs-block-form :is(input[type=text],input[type=email],input[type=tel],textarea,select){font-family:'Libre Baskerville',Georgia,serif!important;font-size:16px!important;color:#231F21!important;background:#EDE9E2!important;border:0!important;border-radius:0!important;padding:13px 14px!important;box-shadow:none!important}
.ekr-site .sqs-block-form :is(input,textarea):focus{outline:none!important;box-shadow:0 0 0 2px #8E6B65!important}
.ekr-site .sqs-block-form :is(button[type=submit],input[type=submit],.form-submit-button){position:relative;font-family:'Courier Prime','Courier New',monospace!important;font-size:15px!important;color:#231F21!important;text-transform:none!important;letter-spacing:0!important;border:0!important;border-radius:0!important;padding:12px 26px 10px!important;background:url('site/tape-3.png') center/100% 100% no-repeat!important;transform:rotate(-1.5deg);transition:transform .3s}
.ekr-site .sqs-block-form :is(button[type=submit],input[type=submit],.form-submit-button):hover{transform:rotate(0);opacity:1!important}
.ekr [hidden]{display:none!important}
/* make sure no Squarespace section colour shows behind our pages */
body.ekr-site .section-border,body.ekr-site .section-background-overlay,body.ekr-site .section-background-content{background:transparent!important}
body.ekr-site .page-section .content-wrapper,body.ekr-site .page-section .fluid-engine,body.ekr-site .fe-block,body.ekr-site .sqs-block,body.ekr-site .sqs-block-content{background-color:transparent!important}

/* fonts load here too, so they never depend on the code injection alone */
/* (the @import itself is placed at the very top of ekr.css by the build) */

/* no Squarespace top spacing above our pages */
body.ekr-site #page,body.ekr-site #sections,body.ekr-site #page .page-section:first-child{padding-top:0!important;margin-top:0!important}
.ekr .mlogo{padding:28px 20px 16px!important}
/* let shadows breathe instead of being cut at the section edge */
.ekr.ekr-full{overflow-x:clip!important;overflow-y:visible!important}
.page-section:has(.ekr-full),.page-section:has(.ekr-full) .content-wrapper,.page-section:has(.ekr-full) .content,.page-section:has(.ekr-full) .fluid-engine,.page-section:has(.ekr-full) .fe-block,.page-section:has(.ekr-full) .sqs-block,.page-section:has(.ekr-full) .sqs-block-content{overflow:visible!important}

/* zoom view sits above everything */
.ekr.ekr-zoom{position:relative;z-index:100000}

/* contact form: every piece of text in the site's fonts */
.ekr-site .sqs-block-form,.ekr-site .sqs-block-form *:not(input):not(textarea):not(select):not(option){font-family:'Courier Prime','Courier New',monospace!important}
.ekr-site .sqs-block-form .form-item :is(legend,label,span,div,p,.caption,.description,.title){font-size:13.5px!important;color:#4E5661!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}
.ekr-site .sqs-block-form :is(.form-submission-text,.form-submission-html,.form-submission-text *,.form-submission-html *){font-family:'Libre Baskerville',Georgia,serif!important;font-style:italic!important;font-size:19px!important;line-height:1.6!important;color:#231F21!important}

/* résumé: sections fold on phones */
.ekr details.blk{display:block}
.ekr .blk-in{display:flex;flex-direction:column;gap:6px}
.ekr .res-d > summary{list-style:none;cursor:default;pointer-events:none}
.ekr .res-d > summary::-webkit-details-marker{display:none}
@media (max-width: 900px){
  .ekr .sgrid{display:flex!important;flex-direction:column;gap:0!important}
  .ekr .sgrid > div{display:contents}
  .ekr .res-about{order:1}.ekr .res-work-experience{order:2}.ekr .res-relevant-projects{order:3}.ekr .res-education{order:4}.ekr .res-skills{order:5}.ekr .res-languages{order:6}.ekr .res-accolades{order:7}.ekr .res-contact{order:8}
  .ekr details.res-d{margin-bottom:4px}
  .ekr .res-d > summary{pointer-events:auto;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0}
  .ekr .res-d > summary .sh{margin:0!important}
  .ekr .res-d > summary::after{content:'+';font-family:'Courier Prime','Courier New',monospace;color:var(--rose);font-size:20px;line-height:1}
  .ekr .res-d[open] > summary::after{content:'\2212'}
  .ekr .res-d[data-keep] > summary{pointer-events:none}
  .ekr .res-d[data-keep] > summary::after{content:none}
  .ekr .res-d .blk-in{padding-bottom:18px}
  .ekr .res-about{margin-bottom:18px!important}
}

/* home hero: taller, narrower, with a strip of paper on the right */
.ekr .land-r .hero img{object-position:50% 8%!important}
@media (min-width: 821px){
  .ekr .land-r{width:min(75vh,48vw)!important;margin-right:max(28px,3.5vw)}
}
@media (max-width: 820px){
  .ekr .land-r{aspect-ratio:4/5!important;width:calc(100% - 40px)!important;margin:0 20px}
}

/* type rhythm: don't inherit Squarespace's tall line spacing */
.ekr{line-height:normal}
.ekr .mono-s{line-height:1.6}
@media (max-width: 900px){
  .ekr .sheet > header{margin:18px 0 26px!important;gap:8px!important}
  .ekr .sheet > header p{line-height:1.6!important;font-size:12.5px!important;letter-spacing:.02em!important}
}

/* dark desk colours (La Luz, Ripe to Rot, Anatomy of Fire): light text on the desk */
body.ekr-dark .ekr-hdr .nav a{color:#EEEAE3!important;transition:color .3s}
body.ekr-dark .ekr-hdr .nav a:hover,body.ekr-dark .ekr-hdr .nav a.on{color:#231F21!important}
body.ekr-dark .ekr-hdr .logo img{filter:invert(.93)}
body.ekr-dark .ekr-hdr .mnav summary{color:#EEEAE3}
body.ekr-dark .ekr-hdr .mpanel a{color:#231F21!important}
body.ekr-dark .ekr .pf .where,body.ekr-dark .ekr .pf .rot-hint{color:#EEEAE3!important}
body.ekr-dark .ekr .pf .arrow path{stroke:#EEEAE3!important}
body.ekr-dark .ekr .pf .prow .ptag[aria-pressed="false"]{color:#EEEAE3!important;background:rgba(242,238,233,.16)!important}

/* always reserve the scrollbar space, so pages never shift sideways when a scrollbar appears */
html{scrollbar-gutter:stable!important}

/* burnt covers with a real cutout: the page (or the desk) shows through where the board burnt away */
.ekr .ekr-face.is-cut{background:transparent!important}
.ekr .ekr-face.is-cut .f-full{filter:drop-shadow(.5cqw .2cqw .7cqw rgba(0,0,0,.45))}
.ekr .ekr-face.ekr-back.is-cut .f-full{filter:drop-shadow(-.5cqw .2cqw .7cqw rgba(0,0,0,.45))}

/* hardcover spine strip (Mariner's Brine): sits beside the cover while the book is shut */
.ekr .ekr-spine{position:absolute;top:0;height:100%;z-index:1;background-position:center;background-size:100% 100%;background-repeat:no-repeat;box-shadow:0 2.4vw 3vw -1.4vw rgba(40,28,34,.45)}
/* a cover with a spine beside it has no gutter shadow at its fold */
.ekr .ekr-face.has-spine .shade-r{display:none}
/* pages overlap a hair at the spine so no sliver of desk ever shows between them */
.ekr .ekr-leaf > .ekr-face{left:-1px}
.ekr .ekr-book > .ekr-base-left{width:calc(50% + 1px)!important}
.ekr .ekr-book > .ekr-base-right{left:calc(50% - 1px)!important;width:calc(50% + 1px)!important}
