:root{--bg:#f7f3ee;--bg-soft:#eef4ef;--bg-accent:#dce7f1;--card:#ffffffc2;--card-strong:#fbfcfaeb;--line:#485f7029;--text:#162633;--muted:#5d6e79;--accent:#87adca;--accent-strong:#90ad8d;--shadow:0 26px 90px #384d5e1f;--max-width:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#c5d8e9ad,#0000 24%),radial-gradient(circle at 100% 0,#c5d8c49e,#0000 26%),linear-gradient(#fbf8f4 0%,#f2f7f2 48%,#f5f7f3 100%);margin:0;font-family:Helvetica Neue,Helvetica,Arial,Roboto,sans-serif}a{color:inherit;text-decoration:none}main{width:min(calc(100% - 2rem), var(--max-width));margin:0 auto}.site-shell{position:relative}.site-shell:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#3a5c700a 1px,#0000 1px),linear-gradient(90deg,#3a5c700a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000059,#0000 92%);mask-image:linear-gradient(#00000059,#0000 92%)}.site-shell:after{content:"";pointer-events:none;filter:blur(10px);background:radial-gradient(circle,#87adca24,#0000 68%);border-radius:999px;width:26rem;height:26rem;position:fixed;inset:auto 6% 8% auto}.site-footer{width:min(calc(100% - 2rem), var(--max-width));margin:0 auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbf8f4e0;border-bottom:1px solid #485f701f;width:100%;transition:background-color .18s,box-shadow .18s,border-color .18s;position:sticky;top:0;box-shadow:0 1px 18px #384d5e0d}.site-header-inner{width:min(calc(100% - 3rem), var(--max-width));justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.75rem;margin:0 auto;padding:.65rem 0;display:flex}.brand{align-items:center;gap:.85rem;min-width:0;display:inline-flex}.brand strong,.hero-copy h1,.hero-copy h2,.section-heading h1,.section-heading h2,.project-copy h3,.timeline-card h3,.info-panel h2,.info-card h3,.project-hero h1,.demo-step-card h3{letter-spacing:-.02em;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;font-weight:600}.brand small,.eyebrow,.project-summary-panel span,.stat-card span,.timeline-card span,.demo-step-card span,.demo-status span:first-child{letter-spacing:.12em;text-transform:uppercase}.brand-mark{color:#244864;background:linear-gradient(145deg,#80abc657,#8cae8e47);border:1px solid #506f802e;border-radius:.9rem;place-items:center;width:2.8rem;height:2.8rem;font-weight:700;display:grid}.brand strong,.brand small{display:block}.brand small,.site-nav a,.lead,.project-copy p,.info-panel p,.info-card p,.timeline-card p,.section-heading>p,.site-footer p,.text-link,.bullet-list,.tag-list,.demo-step-card p,.demo-status span:last-child,.feature-copy p{color:var(--muted)}.brand>span:last-child{min-width:0}.brand strong{color:#172936;font-size:1.02rem;line-height:1.15}.brand small{text-overflow:ellipsis;white-space:nowrap;max-width:38rem;margin-top:.22rem;font-size:.68rem;line-height:1.35;overflow:hidden}.nav-toggle{width:2.55rem;height:2.55rem;color:var(--text);cursor:pointer;background:#ffffffb8;border:1px solid #485f702e;border-radius:.7rem;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .18s,border-color .18s,box-shadow .18s;display:none}.nav-toggle:hover,.nav-toggle:focus-visible{background:#fff;border-color:#485f7042;box-shadow:0 10px 22px #384d5e1a}.nav-drawer{z-index:19;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;max-height:0;padding:.4rem max(1.5rem, calc((100vw - var(--max-width)) / 2)) .85rem;pointer-events:none;background:#fbf8f4;border-bottom:1px solid #485f701f;flex-direction:column;transition:max-height .24s,opacity .18s,transform .22s;display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden;transform:translateY(-.35rem);box-shadow:0 18px 38px #384d5e1f}.nav-drawer.is-open{opacity:1;pointer-events:auto;max-height:22rem;transform:translateY(0)}.nav-drawer a{color:var(--muted);border-bottom:1px solid #485f7012;padding:.88rem .2rem;font-size:.98rem;font-weight:600;transition:color .16s,padding-left .16s}.nav-drawer a:last-child{border-bottom:none}.nav-drawer a:hover,.nav-drawer a:focus-visible{color:var(--text);padding-left:.5rem}.nav-drawer a.is-active{color:#163142;font-weight:600}.site-nav{justify-content:flex-end;display:flex;position:relative}.site-nav-track{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.site-nav a{z-index:2;white-space:nowrap;border-radius:.7rem;padding:.58rem .72rem;font-size:.88rem;font-weight:600;line-height:1;transition:background-color .22s,color .22s,transform .22s,box-shadow .22s;position:relative}.site-nav a:hover,.site-nav a:focus-visible,.button:hover,.button:focus-visible,.text-link:hover,.text-link:focus-visible{transform:translateY(-1px)}.site-nav a:hover,.site-nav a:focus-visible{color:var(--text);background:#80abc61c}.site-nav a.is-active{color:#163142;background:#fff;box-shadow:0 8px 20px #49677e1a}.hero-section,.content-section,.page-section{padding:4.5rem 0}.hero-section{grid-template-columns:1.18fr .82fr;align-items:stretch;gap:1.5rem;min-height:calc(72vh - 4rem);padding-top:3rem;display:grid}.hero-copy,.hero-panel,.project-card,.info-card,.timeline-card,.info-panel,.project-summary-panel,.contact-banner,.demo-shell{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}.hero-copy,.hero-panel,.contact-banner,.project-hero,.project-links-panel,.contact-grid,.two-column-layout,.intro-grid,.section-heading,.project-list,.timeline,.feature-grid,.profile-grid,.background-grid{gap:1.25rem;display:grid}.premium-hero{position:relative}.hero-copy{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#ffffffd1,#eef6f1eb),linear-gradient(#0000,#0000);border-radius:2rem;align-content:start;padding:2.4rem}.hero-copy h1{margin:0;font-size:clamp(3rem,10vw,5.6rem);line-height:.92}.hero-copy h2{color:#345f77;margin:.75rem 0 0;font-size:clamp(1.1rem,4vw,2rem)}.lead{max-width:40rem;font-size:clamp(1.05rem,2vw,1.18rem);line-height:1.7}.hero-pills{flex-wrap:wrap;gap:.65rem;display:flex}.hero-pill{color:#385468;background:#ffffffad;border:1px solid #485f701f;border-radius:999px;padding:.55rem .85rem;font-size:.88rem}.hero-actions,.project-actions,.contact-actions,.project-links-panel,.footer-links,.feature-links{flex-wrap:wrap;gap:.85rem;display:flex}.hero-work-teaser{background:#ffffffb8;border:1px solid #485f701f;border-radius:1.5rem;gap:.8rem;min-height:100%;padding:1.2rem 1.25rem;display:grid}.hero-work-teaser h3{margin:0;font-size:1.45rem}.hero-work-teaser p{margin:0}.hero-work-meta{flex-wrap:wrap;gap:.6rem;display:flex}.hero-work-meta span{color:#30546b;letter-spacing:.02em;text-transform:lowercase;background:#80abc61f;border-radius:999px;padding:.45rem .75rem;font-size:.82rem}.hero-work-link{place-self:end;margin-top:.35rem}.profile-inline{align-items:center;gap:.9rem;display:flex}.profile-inline strong{font-size:1rem;display:block}.profile-inline p{margin:.2rem 0 0}.profile-inline-image{background:#ffffffc7;border:1px solid #506f8024;border-radius:1.1rem;flex:none;width:4.5rem;height:4.5rem;position:relative;overflow:hidden}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:.8rem 1.15rem;transition:transform .18s,border-color .18s,background-color .18s;display:inline-flex}.button-primary{color:#10202b;background:linear-gradient(135deg,#7fa8c6,#9db99d);font-weight:700;box-shadow:0 16px 34px #87adca2e}.button-secondary{background:#ffffffad;border-color:#506f8038}.hero-panel{background:linear-gradient(#eef7faeb,#ebf6f0eb);border-radius:2rem;grid-template-rows:auto;align-content:start;padding:1.15rem}.portrait-card{background:linear-gradient(145deg,#8fb9d352,#a7c7ab4d);border-radius:1.6rem;padding:.35rem}.portrait-frame{background:#ffffffc7;border-radius:1.35rem;min-height:19rem;position:relative;overflow:hidden}.portrait-image{object-fit:cover;object-position:center 22%}.stat-card{background:var(--card-strong);border:1px solid #506f801a;border-radius:1.4rem;padding:1rem 1.1rem}.stat-card strong{margin-top:.4rem;font-size:1.02rem;line-height:1.35;display:block}.eyebrow{color:#5f7e92;margin:0 0 .65rem;font-size:.78rem}.inline-muted{color:#62836e;font-weight:500}.intro-grid,.two-column-layout,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.strength-grid,.contact-grid,.background-grid,.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.info-card,.info-panel,.contact-banner{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffbd;border-radius:1.4rem;padding:1.35rem}.background-card{background:linear-gradient(#ecf4f8d1,#f1f8f2db)}.section-heading{grid-template-columns:1.2fr .8fr;align-items:end;margin-bottom:1.6rem}.section-heading h1,.section-heading h2,.project-hero h1{margin:0;font-size:clamp(2rem,5vw,3.4rem);line-height:.98}.project-stage{background:radial-gradient(circle at 100% 0,#87adca24,#0000 24%),linear-gradient(135deg,#17313f 0%,#1d3742 54%,#233e38 100%);border:1px solid #ffffff14;border-radius:2.3rem;margin-top:1.5rem;padding:2.25rem;box-shadow:0 32px 90px #1626332e}.project-stage-heading h2,.project-stage-heading p,.project-stage .eyebrow{color:#e8f1f6}.project-stage .eyebrow{color:#9fc4dd}.project-stage .section-heading>p{color:#e8f1f6b8}.project-list,.timeline{grid-template-columns:1fr}.feature-grid-projects{grid-template-columns:.95fr 1.2fr;align-items:stretch;margin-bottom:1.6rem}.feature-story{background:linear-gradient(#ffffffe6,#f6faf9d1)}.project-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;border-radius:1.8rem;grid-template-columns:.78fr 1.22fr;gap:0;display:grid;overflow:hidden}.project-visual{background:radial-gradient(circle at 20% 20%,#8fb9d357,#0000 28%),radial-gradient(circle at 80% 30%,#a7c7ab38,#0000 30%),linear-gradient(160deg,#203744 0%,#294e58 58%,#29443f 100%);flex-direction:column;justify-content:space-between;min-height:18rem;padding:1.6rem;display:flex}.project-visual span{color:#d2e4f0;letter-spacing:.03em;text-transform:lowercase;opacity:.88;font-size:.78rem}.project-visual strong{color:#f6fbfd;max-width:11ch;font-size:clamp(2rem,4vw,3.4rem);line-height:.92}.project-copy{flex-direction:column;padding:1.6rem;display:flex}.project-copy-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.project-copy-top .eyebrow{color:#365b46}.project-copy h3{margin:0;font-size:2rem}.project-timeline{color:#6b7e88;white-space:nowrap;margin:0;font-size:.88rem}.project-proof{color:#304957;border-left:2px solid #87adca66;margin:.85rem 0 0;padding-left:1rem}.project-copy .tag-list{margin-top:1rem;margin-bottom:1rem}.project-actions{justify-content:flex-end;align-items:flex-end;margin-top:auto;padding-top:.35rem}.project-actions .button{flex:10.5rem;min-width:10.5rem}.tag-list,.bullet-list{margin:1rem 0 0;padding:0;list-style:none}.tag-list{flex-wrap:wrap;gap:.65rem;display:flex}.tag-list li{letter-spacing:.01em;text-transform:lowercase;color:#526772;background:#f4fafbf5;border:1px solid #506f801f;border-radius:999px;padding:.55rem .8rem;font-size:.88rem}.tag-list.large li{font-size:.95rem}.bullet-list{gap:.8rem;display:grid}.bullet-list li{padding-left:1rem;line-height:1.65;position:relative}.bullet-list li:before{content:"";background:var(--accent-strong);border-radius:999px;width:.45rem;height:.45rem;position:absolute;top:.75rem;left:0}.demo-shell{background:linear-gradient(160deg,#f5f9fbfa,#eff7f3fa);border-radius:2rem;padding:1rem}.demo-embed{object-fit:cover;background:#ffffffb8;border:0;border-radius:1.5rem;width:100%;min-height:29rem;display:block;box-shadow:inset 0 0 0 1px #485f7014}.demo-screen{background:#ffffffb8;border:1px solid #506f8024;border-radius:1.6rem;min-height:100%;padding:1rem}.demo-status{justify-content:space-between;gap:1rem;padding:.4rem .25rem 1rem;font-size:.8rem;display:flex}.demo-steps{gap:.9rem;display:grid}.demo-step-card{background:#ffffffe0;border:1px solid #506f801a;border-radius:1.2rem;padding:1rem}.demo-step-card span,.timeline-card span,.project-summary-panel span{color:#5b7f95;font-size:.72rem}.demo-step-card h3,.timeline-card h3{margin:.35rem 0 0;font-size:1.1rem}.process-section .timeline,.timeline.detailed{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline-card{background:#ffffffc7;border-radius:1.4rem;padding:1.35rem}.contact-banner{background:linear-gradient(135deg,#e6f2f7f0,#e7f4ebf0);grid-template-columns:1.2fr .8fr;align-items:center}.text-link{text-underline-offset:.25rem;text-decoration:underline}.page-section{width:min(100%, var(--max-width));margin:0 auto}.nested-section{padding-left:0;padding-right:0}.resume-first-section{padding-top:1rem}.project-hero{grid-template-columns:1.2fr .8fr;align-items:start;margin-bottom:1.5rem}.project-summary-panel{background:#ffffffc7;border-radius:1.4rem;padding:1.4rem}.project-summary-panel>div+div{margin-top:1rem}.project-summary-panel strong{margin-top:.4rem;font-size:1.15rem;display:block}.site-footer{justify-content:space-between;align-items:center;gap:1rem;padding:2rem 0 3rem;display:flex}@media (min-width:901px){.nav-drawer{display:none}}@media (max-width:900px){.hero-section,.intro-grid,.two-column-layout,.section-heading,.project-card,.project-hero,.contact-banner,.process-section .timeline,.timeline.detailed,.strength-grid,.contact-grid,.site-footer,.feature-grid,.profile-grid,.background-grid{grid-template-columns:1fr}.site-footer{position:static}.site-nav{display:none}.nav-toggle{display:flex}.site-header-inner{min-height:4.45rem}.hero-section{min-height:auto;padding-top:2rem}.project-stage{padding:1.35rem}}@media (max-width:640px){main,.site-footer,.site-header-inner{width:min(calc(100% - 1.75rem), var(--max-width))}.hero-section,.content-section,.page-section{padding:3rem 0}.project-stage{border-radius:1.7rem;padding:1.25rem}.project-card,.demo-shell{border-radius:1.5rem}.hero-copy,.hero-panel,.project-copy,.project-visual,.contact-banner,.info-card,.info-panel,.timeline-card,.demo-screen,.demo-shell{padding:1.1rem}.button{width:100%}.project-actions,.hero-actions,.contact-actions,.project-links-panel,.feature-links{display:grid}.project-actions .button{min-width:0}.project-copy .tag-list{margin-bottom:1.15rem}.project-actions{gap:.75rem;margin-top:0;padding-top:0}.demo-status{display:grid}}
