/* Homepage preview: loaded only by refined.html. */
.kodesec-feature{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:26px;align-items:center}
.kodesec-feature .project-preview{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.kodesec-feature .selected-copy h3 span{display:inline-block;transition:transform .22s ease}
.kodesec-feature:is(:hover,:focus-visible) .project-preview{transform:translateY(-4px);border-color:var(--accent-teal);box-shadow:0 16px 38px #0002}
.kodesec-feature:is(:hover,:focus-visible) .selected-copy h3 span{transform:translate(3px,-3px)}
.kodesec-feature:is(:hover,:focus-visible) .case-link{text-decoration:underline;text-underline-offset:4px}
.kodesec-preview{background:linear-gradient(135deg,var(--bg-card),color-mix(in srgb,var(--accent-teal) 12%,var(--bg-page)))}
.kodesec-preview strong{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.06em}
.release-preview{font:400 .7rem/1.8 'Fira Code',monospace;color:var(--accent-teal)}
.case-study .case-hero{padding-top:65px}
.case-hero>.eyebrow{margin-top:48px}
.case-study h1{font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.1;max-width:950px}
.case-study h1 em{font-style:normal;color:var(--accent-teal)}
.case-lead{max-width:800px;font-size:1.12rem;line-height:1.85;color:var(--text-muted);margin-top:28px}
.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px;padding-top:25px;border-top:1px solid var(--preview-line)}
.case-facts dt{font:400 .65rem 'Fira Code',monospace;color:var(--accent-teal);text-transform:uppercase;margin-bottom:8px}
.case-facts dd{font-size:.94rem}
.case-section{display:grid;grid-template-columns:1fr 1.4fr;gap:70px}
.case-section h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.2}
.case-prose{color:var(--text-muted);font-size:1.02rem;line-height:1.9;min-width:0}
.case-prose p+p{margin-top:22px}
.case-prose h3{color:var(--text-main);margin:30px 0 12px;font-size:1.3rem}
.case-wide{max-width:840px;margin-top:38px}
.architecture-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.architecture-comparison figure{padding:28px;background:var(--bg-card);border:1px solid var(--preview-line);border-radius:10px;min-width:0}
.architecture-comparison figcaption{margin-bottom:28px}
.architecture-comparison h3{font-size:1.4rem}
.architecture-node{padding:18px 12px;border:1px solid var(--preview-line);border-radius:6px;font-size:.8rem;line-height:1.8;text-align:center}
.architecture-arrow{text-align:center;color:var(--accent-teal);font-size:.75rem;margin:16px 0}
.tenant-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.architecture-caption{color:var(--text-muted);font-size:.8rem;line-height:1.8;margin-top:25px}
.release-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:0}
.release-steps li{border-top:1px solid var(--preview-line);padding-top:24px}
.release-steps span{color:var(--accent-teal);font:400 .7rem 'Fira Code',monospace}
.release-steps h3{font-size:1.3rem;margin:20px 0 12px}
.release-steps p{font-size:.92rem;line-height:1.8;color:var(--text-muted)}
.case-callout{border-left:3px solid var(--accent-teal);padding:12px 25px;font-size:1.2rem;line-height:1.7;margin-top:35px;max-width:850px}
.case-results{list-style:none;padding:0;max-width:850px}
.case-results li{padding:18px 0;border-bottom:1px solid var(--preview-line);font-size:1.04rem;line-height:1.8}
.case-results li:before{content:'↗';color:var(--accent-teal);margin-right:14px}
.case-screenshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.case-screenshot{min-width:0;margin:0}
.case-screenshot-wide{grid-column:1/-1}
.case-screenshot a{display:block;border:1px solid var(--preview-line);border-radius:10px;overflow:hidden;background:var(--bg-card)}
.case-screenshot img{display:block;width:100%;height:auto;transition:transform .25s ease}
.case-screenshot a:hover img{transform:scale(1.015)}
.case-screenshot figcaption{display:grid;gap:5px;padding-top:13px;font-size:.87rem;line-height:1.5;color:var(--text-muted)}
.case-screenshot figcaption strong{color:var(--text-main);font-size:.96rem}
@media(max-width:760px){.kodesec-feature{grid-template-columns:1fr;gap:4px}.case-section,.architecture-comparison,.case-facts,.case-screenshot-grid{grid-template-columns:1fr;gap:28px}.case-screenshot-wide{grid-column:auto}.release-steps{grid-template-columns:1fr 1fr}.tenant-columns{grid-template-columns:1fr}.case-study .case-hero{padding-top:38px}}
.case-section-title{font:600 .72rem 'Fira Code',monospace;letter-spacing:.06em;color:var(--accent-teal);margin:25px 0 12px}
.pm-description p+p{margin-top:16px}
.pm-footer .social-icon{display:none}
.pm-footer{gap:24px;flex-wrap:wrap}
body:has(.refined) #project-modal-box,body:has(.refined) #experience-modal-box{max-width:860px;border-color:var(--preview-line);border-radius:12px;box-shadow:0 24px 60px #0006}
body:has(.refined) .pm-header{align-items:flex-start;gap:20px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--preview-line)}
body:has(.refined) .pm-title-row{min-width:0}
body:has(.refined) .pm-index{display:block;margin-bottom:9px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
body:has(.refined) .pm-title{font-family:'Nunito',sans-serif;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;letter-spacing:-.04em;overflow-wrap:anywhere}
body:has(.refined) .pm-role-tag{margin-top:8px;font-size:.8rem}
body:has(.refined) .pm-close{display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0;border:1px solid var(--preview-line);border-radius:8px;background:var(--bg-page);font-size:1.5rem}
body:has(.refined) .pm-close:is(:hover,:focus-visible){color:var(--accent-teal);border-color:var(--accent-teal)}
body:has(.refined) .pm-gallery,body:has(.refined) .certification-modal-image{border-color:var(--preview-line)}
body:has(.refined) .pm-footer{border-color:var(--preview-line)}
body:has(.refined) .pm-link{font-family:'Nunito',sans-serif;font-weight:700}
body:has(.refined) .certification-modal-details .btn{background:transparent;border-color:var(--accent-teal);color:var(--accent-teal);box-shadow:none}
body:has(.refined) .certification-modal-details .btn:is(:hover,:focus-visible){background:var(--accent-teal);color:var(--bg-page);filter:none}
body:has(.refined) section[id],body:has(.refined) footer[id]{scroll-margin-top:90px}
html:has(.refined){--preview-line:color-mix(in srgb,var(--text-muted) 18%,transparent)}
body:has(.refined){--bg-page:#101c24;--bg-card:#15242d;--text-main:#edf3ef;--text-muted:#a3b8bb;--accent-teal:#8ee2c0}
html[data-theme="light"] body:has(.refined){--bg-page:#f6f7f2;--bg-card:#fff;--text-main:#172f32;--text-muted:#52696a;--accent-teal:#226a53}
body:has(.refined) *{cursor:auto!important}
body:has(.refined) :is(a,button,summary,[role="button"]),body:has(.refined) :is(a,button,summary,[role="button"]) *{cursor:pointer!important}
body:has(.refined) :is(input:not([type="button"]):not([type="submit"]),textarea){cursor:text!important}
body:has(.refined) :is(button,input):disabled{cursor:not-allowed!important}
body:has(.refined) .cursor-trail{display:none}
body:has(.refined) header{background:var(--bg-page);border-color:var(--preview-line)}
body:has(.refined) .container{max-width:1220px;padding-left:36px;padding-right:36px}
body:has(.refined) .logo{text-shadow:none;font-size:1rem;letter-spacing:-.04em}
body:has(.refined) .nav-links{gap:20px}
body:has(.refined) .nav-links a{font-family:'Nunito',sans-serif;font-size:.82rem;color:var(--text-muted)}
.refined section{padding-top:88px;padding-bottom:88px}
.refined h1,.refined h2,.refined h3,.refined-contact h2{font-family:'Nunito',sans-serif;letter-spacing:-.045em}
.refined .eyebrow,.refined-contact .eyebrow{color:var(--accent-teal);font:500 .67rem/1.6 'Fira Code',monospace;letter-spacing:.13em;margin-bottom:20px}
.refined .intro{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center;padding-top:108px;padding-bottom:106px}
.refined .intro h1{font-size:clamp(2.8rem,4.6vw,4.35rem);line-height:1.08;letter-spacing:-.055em;margin-bottom:26px}
.intro h1 em{font-style:normal;color:var(--accent-teal)}
.refined .intro-description{font-size:1.06rem;line-height:1.85;color:var(--text-muted);max-width:520px;margin-bottom:28px}
.intro-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
body:has(.refined) .btn{background:var(--accent-teal);border:1px solid var(--accent-teal);color:var(--bg-page);box-shadow:none;border-radius:6px;font:700 .88rem 'Nunito',sans-serif;padding:14px 22px;transform:none}
body:has(.refined) .btn:hover{filter:brightness(1.08);box-shadow:none}
.quiet-link{font-size:.88rem;font-weight:700}
.refined .intro-note{font-size:.7rem;color:var(--text-muted);margin:30px 0 0;line-height:1.9}
.intro-note span{padding:0 5px;color:var(--accent-teal)}
.refined .terminal-window{width:100%;border:1px solid var(--preview-line);box-shadow:0 24px 64px #0002;border-radius:10px;transform:none}
.refined .terminal-body{min-height:245px;font-size:.76rem}
.refined .terminal-titlebar{background:#12222c}
.aside-note{font-size:.72rem;color:var(--text-muted);margin-top:18px;display:flex;align-items:center;gap:8px}
.status-dot{height:6px;width:6px;background:var(--accent-teal);border-radius:50%}
.refined section+section{border-top:1px solid var(--preview-line)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}
.section-heading h2,.hardware-feature h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.13}
.section-heading>p{max-width:300px;font-size:.97rem;color:var(--text-muted);line-height:1.8}
.selected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.selected-card{color:var(--text-main);text-align:left;background:transparent;border:0;display:flex;flex-direction:column;font:inherit;min-width:0}
.project-preview{aspect-ratio:1.45;width:100%;overflow:hidden;border-radius:8px;background:var(--bg-card);position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:28px;border:1px solid var(--preview-line)}
.project-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.selected-card:hover img,.selected-card:focus-visible img{transform:scale(1.035)}
.selected-card .project-preview{transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.selected-card:is(:hover,:focus-visible) .project-preview{border-color:var(--accent-teal);box-shadow:0 16px 38px #0002;transform:translateY(-4px)}
.selected-card:is(:hover,:focus-visible) .selected-copy h3,.selected-card:is(:hover,:focus-visible) .case-link{color:var(--accent-teal)}
.preview-number{font:400 4rem 'Fira Code',monospace;color:var(--accent-teal);opacity:.45}
.preview-label{font:500 .8rem 'Fira Code',monospace;color:var(--text-muted)}
.selected-copy{padding:23px 0 0;flex:1;display:flex;flex-direction:column;width:100%}
.selected-copy .eyebrow{font-size:.6rem;margin-bottom:9px}
.selected-copy h3{font-size:1.3rem;display:flex;justify-content:space-between;gap:12px;line-height:1.35;margin-bottom:12px}
.selected-copy h3 span{color:var(--accent-teal)}
.selected-copy>p{font-size:.91rem;line-height:1.75;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.8em}
.stack-labels{display:flex;gap:10px;flex-wrap:wrap;padding:17px 0;color:var(--text-muted);font:400 .64rem 'Fira Code',monospace}
.case-link{margin-top:auto;font-size:.8rem;font-weight:700;color:var(--accent-teal)}
.project-archive{margin-top:38px;border-top:1px solid var(--preview-line);padding-top:20px}
.project-archive summary,.playground summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.9rem;list-style:none}
.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:20px}
.archive-grid button{display:flex;justify-content:space-between;padding:16px 0;background:none;color:var(--text-main);border:0;border-bottom:1px solid var(--preview-line);font:inherit;text-align:left}
.archive-grid button,.experience-row{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.archive-grid button:is(:hover,:focus-visible),.experience-row:is(:hover,:focus-visible){color:var(--accent-teal);background:color-mix(in srgb,var(--accent-teal) 6%,transparent);border-color:var(--accent-teal)}
.archive-grid button span:last-child,.experience-row>span:last-child{transition:transform .2s ease}
.archive-grid button:is(:hover,:focus-visible) span:last-child,.experience-row:is(:hover,:focus-visible)>span:last-child{transform:translate(3px,-3px)}
.project-archive summary,.playground summary{transition:color .2s ease}
.project-archive summary:is(:hover,:focus-visible),.playground summary:is(:hover,:focus-visible),body:has(.refined) .quiet-link:is(:hover,:focus-visible){color:var(--accent-teal)}
.project-archive summary:is(:hover,:focus-visible) span,.playground summary:is(:hover,:focus-visible) span{transform:rotate(90deg)}
.project-archive summary span,.playground summary span{transition:transform .2s ease}
.experience-row{display:grid;grid-template-columns:180px 1fr 20px;gap:30px;width:100%;padding:28px 0;text-align:left;background:transparent;border:0;border-top:1px solid var(--preview-line);color:var(--text-main);font:inherit}
.experience-row strong{font-size:1.2rem}.experience-date{color:var(--text-muted);font:400 .76rem/2 'Fira Code',monospace}
.experience-role{display:block;color:var(--accent-teal);font-size:.86rem;margin:4px 0 10px}
.experience-description{color:var(--text-muted);font-size:.94rem;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.capability-icon{color:var(--accent-teal);font:400 1.5rem 'Fira Code',monospace}
.capability-grid h3{font-size:1.2rem;margin:24px 0 12px}
.capability-grid p,.hardware-feature p{color:var(--text-muted);line-height:1.8;font-size:.97rem}
.capability-tools{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:22px;font:400 .67rem/1.7 'Fira Code',monospace;color:var(--text-muted)}
.hardware-feature{padding:48px;border:1px solid var(--preview-line);border-radius:12px;background:var(--bg-card);display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.hardware-feature h2{margin-bottom:24px}.hardware-feature .btn{display:inline-block;margin-top:26px}.hardware-feature .hardware-caption{font-size:.68rem;margin-top:18px}
.board-art{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:space-around;overflow:hidden;border:1px solid #8ee2c033;border-radius:12px;background:#101f25}
.board-traces{position:absolute;inset:0;background-image:linear-gradient(#8ee2c00d 1px,transparent 1px),linear-gradient(90deg,#8ee2c00d 1px,transparent 1px);background-size:24px 24px}
.board-core{z-index:1;padding:35px 18px;text-align:center;font:500 1.5rem 'Fira Code',monospace;color:#8ee2c0;border:2px solid #8ee2c088;background:#152f32;outline:7px dashed #8ee2c033;outline-offset:6px}
.board-core small{font-size:.5rem}.board-component{font:400 .5rem 'Fira Code',monospace;color:#8ee2c0;writing-mode:vertical-rl}
.refined .certifications-grid{grid-template-columns:repeat(4,1fr);gap:28px}
.refined .certification-image-link{aspect-ratio:16/10;border-color:var(--preview-line)}
.refined .certification-image-link img{object-fit:contain}
.refined .certification-card-title{font-family:'Nunito',sans-serif;font-size:.95rem}
.refined .certification-card:is(:hover,:focus-visible) .certification-image-link{border-color:var(--accent-teal)}
.education-note{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:46px;padding-top:30px;border-top:1px solid var(--preview-line)}
.education-note .eyebrow{margin:0;font-size:.6rem}.education-note h3{font-size:1.05rem}.education-note p{color:var(--text-muted);font-size:.85rem;margin-top:5px}
.refined .playground{padding-top:32px;padding-bottom:32px}.playground .eyebrow{font-size:.59rem}.playground #spark{padding:25px 0}.playground-form{display:flex;gap:15px;margin-top:15px}.playground-form input{flex:1}
.refined-contact{background:var(--bg-card);padding:80px 0 25px;margin-top:50px}
.refined-contact h2{font-size:clamp(2.8rem,5vw,4.5rem);line-height:1.1;margin-bottom:24px}
.refined-contact p:not(.eyebrow){max-width:520px;color:var(--text-muted);line-height:1.8;margin-bottom:26px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--preview-line);margin-top:70px;padding-top:24px;font-size:.72rem;color:var(--text-muted)}
.refined :focus-visible,.refined-contact :focus-visible{outline:2px solid var(--accent-teal);outline-offset:5px}
@media(max-width:1000px){.refined .intro{gap:30px;grid-template-columns:1fr 1fr}.selected-grid{gap:18px}.hardware-feature{padding:30px;gap:35px}.experience-row{grid-template-columns:130px 1fr 20px}.capability-grid{gap:24px}}
@media(max-width:760px){body:has(.refined) .container{padding-left:22px;padding-right:22px}.refined section{padding-top:55px;padding-bottom:55px}.refined .intro{grid-template-columns:1fr;padding-top:65px;padding-bottom:60px;gap:40px}.refined .intro h1{font-size:3rem}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:100%}.selected-grid,.capability-grid{grid-template-columns:1fr;gap:35px}.project-preview{aspect-ratio:1.7}.selected-copy>p{min-height:0}.experience-row{grid-template-columns:1fr 20px;gap:10px}.experience-date{grid-column:1/-1}.hardware-feature{grid-template-columns:1fr;padding:25px}.board-art{max-width:300px;width:100%;justify-self:center}.refined .certifications-grid{grid-template-columns:repeat(2,1fr)}.education-note{align-items:flex-start;flex-direction:column;gap:15px}.archive-grid{grid-template-columns:1fr}.playground-form{flex-direction:column}.refined-contact{padding-top:55px}.footer-bottom{margin-top:45px}}
@media(prefers-reduced-motion:reduce){body:has(.refined) *,body:has(.refined) *:before,body:has(.refined) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
