:root{color-scheme:light;--bg: #f8fafc;--bg-soft: #eef2f7;--surface: #ffffff;--surface-strong: #f1f5f9;--text: #111827;--text-muted: #526071;--border: #d7dee8;--accent: #0f766e;--accent-strong: #0d9488;--accent-soft: #ccfbf1;--amber: #b45309;--amber-soft: #fef3c7;--rose: #be123c;--rose-soft: #ffe4e6;--shadow: 0 22px 60px rgba(15, 23, 42, .12);--radius: 8px;--max-width: 1180px}:root[data-theme=dark]{color-scheme:dark;--bg: #0f172a;--bg-soft: #111827;--surface: #182033;--surface-strong: #222c40;--text: #f8fafc;--text-muted: #b7c0ce;--border: #344054;--accent: #2dd4bf;--accent-strong: #5eead4;--accent-soft: rgba(45, 212, 191, .14);--amber: #fbbf24;--amber-soft: rgba(251, 191, 36, .14);--rose: #fb7185;--rose-soft: rgba(251, 113, 133, .16);--shadow: 0 24px 70px rgba(0, 0, 0, .36)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;overflow-x:hidden;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;background:linear-gradient(90deg,rgba(15,118,110,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(180,83,9,.05) 1px,transparent 1px),var(--bg);background-size:72px 72px,72px 72px,auto;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-3rem;left:1rem;z-index:100;padding:.55rem .9rem;color:#fff;background:var(--accent);border-radius:var(--radius);font-weight:750;transition:top .18s ease}.skip-link:focus{top:.75rem}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}::selection{color:#031b1a;background:var(--accent-strong)}.site-shell,.admin-shell,.admin-login{min-height:100vh}.scroll-progress{position:fixed;z-index:60;top:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--accent),var(--amber),var(--rose));animation:scroll-progress linear both;animation-timeline:scroll()}@keyframes scroll-progress{to{transform:scaleX(1)}}.site-nav{position:sticky;z-index:50;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;margin:0 auto;padding:.85rem max(1rem,calc((100vw - var(--max-width)) / 2));background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}@supports not (backdrop-filter: blur(1px)){.site-nav{background:var(--bg)}}.brand{display:inline-flex;align-items:center;gap:.65rem;min-width:max-content;font-weight:750;transition:transform .22s ease}.brand:hover{transform:translateY(-1px)}.brand span{position:relative;display:grid;width:2.4rem;height:2.4rem;place-items:center;color:#fff;background:linear-gradient(135deg,#0f766e,#be123c);background-size:180% 180%;border-radius:var(--radius);box-shadow:0 14px 34px #0f766e3d;transition:box-shadow .32s ease,background-position .7s ease;animation:brand-gradient 9s ease-in-out infinite alternate}.brand:hover span{box-shadow:0 18px 44px #be123c52;background-position:100% 100%}@keyframes brand-gradient{0%{background-position:0% 0%}to{background-position:100% 100%}}.nav-links,.nav-actions,.hero-actions,.hero-meta,.project-links,.contact-actions,.button-row,.admin-toolbar{display:flex;align-items:center;gap:.75rem}.nav-links{padding:.4rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 84%,transparent);border-radius:var(--radius);box-shadow:0 10px 28px #0f172a14}.nav-links a{position:relative;padding:.55rem .75rem;color:var(--text-muted);border-radius:6px;transition:color .18s ease,background .18s ease}.nav-links a:after{position:absolute;bottom:.25rem;left:50%;width:0;height:2px;content:"";background:linear-gradient(90deg,var(--accent),var(--rose));border-radius:2px;transform:translate(-50%);transition:width .22s ease}.nav-links a:hover{color:var(--text);background:var(--surface-strong)}.nav-links a:hover:after{width:calc(100% - 1.5rem)}.admin-link{padding:.62rem .78rem;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius)}.segmented-control,.icon-group{display:inline-flex;align-items:center;gap:.25rem;min-height:2.55rem;padding:.22rem;color:var(--text-muted);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius)}.segmented-control>svg{margin-left:.42rem}.segmented-control button,.icon-group button,.menu-button,.icon-button,.icon-danger{display:inline-grid;place-items:center;min-width:2.08rem;min-height:2.08rem;color:inherit;border:0;background:transparent;border-radius:6px;transition:color .18s ease,background .18s ease,transform .18s ease}.segmented-control button{padding:0 .55rem;font-weight:700}.segmented-control button.is-active,.icon-group button.is-active,.menu-button:hover,.icon-button:hover{color:var(--text);background:var(--surface-strong)}.menu-button{display:none;color:var(--text);border:1px solid var(--border);background:var(--surface)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.85rem;padding:.78rem 1rem;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-weight:750;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-2px);box-shadow:0 14px 32px #0f172a1f}.button.primary{position:relative;overflow:hidden;color:#fff;border-color:transparent;background:linear-gradient(135deg,#0f766e,#be123c);isolation:isolate}.button.primary:before{position:absolute;inset:0;z-index:-1;content:"";background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translate(-120%);transition:transform .7s ease}.button.primary:hover:before{transform:translate(120%)}.button.secondary{background:color-mix(in srgb,var(--surface) 88%,transparent)}.button.compact{min-height:2.45rem;padding:.58rem .8rem}.button.full-width{width:100%}.button:disabled{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}.hero-section{position:relative;width:min(100% - 2rem,var(--max-width));margin:0 auto;padding:4.8rem 0 2rem}.hero-section:after{position:absolute;inset:-4rem auto auto -10vw;z-index:-1;width:38rem;height:38rem;pointer-events:none;content:"";background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent) 32%,transparent),transparent 60%);filter:blur(60px);opacity:.55;animation:hero-orb-float 14s ease-in-out infinite alternate}@keyframes hero-orb-float{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2rem,1rem,0) scale(1.08)}to{transform:translate3d(-1rem,2rem,0) scale(.95)}}.hero-section:before{position:absolute;inset:2rem 0 auto auto;width:min(48vw,38rem);max-width:100%;height:18rem;pointer-events:none;content:"";background:linear-gradient(120deg,transparent 0 26%,rgba(15,118,110,.18) 26% 28%,transparent 28% 50%),linear-gradient(70deg,transparent 0 48%,rgba(190,18,60,.14) 48% 50%,transparent 50% 100%);opacity:.9;animation:drift-lines 11s ease-in-out infinite alternate}@keyframes drift-lines{0%{transform:translateZ(0)}to{transform:translate3d(-2rem,1rem,0)}}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:3rem;align-items:center}.eyebrow{position:relative;display:inline-flex;align-items:center;gap:.5rem;width:fit-content;margin-bottom:1.3rem;padding:.42rem .62rem .42rem 1.6rem;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));background:var(--accent-soft);border-radius:var(--radius);font-weight:760;overflow:hidden}.eyebrow:before{position:absolute;top:50%;left:.62rem;width:.55rem;height:.55rem;content:"";background:var(--accent);border-radius:50%;transform:translateY(-50%);box-shadow:0 0 color-mix(in srgb,var(--accent) 60%,transparent);animation:pulse-dot 2.2s ease-out infinite}.eyebrow svg{animation:sparkle 3.6s ease-in-out infinite}@keyframes pulse-dot{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}70%{box-shadow:0 0 0 .65rem color-mix(in srgb,var(--accent) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}@keyframes sparkle{0%,to{transform:rotate(0) scale(1);opacity:1}50%{transform:rotate(18deg) scale(1.18);opacity:.85}}.hero-copy h1{max-width:13ch;margin:0;font-size:4.25rem;line-height:1.02;letter-spacing:0;background:linear-gradient(110deg,var(--text) 20%,var(--accent-strong) 45%,var(--text) 70%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:text-shimmer 8s ease-in-out infinite}@keyframes text-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-description,.large-text{max-width:66ch;color:var(--text-muted);font-size:1.15rem}.hero-actions{flex-wrap:wrap;margin:2rem 0 1.2rem}.hero-meta{flex-wrap:wrap;color:var(--text-muted)}.hero-meta span{display:inline-flex;align-items:center;gap:.45rem}.hero-visual{position:relative}.portrait-shell{position:relative;overflow:hidden;min-height:32rem;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .6s ease,box-shadow .6s ease}.portrait-shell:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 30px 70px #0f766e38}.portrait-shell:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 48%,color-mix(in srgb,var(--bg) 80%,transparent)),repeating-linear-gradient(90deg,transparent 0 24px,rgba(255,255,255,.08) 24px 25px);pointer-events:none}.portrait-shell img{width:100%;height:32rem;object-fit:cover;filter:saturate(1.04) contrast(1.02);transform:scale(1.02);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s ease}.portrait-shell:hover img{transform:scale(1.08);filter:saturate(1.14) contrast(1.05)}.terminal-card{position:absolute;right:1rem;bottom:1rem;display:grid;gap:.45rem;width:min(88%,21rem);padding:1rem;color:#d1fae5;border:1px solid rgba(45,212,191,.3);background:#030712db;border-radius:var(--radius);box-shadow:0 20px 50px #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:terminal-float 4.8s ease-in-out infinite alternate}@keyframes terminal-float{0%{transform:translateY(0)}to{transform:translateY(-.5rem)}}.terminal-card code{font-family:SFMono-Regular,Consolas,monospace;font-size:.9rem}.terminal-dots{display:flex;gap:.35rem}.terminal-dots span{width:.58rem;height:.58rem;border-radius:50%;background:var(--accent)}.terminal-dots span:nth-child(2){background:var(--amber)}.terminal-dots span:nth-child(3){background:var(--rose)}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}.stat-item,.metric-card,.skill-card,.service-card,.quote-card,.timeline-item,.project-card,.login-panel,.editor-item{border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);border-radius:var(--radius);box-shadow:0 14px 34px #0f172a14}.stat-item{padding:1.2rem;transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease}.stat-item:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:0 18px 42px #0f172a1f}.stat-item strong,.metric-card strong{display:block;color:var(--text);font-size:1.35rem;line-height:1.2}.stat-item span,.metric-card span,.skill-card span,.project-meta,.site-footer{color:var(--text-muted)}.tech-rail{overflow:hidden;margin:2rem 0;border-block:1px solid var(--border);background:color-mix(in srgb,var(--surface) 62%,transparent)}.rail-track{display:flex;gap:.75rem;width:max-content;padding:1rem 0;animation:rail 26s linear infinite}.rail-track span{padding:.5rem .75rem;color:var(--text-muted);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);font-weight:700}@keyframes rail{to{transform:translate(-50%)}}.section{width:min(100% - 2rem,var(--max-width));margin:0 auto;padding:5rem 0}.band-section{width:100%;max-width:none;padding-inline:max(1rem,calc((100vw - var(--max-width)) / 2));background:color-mix(in srgb,var(--surface) 54%,transparent);border-block:1px solid var(--border)}.split-section{display:grid;grid-template-columns:.55fr 1fr;gap:3rem;align-items:start}.section-heading span,.contact-copy span,.admin-kicker{display:inline-block;margin-bottom:.5rem;color:var(--accent);font-weight:800}.section-heading h2,.contact-copy h2,.admin-topbar h1{margin:0;font-size:2.25rem;line-height:1.1;letter-spacing:0}.row-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.text-link,.project-links a{display:inline-flex;align-items:center;gap:.45rem;color:var(--accent);font-weight:800}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-card{overflow:hidden;height:100%;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.project-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 46%,var(--border));box-shadow:var(--shadow)}.project-card.is-featured{position:relative;border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.project-card.is-featured:before{position:absolute;inset:-1px;z-index:0;content:"";padding:1px;background:linear-gradient(120deg,var(--accent),var(--amber),var(--rose),var(--accent));background-size:300% 300%;border-radius:inherit;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;animation:featured-border 6s linear infinite;pointer-events:none}.project-card>*{position:relative;z-index:1}@keyframes featured-border{to{background-position:300% 0%}}.project-image{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--surface-strong)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-image img{transform:scale(1.05)}.project-image span{position:absolute;top:.8rem;left:.8rem;padding:.35rem .55rem;color:#111827;background:var(--amber);border-radius:var(--radius);font-size:.82rem;font-weight:800}.project-body{display:grid;gap:.85rem;padding:1rem}.project-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--text-muted);font-size:.92rem}.project-meta time{color:var(--text-muted)}.project-body h3,.service-card h3,.timeline-item h3{margin:0;font-size:1.25rem;line-height:1.25}.project-body p,.service-card p,.timeline-item p,.quote-card p,.contact-copy p{margin:0;color:var(--text-muted)}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:0;list-style:none}.tag-list li,.tag-list span{padding:.33rem .5rem;color:var(--text-muted);border:1px solid var(--border);background:var(--surface-strong);border-radius:6px;font-size:.86rem;font-weight:700;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.tag-list li:hover,.tag-list span:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-soft);transform:translateY(-1px)}.project-links{flex-wrap:wrap}.skill-grid,.service-grid,.quote-grid,.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;padding:0;list-style:none}.skill-card{display:grid;gap:1rem;padding:1rem;transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease}.skill-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 18px 42px #0f172a1f}.skill-card strong,.skill-card span{display:block}.skill-meter{overflow:hidden;height:.52rem;background:var(--surface-strong);border-radius:999px}.skill-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--amber));border-radius:inherit;animation:meter-in .9s ease both}@keyframes meter-in{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.service-card{height:100%;padding:1.1rem;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.service-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 22px 50px #0f172a24}.service-icon,.login-icon{display:grid;width:2.65rem;height:2.65rem;place-items:center;margin-bottom:1rem;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius);transition:transform .32s ease,background .32s ease}.service-card:hover .service-icon{transform:translateY(-2px) rotate(-6deg) scale(1.08);background:color-mix(in srgb,var(--accent) 22%,var(--accent-soft))}.timeline{display:grid;gap:1rem;padding:0;margin:0;list-style:none;counter-reset:timeline}.timeline-item{position:relative;padding:1.2rem 1.2rem 1.2rem 2.6rem;transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease}.timeline-item:hover{transform:translate(2px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 18px 42px #0f172a1f}.timeline-item:before{position:absolute;top:1.45rem;left:1.1rem;width:.7rem;height:.7rem;content:"";background:var(--accent);border:2px solid var(--surface);border-radius:50%;box-shadow:0 0 color-mix(in srgb,var(--accent) 50%,transparent);animation:timeline-pulse 2.8s ease-out infinite}@keyframes timeline-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 50%,transparent)}70%{box-shadow:0 0 0 .55rem color-mix(in srgb,var(--accent) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}.timeline-item>article>time,.timeline-item>span,.timeline-item time{display:block;margin-bottom:.25rem;color:var(--accent);font-weight:800}.timeline-item strong{display:block;margin:.25rem 0 .75rem}.timeline-item ul{margin:.85rem 0 0;padding-left:1.2rem;color:var(--text-muted)}.quote-card{height:100%;margin:0;padding:1.2rem}.quote-card footer{display:grid;margin-top:1rem}.quote-card footer span{color:var(--text-muted)}.contact-section{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}.contact-copy h2{max-width:14ch}.contact-actions{flex-wrap:wrap;justify-content:end;font-style:normal}.icon-button{min-width:2.85rem;min-height:2.85rem;color:var(--text);border:1px solid var(--border);background:var(--surface);transition:transform .28s ease,color .2s ease,border-color .2s ease,background .2s ease}.icon-button:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-soft);transform:translateY(-2px) rotate(-6deg)}.site-footer{display:flex;justify-content:space-between;width:min(100% - 2rem,var(--max-width));margin:0 auto;padding:2rem 0;border-top:1px solid var(--border)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.app-loader{display:grid;min-height:100vh;place-items:center}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-login{display:grid;grid-template-rows:auto 1fr;padding:1rem}.login-toolbar{display:flex;align-items:center;justify-content:space-between;width:min(100%,var(--max-width));margin:0 auto}.login-panel{align-self:center;width:min(100%,430px);margin:3rem auto;padding:1.4rem}.login-panel h1{margin:0 0 1rem;font-size:2rem}.admin-shell{display:grid;grid-template-columns:18rem minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:1.2rem;height:100vh;padding:1rem;border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent)}.admin-tabs{display:grid;gap:.4rem}.admin-tabs button,.admin-logout{display:flex;align-items:center;gap:.65rem;width:100%;min-height:2.65rem;padding:.65rem .75rem;color:var(--text-muted);border:1px solid transparent;background:transparent;border-radius:var(--radius);text-align:left}.admin-tabs button.is-active,.admin-tabs button:hover,.admin-logout:hover{color:var(--text);border-color:var(--border);background:var(--surface-strong)}.admin-logout{margin-top:auto}.admin-main{min-width:0;padding:1.2rem}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);border-radius:var(--radius)}.admin-topbar h1{font-size:1.65rem}.admin-toolbar{flex-wrap:wrap;justify-content:end}.admin-status{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1rem}.admin-content,.admin-panel{display:grid;gap:1rem}.editor-section{display:grid;gap:1rem;padding:1rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 84%,transparent);border-radius:var(--radius)}.section-title-row,.editor-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.editor-title{justify-content:start}.editor-title span{display:grid;width:2.2rem;height:2.2rem;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius)}.editor-title h2{margin:0;font-size:1.2rem}.metric-grid{margin:0}.metric-card{padding:1rem}.form-grid{display:grid;gap:1rem}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;gap:.45rem}.field span,.check-field{color:var(--text-muted);font-size:.92rem;font-weight:750}.field input,.field textarea,.field select{width:100%;min-height:2.7rem;padding:.68rem .78rem;color:var(--text);border:1px solid var(--border);outline:none;background:var(--surface);border-radius:var(--radius);transition:border-color .18s ease,box-shadow .18s ease}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.check-field{display:flex;align-items:center;gap:.55rem}.check-field input{width:1rem;height:1rem;accent-color:var(--accent)}.editor-list{display:grid;gap:1rem}.editor-item{padding:1rem}.editor-item header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.editor-fields{display:grid;gap:1rem}.icon-danger{color:var(--rose);background:var(--rose-soft)}.icon-danger:hover{transform:translateY(-1px)}.file-button input{display:none}.form-alert{display:inline-flex;align-items:center;min-height:2.35rem;padding:.55rem .75rem;border-radius:var(--radius);font-weight:760}.form-alert.error{color:var(--rose);background:var(--rose-soft)}.form-alert.success{color:var(--accent);background:var(--accent-soft)}@media(max-width:980px){.hero-grid,.split-section,.contact-section,.admin-shell{grid-template-columns:1fr}.hero-copy h1{max-width:14ch;font-size:3.2rem}.project-grid,.skill-grid,.service-grid,.quote-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--border)}.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-logout{margin-top:0}}@media(max-width:760px){.site-nav{align-items:center;padding:.7rem 1rem}.nav-links{position:absolute;top:calc(100% + .5rem);right:1rem;left:1rem;display:none;flex-direction:column;align-items:stretch;padding:.6rem;background:var(--surface);box-shadow:var(--shadow)}.nav-links.is-open{display:flex}.nav-actions{flex-wrap:wrap;justify-content:end}.menu-button{display:inline-grid}.admin-link{display:none}.hero-section{padding-top:3rem}.hero-copy h1{font-size:2.65rem}.portrait-shell,.portrait-shell img{min-height:24rem;height:24rem}.terminal-card{right:.7rem;bottom:.7rem;width:calc(100% - 1.4rem)}.stats-strip,.project-grid,.skill-grid,.service-grid,.quote-grid,.metric-grid,.form-grid.two{grid-template-columns:1fr}.section{padding:3.2rem 0}.section-heading h2,.contact-copy h2{font-size:1.85rem}.row-heading,.admin-topbar,.section-title-row,.login-toolbar{align-items:flex-start;flex-direction:column}.contact-actions{justify-content:start}}@media(max-width:520px){.site-nav,.nav-actions,.hero-actions,.contact-actions,.admin-toolbar,.button-row{width:100%}.site-nav{flex-wrap:wrap}.brand strong{display:none}.button,.admin-toolbar .button,.contact-actions .button{width:100%}.segmented-control,.icon-group{flex:1}.hero-copy h1{font-size:2.25rem}.admin-tabs{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.reveal{opacity:1;transform:none}}
