
:root{color-scheme:dark;--bg:#0b1220;--panel:#111d30;--panel2:#17263b;--text:#e8eef7;--muted:#a8b6ca;--accent:#55c2e8;--line:#263951;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 20% 0%,#14263c 0%,var(--bg) 48%);color:var(--text);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--accent);text-underline-offset:3px}a:hover{color:#a3e7ff}
.site-header{position:sticky;top:0;z-index:20;background:rgba(8,16,29,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--max);margin:auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.brand{font-size:1.05rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;text-decoration:none;white-space:nowrap}.brand span{color:var(--accent)}
.main-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.main-nav a{color:var(--muted);text-decoration:none;padding:8px 11px;border-radius:8px;font-size:.92rem}.main-nav a:hover,.main-nav a:focus{background:var(--panel2);color:#fff}
main{max-width:var(--max);margin:34px auto 70px;padding:0 22px;min-height:65vh}
.site-content{background:rgba(17,29,48,.76);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,4vw,46px);box-shadow:0 18px 60px rgba(0,0,0,.22);min-height:240px}
.site-content>div{position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;width:auto!important;max-width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;margin:0 0 1.25rem!important;padding:0!important;box-sizing:border-box!important;transform:none!important}
.site-content p{margin:.45rem 0 1rem;line-height:1.75}.site-content h1,.site-content h2,.site-content h3{color:#fff;line-height:1.2;margin:.5rem 0 1rem}.site-content h1{font-size:clamp(1.8rem,4vw,2.6rem)}.site-content h2{font-size:1.55rem;color:#bcecff}.site-content h3{font-size:1.2rem}
.site-content .Body-C,.site-content .Body-C0,.site-content .Body-C1,.site-content .Body-C2{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;color:inherit!important}
.site-content .Body-C{font-size:1.08rem!important;font-weight:700!important}.site-content .Body-C0{font-size:1rem!important}.site-content .Body-C1{font-size:.9rem!important;color:var(--muted)!important}
.site-content img{max-width:100%!important;height:auto!important;object-fit:contain;border-radius:10px}.site-content table{width:100%!important;max-width:100%;border-collapse:collapse;margin:1.2rem 0;display:block;overflow-x:auto;background:#0e1929;border:1px solid var(--line);border-radius:10px}.site-content th,.site-content td{padding:11px 13px;border:1px solid var(--line);text-align:left;vertical-align:top;color:var(--text)}.site-content th{background:#1a2d45;color:#dff7ff}.site-content tr:nth-child(even) td{background:rgba(255,255,255,.025)}
.site-content ul,.site-content ol{padding-left:1.5rem}.site-content hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}
.site-footer{max-width:var(--max);margin:0 auto;padding:0 22px 35px;color:var(--muted);font-size:.88rem}.site-footer-inner{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:760px){.header-inner{align-items:flex-start;gap:10px}.main-nav{width:100%;gap:2px}.main-nav a{padding:7px 9px;font-size:.86rem}main{margin:18px auto 45px;padding:0 12px}.site-content{border-radius:12px;padding:18px}.site-content table{font-size:.9rem}}

/* WebPlus-exported tables: override their original light inline colours */
.site-content table{
  position:static!important;
  left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;
  width:100%!important;height:auto!important;min-width:680px;
  display:block!important;overflow-x:auto;table-layout:auto;
  background:#101d30!important;
  border:1px solid #304761!important;
  border-radius:10px;overflow-x:auto;overflow-y:hidden;
}
.site-content table tr{background:#14243a!important;}
.site-content table tr:first-child{background:#203a55!important;}
.site-content table th,
.site-content table td{
  background:#14243a!important;
  color:#e8eef7!important;
  border:1px solid #304761!important;
}
.site-content table tr:first-child th,
.site-content table tr:first-child td{
  background:#203a55!important;
  color:#f3f8ff!important;
  font-weight:700;
}
.site-content table tr:nth-child(even) td{background:#192b42!important;}
.site-content table td p,
.site-content table td span,
.site-content table th p,
.site-content table th span{color:#e8eef7!important;}
.site-content table a{color:#63c9f2!important;}
.site-content table a:hover{color:#b3edff!important;}
@media(max-width:760px){.site-content table{font-size:.9rem;}}


/* Home page layout */
.home-main{max-width:var(--max);margin:34px auto 70px;padding:0 22px;min-height:65vh}
.home-main h1,.home-main h2,.home-main h3{color:#f4f8ff;line-height:1.2;margin:0 0 14px}
.home-main h1{font-size:clamp(2rem,4vw,3.15rem);letter-spacing:-.035em;max-width:650px}
.home-main h2{font-size:clamp(1.45rem,2.5vw,2rem);letter-spacing:-.02em}
.home-main p{line-height:1.75}
.home-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:clamp(28px,5vw,64px);align-items:center;padding:clamp(26px,5vw,58px);background:linear-gradient(125deg,#172b45,#101b2d 68%);border:1px solid #2a405c;border-radius:20px;box-shadow:0 18px 55px rgba(0,0,0,.2)}
.eyebrow{margin:0 0 12px!important;color:#66c9ed;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.home-intro .lead{font-size:1.12rem;color:#d5e0ef;max-width:660px;margin:18px 0}
.last-updated{font-size:.86rem;color:var(--muted);margin:20px 0!important}
.hero-note{display:flex;align-items:center;gap:12px;margin-top:28px;color:#b9c9dc;font-size:.92rem}
.hero-note-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#203b57;color:#75d5f4;font-size:1.5rem}
.home-portrait-wrap{justify-self:center;max-width:280px;width:100%;padding:9px;background:rgba(255,255,255,.06);border:1px solid #3a526e;border-radius:17px;box-shadow:0 16px 35px rgba(0,0,0,.3)}
.home-portrait{display:block;width:100%;height:auto;max-height:405px;object-fit:cover;object-position:center;border-radius:11px}
.portrait-caption{text-align:center;color:#aebed1;font-size:.82rem;padding:9px 0 2px}
.origin-card{display:grid;grid-template-columns:1fr minmax(220px,.55fr);gap:32px;align-items:center;margin:26px 0;padding:clamp(24px,4vw,40px);background:#111f33;border:1px solid var(--line);border-radius:18px}
.origin-copy p:not(.eyebrow){color:#c5d2e2;max-width:680px;margin-bottom:0}
.origin-image{display:flex;align-items:center;justify-content:center;min-height:190px;padding:16px;background:#0b1525;border:1px solid #263d58;border-radius:14px}
.origin-image img{display:block;width:min(100%,300px);height:auto;max-height:190px;object-fit:contain}
.computer-section{padding:26px 0 18px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}
.section-heading>p{max-width:340px;color:var(--muted);margin:0 0 8px}
.computer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.computer-card{overflow:hidden;background:#111f33;border:1px solid #293e59;border-radius:14px;transition:transform .2s,border-color .2s}
.computer-card:hover{transform:translateY(-3px);border-color:#4b9ec0}
.computer-card img{display:block;width:100%;height:170px;object-fit:contain;padding:12px;background:#0c1727;border-radius:0}
.computer-card>div{padding:15px 16px 17px}
.computer-card h3{font-size:1.02rem;margin:0;color:#eaf5ff}
.computer-card p{font-size:.85rem;color:var(--muted);margin:7px 0 0;line-height:1.5}
.modern-projects{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center;margin:30px 0;padding:clamp(25px,4vw,42px);background:linear-gradient(115deg,#142b42,#102034);border:1px solid #2c4864;border-radius:18px}
.modern-projects-copy>p:not(.eyebrow){color:#c5d2e2}
.tech-tags{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 20px}
.tech-tags span{padding:7px 13px;border:1px solid #38617b;background:#173650;color:#bcecff;border-radius:999px;font-size:.88rem;font-weight:650}
.home-cta{display:inline-flex;align-items:center;gap:12px;padding:11px 17px;background:#1d789c;color:#fff!important;border:1px solid #3999bd;border-radius:9px;text-decoration:none;font-weight:750;transition:background .2s}
.home-cta:hover{background:#2697bd;color:#fff!important}
.modern-projects-art{position:relative;min-height:190px;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:radial-gradient(circle at center,#1b4965 0,#10273e 48%,#0c192b 100%);border:1px solid #31536e}
.chip{display:grid;place-items:center;width:94px;height:94px;border:2px solid #63c9eb;border-radius:18px;color:#8de0fa;font-size:3rem;font-weight:800;box-shadow:0 0 35px #2b8eae66,inset 0 0 24px #2b8eae33;z-index:1}
.circuit{position:absolute;width:150px;height:1px;background:#3e91b0;opacity:.7;transform:rotate(30deg)}.c1{top:35px;left:8%}.c2{bottom:42px;right:2%;transform:rotate(-28deg)}.c3{top:50%;left:4%;transform:rotate(-8deg)}
.contact-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:26px;padding:clamp(24px,4vw,38px);background:#101b2c;border:1px solid var(--line);border-radius:18px}
.contact-card p:not(.eyebrow){color:var(--muted);margin:0}.contact-card .home-cta{flex-shrink:0}
@media(max-width:900px){.computer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.home-main{margin:18px auto 45px;padding:0 12px}.home-hero{grid-template-columns:1fr;padding:25px;gap:24px}.home-portrait-wrap{max-width:230px;grid-row:1}.home-intro{text-align:left}.origin-card,.modern-projects{grid-template-columns:1fr}.origin-image{min-height:150px}.origin-image img{max-height:155px}.section-heading{display:block}.section-heading>p{margin-top:6px}.computer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.computer-card img{height:135px;padding:8px}.computer-card>div{padding:12px}.contact-card{align-items:flex-start;flex-direction:column}}
@media(max-width:390px){.computer-grid{grid-template-columns:1fr}.computer-card img{height:180px}}
