:root{--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-bg: #f8f5ef;--color-surface: #fffdf8;--color-surface-strong: #f0ebe1;--color-text: #181512;--color-muted: #6f675d;--color-border: #ded6c9;--color-accent: #2f6f73;--color-accent-strong: #184d50;--color-warm: #b84f32;--shadow-soft: 0 24px 80px rgba(50, 42, 30, .11);--radius-sm: 8px;--radius-md: 18px;--radius-lg: 28px;--container: 1120px;--section-y: 72px;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--motion-fast: .16s ease;--motion-medium: .42s cubic-bezier(.2, .8, .2, 1)}:root[data-theme=dark]{--color-bg: #101313;--color-surface: #171b1b;--color-surface-strong: #202727;--color-text: #f4efe7;--color-muted: #b6aca0;--color-border: #313a3a;--color-accent: #89d1c8;--color-accent-strong: #b8e8df;--color-warm: #f09a78;--shadow-soft: 0 24px 80px rgba(0, 0, 0, .34)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgba(47,111,115,.12),transparent 34rem),var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.6;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.06;letter-spacing:0}h1{max-width:900px;font-size:3rem}h2{font-size:2rem}h3{font-size:1.25rem}p{color:var(--color-muted)}main{min-height:70vh}.page-section{width:min(calc(100% - 32px),var(--container));margin:0 auto;padding:var(--section-y) 0}.page-hero{padding-top:88px}.page-hero p{max-width:720px;font-size:1.08rem}.eyebrow{margin-bottom:var(--space-3);color:var(--color-accent);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:999px;padding:.75rem 1.15rem;font-weight:800;transition:transform var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast)}.button:hover{transform:translateY(-2px)}.button-primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg)}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.button-secondary{background:transparent;color:var(--color-text)}.text-link{display:inline-flex;margin-bottom:var(--space-4);color:var(--color-accent);font-weight:800}.section-heading{max-width:680px;margin-bottom:var(--space-5)}.action-row,.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag-row span{border:1px solid var(--color-border);border-radius:999px;padding:.36rem .62rem;color:var(--color-muted);font-size:.82rem;font-weight:700}.hero-section{display:grid;min-height:72vh;align-items:center;gap:var(--space-5)}.hero-copy h1{margin-bottom:var(--space-4)}.hero-text{max-width:720px;margin-bottom:var(--space-5);font-size:1.12rem}.hero-panel{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);background:color-mix(in srgb,var(--color-surface) 86%,transparent);box-shadow:var(--shadow-soft)}.hero-panel:after{position:absolute;right:24px;bottom:-42px;width:110px;height:110px;border:1px solid var(--color-accent);border-radius:50%;content:"";opacity:.34}.hero-panel p{margin-bottom:var(--space-4);color:var(--color-text);font-size:1.4rem;font-weight:800;line-height:1.2}.hero-panel ul,.detail-aside ul{margin:0;padding-left:1.2rem;color:var(--color-muted)}.signal-line{width:72px;height:3px;margin-bottom:var(--space-5);background:linear-gradient(90deg,var(--color-accent),var(--color-warm))}.split-section,.story-layout,.detail-layout,.contact-layout{display:grid;gap:var(--space-5)}.feature-card,.surface-card,.project-card,.skill-card,.portrait-card,.contact-aside,.contact-form,.timeline-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 92%,transparent)}.feature-card,.surface-card,.project-card,.skill-card,.portrait-card,.contact-aside,.contact-form{padding:var(--space-4)}.feature-card{min-height:260px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-soft)}.feature-card>p,.card-index{color:var(--color-warm);font-size:.8rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.feature-card a,.project-card a{color:var(--color-accent);font-weight:900}.card-grid,.skills-grid,.project-list{display:grid;gap:var(--space-3)}.surface-card,.project-card,.skill-card{transition:transform var(--motion-fast),border-color var(--motion-fast),background var(--motion-fast)}.surface-card:hover,.project-card:hover,.skill-card:hover{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border));transform:translateY(-4px)}.project-card{display:grid;gap:var(--space-4)}.portrait-card{min-height:320px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,color-mix(in srgb,var(--color-accent) 12%,transparent),transparent),var(--color-surface)}.portrait-photo{width:120px;height:120px;border:1px solid var(--color-border);border-radius:50%;object-fit:cover;object-position:center}.prose-stack p{font-size:1.04rem}.timeline{display:grid;gap:var(--space-3)}.timeline-item{display:grid;gap:var(--space-3);padding:var(--space-4)}.timeline-item>span{color:var(--color-accent);font-weight:900}.contact-form{display:grid;gap:var(--space-3)}.contact-form label{display:grid;gap:.45rem;color:var(--color-text);font-weight:800}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.9rem 1rem;background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 18%,transparent)}.contact-form small{color:var(--color-warm)}.form-note{border:1px solid color-mix(in srgb,var(--color-accent) 50%,var(--color-border));border-radius:var(--radius-sm);padding:var(--space-3);background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-text);font-weight:800}.form-note-error{border-color:color-mix(in srgb,var(--color-warm) 55%,var(--color-border));background:color-mix(in srgb,var(--color-warm) 12%,transparent)}.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-aside{display:flex;flex-direction:column;gap:var(--space-3);align-self:start}.contact-aside a{color:var(--color-accent);font-weight:900}.reveal{animation:reveal-up var(--motion-medium) both}.delay-1{animation-delay:.14s}@keyframes reveal-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(min-width:720px){:root{--section-y: 92px}h1{font-size:4.6rem}h2{font-size:2.65rem}.page-section{width:min(calc(100% - 56px),var(--container))}.card-grid,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-item{grid-template-columns:160px 1fr}}@media(min-width:980px){.hero-section,.split-section,.story-layout,.detail-layout,.contact-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.card-grid,.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{grid-template-columns:1fr auto;align-items:end}.project-card .tag-row{grid-column:1 / -1}}
