*{box-sizing:border-box}.jh-history-page{margin:0!important;background:#06111c;color:#dbe8f6;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}.jh-history-page a{text-decoration:none}.jh-wrap{max-width:1220px;margin:auto;padding-left:28px;padding-right:28px}.jh-top{background:#030b13;border-bottom:1px solid #20364b}.jh-nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}.jh-brand{font:17px monospace;letter-spacing:2px;color:#f5faff!important}.jh-brand span,.jh-hero h1 span{color:#4a9fff}.jh-nav nav{display:flex;gap:28px;flex-wrap:wrap}.jh-nav nav a{color:#c4d2e0;font-size:14px}.jh-nav .current{color:#fff;border-bottom:2px solid #3e9dff;padding:9px 0}.jh-skip{position:absolute;left:-9999px}.jh-skip:focus{left:10px;top:10px;background:#fff;color:#000;padding:10px;z-index:99}.jh-hero{background:radial-gradient(ellipse at 80% 50%,#1c3244 0%,#091521 42%,#030a12 95%);border-bottom:1px solid #20364b;overflow:hidden}.jh-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:45px;min-height:510px;padding-top:54px;padding-bottom:54px}.jh-eyebrow,.jh-tag{font:700 13px monospace;letter-spacing:1.5px;color:#69b9ff}.jh-hero h1{font-size:clamp(32px,4vw,51px);line-height:1.13;letter-spacing:-1.5px;color:#fff;margin:20px 0}.jh-hero p:not(.jh-eyebrow){max-width:640px;color:#c5d1dc}.jh-btn,.jh-outline{display:inline-block;border-radius:6px;padding:10px 17px;margin-top:14px;font-size:14px;font-weight:700}.jh-btn{background:#318eff;color:#03111e!important}.jh-outline{border:1px solid #3978a8;color:#86caff!important}.jh-hero-art{padding:25px 10px;filter:drop-shadow(0 24px 24px #000a)}.jh-monitor{max-width:385px;margin:auto;border:22px solid #9e9280;border-bottom-width:31px;border-radius:17px 17px 10px 10px;background:#111;box-shadow:inset 0 0 20px #000,9px 9px 0 #514c46}.jh-screen{min-height:270px;padding:28px;color:#6efb83;background:radial-gradient(ellipse,#103621,#020b09 75%);font:clamp(13px,1.45vw,18px)/1.55 'Courier New',monospace;text-shadow:0 0 9px #4cff72;border-radius:20px}.jh-monitor-base{width:140px;height:28px;background:linear-gradient(#968d7c,#544f49);margin:0 auto}.jh-keyboard{height:36px;max-width:430px;background:repeating-linear-gradient(90deg,#8e897d 0 12px,#55514c 13px 15px);transform:perspective(200px) rotateX(30deg);border:8px solid #888174;border-radius:7px;margin:auto}.jh-section{padding-top:42px;padding-bottom:42px}.jh-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px;flex-wrap:wrap}.jh-section h2{font:700 clamp(19px,2.2vw,25px) 'Courier New',monospace;color:#b8e0ff;letter-spacing:1px;margin:0 0 20px}.jh-section-head span,.jh-subtitle{color:#8fb0c9;font-size:14px}.jh-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.jh-project-card{border:1px solid #28445b;border-radius:12px;padding:17px;display:grid;grid-template-columns:48% 1fr;gap:18px;background:linear-gradient(135deg,#101e2d,#081420)}.jh-project-visual{min-height:240px;border-radius:7px;overflow:hidden;position:relative}.jh-desktop{background:linear-gradient(135deg,#0c3766,#174c87 55%,#081b36);border:2px solid #40688b}.jh-desktop-bar,.jh-window-title{font:11px monospace;padding:7px;background:#0c223c;color:#e4f3ff}.jh-desktop-bar span,.jh-window-title span{float:right}.jh-desktop-icons{position:absolute;left:13px;top:45px;color:#c8e8ff;line-height:2.5}.jh-window{position:absolute;left:27%;top:22%;width:66%;height:61%;background:#122c48;box-shadow:0 8px 18px #001}.jh-window-body{padding:10px;color:#d6e6ff;font:12px/2 monospace}.jh-taskbar{position:absolute;bottom:0;width:100%;background:#081b32;color:#bde5ff;padding:7px;font-size:12px}.jh-terminal{background:#010708;border:2px solid #765448;color:#29ebbd;font:14px/1.8 'Courier New',monospace;padding:22px 15px}.jh-terminal-title{text-align:center;color:#ba86ff;letter-spacing:1px;border-bottom:1px dashed #a76160;margin-bottom:17px;font-size:12px}.jh-terminal-menu{color:#5bf3a5}.jh-cursor{animation:jhblink 1s steps(2) infinite}@keyframes jhblink{50%{opacity:0}}.jh-project-info h3{font-size:23px;color:#d4ebff;margin:5px 0 10px}.jh-project-info p:not(.jh-tag){font-size:14px;color:#c2ced9}.jh-note{font-size:12px;color:#7e9bb2;margin-top:15px}.jh-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:42px}.jh-era{text-align:center;position:relative}.jh-era:before{content:'';position:absolute;top:26px;left:-50%;width:100%;height:2px;background:#2b597e;z-index:0}.jh-era:first-child:before{display:none}.jh-era-icon{width:55px;height:55px;border:3px solid #65d9a9;color:#65d9a9;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#071726;font-size:27px;position:relative;z-index:1}.jh-era:nth-child(2) .jh-era-icon{border-color:#b695fa;color:#b695fa}.jh-era:nth-child(3) .jh-era-icon{border-color:#56a9ff;color:#56a9ff}.jh-era:nth-child(4) .jh-era-icon{border-color:#f3b957;color:#f3b957}.jh-era:nth-child(5) .jh-era-icon{border-color:#ee7fa9;color:#ee7fa9}.jh-era strong{color:#80c5ff;font:13px monospace}.jh-era h3{color:#d4eaff;font-size:15px;margin:7px 0}.jh-era p{font-size:13px;color:#b8c9d7}.jh-story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.jh-story{border:1px solid #28445b;border-radius:11px;overflow:hidden;background:#0d1a28}.jh-story-image{height:145px;display:flex;flex-direction:column;justify-content:center;align-items:center;font:bold 26px monospace;color:#fff;text-align:center}.jh-story-image small{display:block;font:11px monospace;letter-spacing:1px;margin-top:12px}.jh-modem{background:linear-gradient(130deg,#554b43,#151a1e);color:#ffc66d}.jh-aol{background:linear-gradient(130deg,#183a6e,#7d2f29)}.jh-web{background:linear-gradient(130deg,#2c5c71,#102c3e);color:#f76b65;font-size:40px}.jh-social{background:linear-gradient(130deg,#34255d,#12669a)}.jh-story-content{padding:16px}.jh-story h3{font-size:16px;color:#d8ebff;margin:0 0 8px}.jh-story p{font-size:13px;color:#c4d1dd;margin:0}.jh-ending{background:radial-gradient(ellipse at bottom,#1b4771,#0b1930 50%,#07111f);border-top:1px solid #23405a;padding:45px 0}.jh-ending-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.jh-ending h2{font:700 clamp(24px,3vw,36px)/1.3 'Courier New',monospace;color:#6cbaff;letter-spacing:1px;margin:0}.jh-ending p{color:#d5dfec}.jh-footer{padding:20px 0;background:#030b13}.jh-footer .jh-wrap{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:13px;color:#9bb4ca}.jh-footer a{color:#8dc8ff}.jh-history-page a:focus-visible{outline:3px solid #ffcb68;outline-offset:4px}@media(max-width:1000px){.jh-project-card{grid-template-columns:1fr}.jh-project-visual{min-height:220px}.jh-story-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.jh-wrap{padding-left:18px;padding-right:18px}.jh-nav{align-items:flex-start;flex-direction:column;padding-top:15px;padding-bottom:15px}.jh-nav nav{gap:16px}.jh-hero-grid{grid-template-columns:1fr;gap:8px;padding-top:40px}.jh-hero-art{max-width:420px;width:100%;margin:auto}.jh-project-grid,.jh-ending-grid{grid-template-columns:1fr}.jh-timeline{grid-template-columns:1fr;gap:20px;margin-top:20px}.jh-era{text-align:left;padding-left:70px;min-height:90px}.jh-era-icon{position:absolute;left:0;top:0;width:48px;height:48px}.jh-era:before{left:23px;top:-25px;width:2px;height:25px}.jh-era p{margin:3px 0}.jh-story-grid{grid-template-columns:1fr 1fr;gap:12px}.jh-story-image{height:115px;font-size:20px}.jh-story-content{padding:12px}}@media(max-width:420px){.jh-story-grid{grid-template-columns:1fr}.jh-hero h1{font-size:32px}}

.jh-project-photo img,.jh-story-photo img{width:100%;height:100%;object-fit:cover;display:block}.jh-image-placeholder{display:grid;place-items:center;min-height:240px;background:linear-gradient(135deg,#163b64,#071523);font:700 16px monospace;color:#b5dfff}.jh-story-link{display:block;color:inherit!important;height:100%}.jh-story-link:hover .jh-readmore{text-decoration:underline}.jh-readmore{display:inline-block;margin-top:12px;color:#6bbaff;font-size:13px}.jh-empty{grid-column:1/-1;background:#102338;border:1px dashed #4c789c;padding:25px;border-radius:8px;color:#d8e9f7}.jh-story-photo{background:linear-gradient(135deg,#234d78,#111e37)}

/* v2.1: full-width, uncropped project screenshots and aligned card footers */
.jh-project-card{display:flex;flex-direction:column;gap:0;padding:16px;min-width:0}
.jh-project-visual.jh-project-photo{width:100%;height:auto;min-height:0;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:#081626;border-radius:8px;overflow:hidden}
.jh-project-visual.jh-project-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}
.jh-project-info{display:flex;flex-direction:column;flex:1;align-items:flex-start;padding:18px 5px 5px}
.jh-project-info .jh-tag{margin:0 0 5px}
.jh-project-info .jh-outline{margin-top:auto;align-self:flex-start}
.jh-project-info p:not(.jh-tag){margin-bottom:24px}
@media(max-width:700px){.jh-project-visual.jh-project-photo{aspect-ratio:16/9;height:auto;min-height:0}}

/* v2.2: force true vertical card layout, overriding earlier Customizer rules */
body.jh-history-page .jh-project-grid > article.jh-project-card {display:flex !important;flex-direction:column !important;grid-template-columns:none !important;align-items:stretch !important;justify-content:flex-start !important;height:auto !important;gap:0 !important;}
body.jh-history-page .jh-project-card > .jh-project-visual.jh-project-photo {display:block !important;flex:none !important;width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;aspect-ratio:16/9 !important;overflow:hidden !important;padding:0 !important;background:#081626 !important;}
body.jh-history-page .jh-project-card > .jh-project-visual.jh-project-photo > img {display:block !important;width:100% !important;height:100% !important;max-height:100% !important;object-fit:contain !important;object-position:center center !important;}
body.jh-history-page .jh-project-card > .jh-project-info {display:flex !important;flex:1 !important;flex-direction:column !important;width:100% !important;padding:18px 5px 5px !important;align-items:flex-start !important;}
body.jh-history-page .jh-project-card > .jh-project-info .jh-outline {margin-top:auto !important;}

/* Project detail pages */
.jh-project-detail .jh-detail-hero{padding:65px 0;background:radial-gradient(ellipse at 80% 0%,#18334a,#06111c 65%);border-bottom:1px solid #28445b}
.jh-project-detail .jh-back{display:inline-block;margin-bottom:30px;color:#8acaff;font-size:14px}
.jh-project-detail .jh-detail-hero h1{font-size:clamp(38px,5vw,66px);line-height:1.12;color:#e0f0ff;margin:12px 0 20px}
.jh-project-detail .jh-detail-intro{font-size:20px;line-height:1.6;max-width:850px;color:#c1d3e2}
.jh-project-detail .jh-detail-image{padding-top:40px}
.jh-project-detail .jh-detail-image figure{margin:0;padding:18px;border:1px solid #28445b;border-radius:14px;background:#0b1a2b}
.jh-project-detail .jh-detail-image img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;border-radius:7px}
.jh-project-detail .jh-detail-image figcaption{text-align:center;color:#8ba9c0;font-size:12px;margin-top:10px}
.jh-project-detail .jh-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:45px;padding-top:55px;padding-bottom:60px}
.jh-project-detail .jh-detail-content{min-width:0;color:#c8d8e6;font-size:17px;line-height:1.8}
.jh-project-detail .jh-detail-content h2{color:#c8e8ff;font:700 29px/1.3 system-ui,sans-serif;margin:35px 0 14px;letter-spacing:0}
.jh-project-detail .jh-detail-content h3{color:#a5d7ff;font-size:21px;margin:25px 0 10px}
.jh-project-detail .jh-detail-content a,.jh-project-detail .jh-detail-sidebar a{color:#8acaff}
.jh-project-detail .jh-detail-content img{max-width:100%;height:auto;border-radius:8px}
.jh-project-detail .jh-detail-content figure{max-width:100%;margin:25px 0}
.jh-project-detail .jh-detail-content figcaption{color:#8ba9c0;font-size:13px}
.jh-project-detail .jh-detail-content ul{padding-left:24px}
.jh-project-detail .jh-detail-sidebar{align-self:start;border:1px solid #28445b;border-radius:12px;background:#101e2d;padding:24px}
.jh-project-detail .jh-detail-sidebar h2{font:700 20px system-ui,sans-serif;color:#d4ebff;margin:0 0 15px;letter-spacing:0}
.jh-project-detail .jh-detail-sidebar p{font-size:14px;color:#b7cadb}
.jh-project-detail .jh-more-projects{padding-bottom:70px}
.jh-project-detail .jh-more-projects h2{font:700 23px monospace;color:#b8e0ff}
.jh-project-detail .jh-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.jh-project-detail .jh-related-card{border:1px solid #28445b;border-radius:10px;overflow:hidden;background:#101e2d;color:#bce2ff;display:block}
.jh-project-detail .jh-related-card img{display:block;width:100%;height:165px;object-fit:contain;background:#081626}
.jh-project-detail .jh-related-card span{display:block;padding:15px;font-weight:700}
.jh-project-story-link{display:block;color:#8acaff!important;margin-top:12px;font-size:14px}
@media(max-width:800px){.jh-project-detail .jh-detail-layout{grid-template-columns:1fr;gap:20px}.jh-project-detail .jh-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.jh-project-detail .jh-detail-hero{padding:35px 0}.jh-project-detail .jh-related-grid{grid-template-columns:1fr}}
