:root{color-scheme:dark;--bg:#0a101b;--surface:#101a29;--surface2:#132033;--line:#27364b;--text:#f2f6fb;--muted:#a2b1c4;--accent:#74e3c4;--blue:#75a9fc;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}::selection{background:var(--accent);color:#08131a}.container{width:min(var(--max),calc(100% - 64px));margin:auto}.site-shell{overflow:hidden}.skip-link{position:absolute;top:-100px;left:20px;background:white;color:black;padding:8px 16px;z-index:5}.skip-link:focus{top:10px}.site-header{height:93px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:15px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;font-size:21px;font-weight:800;letter-spacing:-3px;color:#08141e;background:var(--accent);border-radius:11px}.brand-dot{color:#315e64}.brand-label{font-size:12px;font-weight:800;letter-spacing:.18em}.site-header nav{display:flex;gap:35px}.site-header nav a{font-size:14px;color:#cad5e3;transition:color .2s}.site-header nav a:hover,.secondary-link:hover,.footer a:hover{color:var(--accent)}.hero{min-height:595px;display:grid;grid-template-columns:1.24fr .76fr;align-items:center;gap:30px;padding-top:60px;padding-bottom:80px}.hero-content{position:relative;z-index:2}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--accent)}.eyebrow{display:flex;align-items:center;gap:11px}.signal-dot{height:7px;width:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(46px,5.4vw,74px);margin:25px 0 24px;font-weight:760}h2{font-size:clamp(35px,4vw,52px);margin:15px 0 0}h3{font-size:25px;margin:27px 0 13px}.gradient-text{background:linear-gradient(110deg,var(--accent),var(--blue));color:transparent;background-clip:text;-webkit-background-clip:text}.period{color:var(--accent)}.hero-lead{max-width:630px;font-size:18px;line-height:1.8;color:#b9c6d6}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:35px}.primary-link{display:inline-flex;gap:28px;align-items:center;background:var(--accent);border-radius:7px;padding:13px 21px;color:#081821;font-weight:750;font-size:14px;transition:transform .2s,background .2s}.primary-link:hover{transform:translateY(-2px);background:#a2f6dc}.secondary-link{font-size:14px;color:#cad5e3}.secondary-link span{margin-left:8px}.hero-art{min-height:410px;position:relative;display:grid;place-items:center;isolation:isolate}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#638ab00e 1px,transparent 1px),linear-gradient(90deg,#638ab00e 1px,transparent 1px);background-size:29px 29px;mask-image:radial-gradient(circle,#000 20%,transparent 73%)}.art-orbit{border:1px solid rgba(120,182,221,.22);border-radius:50%;position:absolute;transform:rotate(-29deg)}.orbit-one{width:318px;height:318px}.orbit-two{width:410px;height:210px}.art-core{display:grid;place-items:center;width:212px;height:212px;border-radius:27%;background:radial-gradient(circle at 25% 20%,#284f58,#102337 62%,#0d1b2c);box-shadow:0 0 100px #4bddbe12, inset 0 0 0 1px #8dedd535;transform:rotate(-10deg)}.art-core>span{font-weight:850;font-size:82px;letter-spacing:-.12em;color:#eafffa;transform:rotate(10deg)}.art-core>span span{color:var(--accent)}.art-cross{position:absolute;color:var(--accent);font-size:24px}.cross-one{left:10%;top:22%}.cross-two{right:4%;bottom:25%}.art-coordinate{position:absolute;right:0;bottom:0;color:#5b7891;font:10px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}.section-pad{padding:108px 0}.about-section{background:#0d1624;border-block:1px solid #1c2939}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.about-copy p{color:#b7c5d5;font-size:17px;line-height:1.9;margin-bottom:16px}.interest-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.interest-tags span{font-size:12px;color:#d1e3ec;border:1px solid #304359;background:#152338;padding:7px 12px;border-radius:5px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading p{max-width:355px;color:var(--muted);font-size:15px;margin:0 0 3px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.project-card{min-height:304px;display:flex;flex-direction:column;padding:29px;background:linear-gradient(160deg,#142135,#101928);border:1px solid #27374a;border-radius:10px;transition:transform .2s,border-color .2s,background .2s}.project-card:hover{transform:translateY(-4px);border-color:#4d8b8b;background:#17263a}.project-card.featured{background:linear-gradient(135deg,#15383c,#14263a 65%,#101928);border-color:#2f6664}.card-top,.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-icon{width:47px;height:47px;display:grid;place-items:center;font-size:15px;font-weight:800;letter-spacing:-.04em;border-radius:9px;color:#b2fbe2;background:#1b4648;border:1px solid #376969}.category{font-size:9px;color:#87a3b4;font-weight:800;letter-spacing:.12em;text-align:right}.project-card p{color:#afbdcf;font-size:14px;line-height:1.75;margin-bottom:24px}.card-footer{margin-top:auto;border-top:1px solid #314056;padding-top:18px;flex-wrap:wrap}.stack{font-size:11px;color:#7895aa}.project-status{font-size:11px;color:#8aa5b6}.project-link{font-size:12px;color:var(--accent);font-weight:700;white-space:nowrap}.project-link:hover{text-decoration:underline}.site-section{padding-top:35px}.site-panel{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;background:linear-gradient(120deg,#17383b,#142438 72%);border:1px solid #2c5358;border-radius:14px;padding:60px 68px}.site-panel p{color:#bfd0da;font-size:16px;line-height:1.85}.site-panel p:last-child{margin:0}.footer{height:115px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #223044;color:#8297ac;font-size:12px}.footer-brand{font-weight:850;letter-spacing:-.12em;color:#e3f5f0;font-size:30px}.footer-brand span{color:var(--accent)}@media(max-width:950px){.hero{grid-template-columns:1fr}.hero-art{display:none}.hero{min-height:auto;padding-top:95px;padding-bottom:100px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{gap:40px}.site-panel{gap:35px;padding:45px}}@media(max-width:620px){.container{width:min(var(--max),calc(100% - 36px))}.site-header{height:78px}.brand-label{display:none}.site-header nav{gap:17px}.site-header nav a{font-size:12px}.hero{padding-top:73px;padding-bottom:77px}.eyebrow{font-size:10px}h1{font-size:clamp(41px,10vw,59px)}.hero-lead{font-size:16px}.hero-actions{gap:19px}.section-pad{padding:72px 0}.about-grid,.site-panel{grid-template-columns:1fr}.about-copy p{font-size:16px}.section-heading{display:block}.section-heading p{margin-top:18px}.project-grid{grid-template-columns:1fr}.project-card{min-height:270px}.site-section{padding-top:0}.site-panel{padding:31px 25px}.footer{height:100px;gap:12px}.footer a:last-child{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* v1.0.2 - personal highlights */
.about-copy strong{color:#e7fff8;font-weight:700}.highlights-section{background:#0d1624;padding:0 0 72px}.highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.highlight{border:1px solid #2a4252;background:linear-gradient(145deg,#182b3d,#111e2e);border-radius:11px;padding:25px 26px}.highlight-label{display:block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:12px}.highlight strong{display:block;color:var(--text);font-size:18px;line-height:1.35}.highlight p{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.65}@media(max-width:750px){.highlights-grid{grid-template-columns:1fr}.highlights-section{padding-bottom:55px}}

/* v1.0.3 — DG and Daniel Grant signature artwork */
.site-header{height:99px}.brand{gap:12px}.brand-image{width:76px;height:43px;object-fit:cover;object-position:center;mix-blend-mode:screen}
.hero{grid-template-columns:1fr;gap:18px;min-height:0;padding-top:75px;padding-bottom:65px}
.hero-content{max-width:875px}.hero-lead{max-width:800px}.hero-artwork{margin-top:14px;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#080d0f;border:1px solid #22303b;border-radius:14px}
.hero-artwork img{display:block;width:100%;height:auto;object-fit:contain}
.footer-brand{display:flex;align-items:center}.footer-brand img{width:76px;height:40px;object-fit:cover;mix-blend-mode:screen}
@media(max-width:950px){.hero{padding-top:70px;padding-bottom:65px}.hero-artwork{display:block}}
@media(max-width:620px){.site-header{height:78px}.brand-image{width:58px;height:35px}.hero{padding-top:57px;padding-bottom:57px}.hero-artwork{border-radius:8px;margin-top:12px}.footer-brand img{width:62px;height:35px}}

/* v1.0.4: return to original v1.0.2 navy / mint / soft blue colour palette */
