:root{--navy:#0d1b2a;--navy2:#132335;--navy3:#1c3247;--gold:#c9a84c;--gold2:#e8c97a;--cream:#f5f0e8;--cream-light:#faf8f3;--mist:#eae6de;--text:#2a2a2a;--subtext:#5a5a5a;--rule:#c9a84c59;--white:#fff;--error:#c0392b;--hairline:#0d1b2a14;--font-heading:"Cormorant Garamond", serif;--font-body:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace;--display:clamp(48px, 6.5vw, 84px);--h1:clamp(38px, 4.5vw, 52px);--h2:clamp(28px, 3.2vw, 38px);--space-gutter:clamp(24px, 6vw, 48px);--space-section:clamp(64px, 9vw, 112px);--width-wide:1040px;--width-prose:800px;--shadow-card:0 1px 2px #0d1b2a0f;--shadow-card-hover:0 14px 32px -12px #0d1b2a38;--ease:cubic-bezier(.22, .61, .36, 1);--transition:.25s var(--ease)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream-light);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.7}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--navy);line-height:1.15}h1{font-size:var(--h1);letter-spacing:-.5px;font-weight:700}h2{font-size:var(--h2);font-weight:700}h3{font-size:1.5rem;font-weight:600}a{color:var(--gold);transition:color var(--transition);text-decoration:none}a:hover{color:var(--gold2)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.shell{flex-direction:column;min-height:100vh;display:flex}.shell main{flex:1}.eyebrow{font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-size:11px;font-weight:500}.btn{background:var(--gold);color:var(--navy);font-family:var(--font-body);letter-spacing:.5px;border:1px solid var(--gold);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);border-radius:2px;padding:14px 32px;font-size:14px;font-weight:600;display:inline-block}.btn:hover{background:var(--gold2);border-color:var(--gold2);color:var(--navy);transform:translateY(-1px);box-shadow:0 8px 20px -8px #c9a84c80}.btn:disabled{background:var(--subtext);border-color:var(--subtext);cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{color:var(--gold);background:0 0;border-color:#c9a84c80}.btn-outline:hover{color:var(--gold2);box-shadow:none;background:#c9a84c1a}.arrow-link{letter-spacing:.5px;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.arrow-link .arrow{transition:transform var(--transition);display:inline-block}.arrow-link:hover .arrow{transform:translate(4px)}.page{max-width:var(--width-prose);padding:72px var(--space-gutter);margin:0 auto}.page-lede{color:var(--subtext);margin-bottom:40px;line-height:1.7}.page>h1{margin-bottom:24px}.rule-heading{border-bottom:1px solid var(--rule);margin-top:48px;margin-bottom:20px;padding-bottom:12px}.accent-list{padding:0;list-style:none}.accent-list li{border-bottom:1px solid var(--hairline);gap:12px;padding:10px 0;display:flex}.accent-list li:before{content:"›";color:var(--gold);flex-shrink:0;font-weight:600}.accent-list-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.accent-list-grid li{color:var(--subtext);border-bottom:none;padding:6px 0;font-size:14px}.nav{background:var(--navy);padding:0 var(--space-gutter);z-index:100;border-bottom:1px solid #c9a84c26;position:sticky;top:0}.nav-inner{height:72px;max-width:var(--width-wide);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-brand{font-family:var(--font-heading);color:var(--gold);letter-spacing:-.5px;font-size:28px;font-weight:700}.nav-links{gap:32px;display:flex}.nav-link{color:#fff9;letter-spacing:.5px;text-transform:uppercase;transition:color var(--transition);padding:4px 0;font-size:13px;font-weight:400;position:relative}.nav-link:hover{color:var(--cream)}.nav-link.active{color:var(--gold);font-weight:600}.nav-link.active:after{content:"";background:var(--gold);height:2px;position:absolute;bottom:-4px;left:0;right:0}.nav-drawer{border-top:1px solid #c9a84c33;padding-bottom:20px}.nav-drawer .nav-link{padding:12px 0;display:block}.nav-drawer .nav-link.active:after{display:none}.nav-mobile-toggle{color:var(--gold);cursor:pointer;background:0 0;border:none;padding:8px;font-size:24px;display:none}.hero{background:linear-gradient(160deg, var(--navy) 0%, var(--navy2) 100%);padding:clamp(88px, 14vh, 140px) var(--space-gutter) clamp(72px, 10vh, 112px);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(90deg,#f5f0e808 0 1px,#0000 1px 220px);position:absolute;inset:0}.hero-glow{pointer-events:none;background:radial-gradient(circle,#c9a84c24 0%,#0000 70%);border-radius:50%;width:560px;height:560px;position:absolute;top:-120px;right:-120px}.hero-content{max-width:var(--width-wide);margin:0 auto;position:relative}.hero-content>*{animation:fade-up .7s var(--ease) both}.hero-content>:nth-child(2){animation-delay:.1s}.hero-content>:nth-child(3){animation-delay:.2s}.hero-content>:nth-child(4){animation-delay:.3s}.hero-title{font-size:var(--display);color:var(--white);letter-spacing:-1px;max-width:820px;margin-bottom:20px;font-weight:700;line-height:1.02}.hero-title em{color:var(--gold);font-style:italic}.hero-sub{color:#fff9;max-width:620px;margin-bottom:44px;font-size:clamp(16px,1.6vw,19px);font-weight:300;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:16px;display:flex}.metrics-bar{background:var(--mist);border-bottom:3px solid var(--gold);grid-template-columns:repeat(4,1fr);display:grid}.metric{text-align:center;border-right:1px solid var(--rule);padding:36px 24px}.metric:nth-child(4n){border-right:none}.metric-value{font-family:var(--font-heading);color:var(--gold);margin-bottom:8px;font-size:clamp(38px,4vw,48px);font-weight:700;line-height:1}.metric-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--subtext);font-size:12px;font-weight:500}.home-section{max-width:var(--width-wide);padding:var(--space-section) var(--space-gutter);margin:0 auto}.band{background:var(--mist)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.section-head .eyebrow{margin-bottom:10px}.cs-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.cs-grid .cs-card{margin-bottom:0}.home-bio{color:var(--subtext);max-width:720px;margin-bottom:16px;font-size:16px;line-height:1.8}.cta-band{background:var(--navy);text-align:center;padding:var(--space-section) var(--space-gutter)}.cta-title{color:var(--white);margin-bottom:12px;font-size:clamp(30px,3.6vw,44px)}.cta-sub{color:#ffffff8c;max-width:520px;margin:0 auto 32px}.post-card{border-bottom:1px solid var(--rule);padding:28px 0}.post-meta{font-family:var(--font-mono);color:var(--subtext);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.post-header .post-meta{margin-bottom:12px}.title-link:hover h3,.title-link:hover .post-card-title{color:var(--gold)}.post-card-title{transition:color var(--transition);margin-bottom:8px}.post-card-excerpt{color:var(--subtext);font-size:15px;line-height:1.7}.post-card .arrow-link{margin-top:12px}.post-header h1{margin-bottom:40px}.post-header .tag-row{margin-bottom:16px}.cs-card{border:1px solid var(--rule);background:var(--white);box-shadow:var(--shadow-card);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);border-radius:3px;flex-direction:column;align-items:flex-start;margin-bottom:20px;padding:28px;display:flex}.cs-card:hover{box-shadow:var(--shadow-card-hover);border-color:#c9a84c99;transform:translateY(-4px)}.cs-card h3{transition:color var(--transition);margin-bottom:12px}.tag-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tag{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--gold);background:var(--navy);border-radius:2px;padding:4px 10px;font-size:10px}.cs-card-challenge{color:var(--subtext);font-size:14px;line-height:1.7}.cs-card .arrow-link{margin-top:16px}.about-header{flex-wrap:wrap;align-items:flex-start;gap:32px;margin-bottom:40px;display:flex}.about-photo{object-fit:cover;border:3px solid var(--gold);border-radius:4px;flex-shrink:0;width:96px;height:96px;margin-top:8px}.about-header h1{margin-bottom:12px}.about-subtitle{color:var(--subtext);font-size:15px;line-height:1.6}.about-body{color:var(--subtext);font-size:16px;line-height:1.85}.about-body>p{margin-bottom:20px}.resume-section{margin-bottom:40px}.resume-section h2{border-bottom:1px solid var(--rule);margin-bottom:16px;padding-bottom:10px;font-size:1.3rem}.resume-sections{margin-top:56px}.form-field{margin-bottom:20px}.form-label{color:var(--navy);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-input{width:100%;font-size:15px;font-family:var(--font-body);border:1px solid var(--rule);background:var(--white);color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);border-radius:2px;padding:12px 16px}.form-input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c9a84c2e}textarea.form-input{resize:vertical}.form-error{color:var(--error);margin-bottom:16px;font-size:14px}.form-success{background:var(--mist);border:1px solid var(--rule);text-align:center;border-radius:2px;padding:32px}.form-success h3{margin-bottom:8px}.form-success p{color:var(--subtext)}.footer{background:var(--navy);padding:56px var(--space-gutter) 32px;color:#ffffff73;font-size:14px}.footer-grid{max-width:var(--width-wide);grid-template-columns:2fr 1fr 1fr;gap:32px;margin:0 auto 40px;display:grid}.footer-brand{font-family:var(--font-heading);color:var(--cream);margin-bottom:8px;font-size:22px;font-weight:600}.footer-tagline{max-width:280px;line-height:1.6}.footer-heading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin-bottom:12px;font-size:11px}.footer-col{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.footer-col a{color:#ffffff8c;font-size:14px}.footer-col a:hover{color:var(--gold2)}.footer-bottom{max-width:var(--width-wide);border-top:1px solid #c9a84c26;margin:0 auto;padding-top:24px;font-size:13px}.prose{color:var(--subtext);font-size:16px;line-height:1.85}.prose h2{font-family:var(--font-heading);color:var(--navy);border-bottom:1px solid var(--rule);margin-top:40px;margin-bottom:16px;padding-bottom:8px;font-size:1.5rem;font-weight:700}.prose h3{font-family:var(--font-heading);color:var(--navy3);margin-top:32px;margin-bottom:12px;font-size:1.2rem;font-weight:600}.prose p{margin-bottom:16px}.prose ul,.prose ol{margin:12px 0;padding-left:24px}.prose li{margin-bottom:8px}.prose img{border-radius:6px;max-width:100%;height:auto;margin:28px auto;display:block}.prose blockquote{font-family:var(--font-heading);color:var(--navy);border-left:3px solid var(--gold);margin:32px 0;padding:2px 0 2px 24px;font-size:1.4rem;font-style:italic;line-height:1.4}.prose blockquote p{margin:0}.prose table{border-collapse:collapse;width:100%;margin:28px 0;font-size:.9rem;line-height:1.5}.prose thead th{font-family:var(--font-body);text-align:left;color:var(--cream);background:var(--navy);border:1px solid var(--navy3);padding:10px 14px;font-weight:600}.prose tbody td{border:1px solid var(--rule);color:var(--subtext);vertical-align:top;padding:10px 14px}.prose tbody tr:nth-child(2n) td{background:var(--mist)}.prose tbody td:first-child{color:var(--navy);font-weight:600}.prose code{font-family:var(--font-mono);background:var(--mist);color:var(--navy);border-radius:3px;padding:1px 6px;font-size:.92em}.prose pre{font-family:var(--font-mono);background:var(--navy);color:var(--cream);border-radius:4px;margin:20px 0;padding:16px 20px;font-size:.88em;line-height:1.55;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}@media (max-width:768px){.nav-links{display:none}.nav-mobile-toggle{display:block}.metrics-bar{grid-template-columns:1fr 1fr}.metric:nth-child(4n){border-right:1px solid var(--rule)}.metric:nth-child(2n){border-right:none}.metric:nth-child(-n+2){border-bottom:1px solid var(--rule)}.cs-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:28px}.accent-list-grid{grid-template-columns:1fr}}
