:root{--navy:#0F2A43;--body:#4A5560;--teal:#0B6E6E;--wash:#EEF5F6;--line:#C9D9DC;--white:#FFF;--radius:18px;--shadow:0 18px 50px rgba(15,42,67,.10);--space-1:8px;--space-2:16px;--space-3:24px;--space-4:40px;--space-5:64px;--space-6:96px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--body);font-family:"Source Sans 3",Arial,sans-serif;font-size:17px;line-height:1.6}body:has(.menu-toggle[aria-expanded=true]){overflow:hidden}a{color:inherit}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.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:fixed;z-index:1000;left:16px;top:16px;background:var(--navy);color:#fff;padding:12px 16px;border-radius:8px;transform:translateY(-160%);transition:transform .2s}.skip-link:focus{transform:translateY(0);outline:3px solid var(--teal);outline-offset:2px} :focus-visible{outline:3px solid var(--teal);outline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);min-height:44px}.brand img{width:42px;height:42px}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand strong{font-size:18px}.brand small{font-size:12px;color:var(--teal);font-weight:700;text-transform:uppercase;letter-spacing:1.2px;margin-top:4px}.main-nav{display:flex;align-items:center;gap:26px}.main-nav a,.nav-resume{font-size:15px;font-weight:700;color:var(--navy);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.main-nav a:hover{color:var(--teal)}.nav-resume{border:1px solid var(--teal);background:transparent;color:var(--teal);padding:8px 14px;border-radius:999px;cursor:pointer}.menu-toggle{display:none;min-height:44px;padding:8px 14px;border:1px solid var(--teal);border-radius:999px;background:#fff;color:var(--teal);font:inherit;font-weight:700;cursor:pointer}.hero{background:linear-gradient(180deg,#fff 0%,#f7fbfb 100%);padding:clamp(64px,10vw,128px) 0 var(--space-6);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:clamp(40px,8vw,112px);align-items:center}.eyebrow{margin:0 0 16px;color:var(--teal);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.hero h1{max-width:700px;margin:0;color:var(--navy);font-size:clamp(2.6rem,5.2vw,5rem);line-height:1.01;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:var(--teal)}.hero-lede{max-width:590px;font-size:clamp(1.1rem,2vw,1.35rem);margin:28px 0;color:var(--body)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{min-height:48px;padding:11px 18px;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;cursor:pointer}.button-primary{background:var(--teal);color:#fff}.button-primary:hover{background:var(--navy)}.button-secondary{background:#fff;border-color:var(--teal);color:var(--teal)}.button-secondary:hover{background:var(--wash)}.button-light{background:#fff;color:var(--navy)}.button-light:hover{background:var(--wash)}.hero-note{margin-top:22px;font-size:14px;color:var(--teal);font-weight:600}.hero-visual{min-height:430px;padding:28px;border-radius:var(--radius);background:var(--navy);color:#fff;box-shadow:var(--shadow);position:relative;transform:rotate(1.5deg)}.hero-visual:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.20);border-radius:12px;pointer-events:none}.visual-topline,.visual-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.5px;font-weight:700}.live-dot{color:#8fd8ca}.chart-area{height:270px;margin:34px 10px 30px;position:relative;border-bottom:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3);background:repeating-linear-gradient(to bottom,transparent 0,transparent 66px,rgba(255,255,255,.10) 67px)}.chart-y{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between}.chart-y i{display:block;border-top:1px solid rgba(255,255,255,.1)}.bars{height:100%;display:flex;align-items:end;justify-content:space-around;padding:0 28px}.bars b{display:block;width:9%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#73cabe,#0B6E6E)}.trend-line{position:absolute;left:8%;right:4%;top:33%;height:35%;border-top:3px solid #fff;transform:skewY(-12deg);opacity:.9}.trend-line span{position:absolute;width:10px;height:10px;background:#fff;border-radius:50%;top:-7px}.trend-line span:nth-child(1){left:0}.trend-line span:nth-child(2){left:25%}.trend-line span:nth-child(3){left:48%}.trend-line span:nth-child(4){left:70%}.trend-line span:nth-child(5){right:0}.visual-bottom{letter-spacing:0}.visual-bottom>div{display:flex;flex-direction:column;gap:2px}.visual-bottom strong{font-size:16px;letter-spacing:0}.mini-label{color:#8fd8ca;font-size:10px;letter-spacing:1.3px}.visual-mark{font-size:24px;color:#8fd8ca}.visual-mark span{font-size:14px;margin-left:6px}.section{padding:var(--space-6) 0}.section-heading{max-width:720px;margin-bottom:var(--space-4)}.section-heading h2,.about-section h2,.resume-section h2,.contact-section h2{margin:0;color:var(--navy);font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;letter-spacing:-.03em}.section-heading>p:last-child{margin:18px 0 0;max-width:660px}.projects-section{background:var(--wash)}.project-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(15,42,67,.05);display:flex;flex-direction:column}.project-card-dark{background:var(--navy);color:#fff;border-color:var(--navy)}.project-card-muted{background:#fbfcfc}.project-visual{min-height:190px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--navy)}.project-visual span{font-size:13px;font-weight:700;letter-spacing:2px}.project-visual strong{font-size:19px;letter-spacing:.04em}.retail-visual{background:linear-gradient(135deg,#d4e9e6 0 35%,#f6f9f9 35%);background-image:linear-gradient(135deg,#d4e9e6 0 35%,#f6f9f9 35%),repeating-linear-gradient(0deg,transparent 0 28px,rgba(11,110,110,.14) 29px 30px)}.sales-visual{background:linear-gradient(145deg,#85d0c3,#0b6e6e 58%,#0f2a43);color:#fff}.hr-visual{background:linear-gradient(135deg,#eef5f6 0 45%,#b9dfd9 45%);}.store-visual{background:linear-gradient(135deg,#f6f8f8,#d9e8eb);}.project-content{padding:22px;display:flex;flex-direction:column;flex:1}.project-meta{display:flex;justify-content:space-between;gap:12px;color:var(--teal);font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.project-card-dark .project-meta{color:#8fd8ca}.project-content h3{margin:14px 0 14px;color:var(--navy);font-size:clamp(1.35rem,2.5vw,1.75rem);line-height:1.1}.project-card-dark .project-content h3{color:#fff}.case-study{margin:0;display:grid;gap:12px}.case-study div{display:grid;grid-template-columns:72px 1fr;gap:12px}.case-study dt{color:var(--teal);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.7px}.project-card-dark .case-study dt{color:#8fd8ca}.case-study dd{margin:0;font-size:15px;line-height:1.45}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.tag-row span{font-size:12px;background:var(--wash);border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--navy);font-weight:600}.project-card-dark .tag-row span{background:#1e4661;border-color:#37627b;color:#fff}.project-link{margin-top:auto;padding-top:20px;font-size:14px;font-weight:700;text-decoration:none}.project-link:after{content:" ↗"}.project-link.pending{color:#4A5560;cursor:not-allowed}.project-card-dark .project-link.pending{color:#a8bcc5}.about-section{background:#fff}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,10vw,144px);align-items:start}.bio{font-size:clamp(1.3rem,2.4vw,1.8rem);color:var(--navy);line-height:1.45;margin:0}.about-detail{max-width:580px;margin-top:24px}.skills-section{background:var(--wash)}.skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.skill-group{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;min-height:240px}.skill-group-accent{background:var(--navy);color:#fff;border-color:var(--navy)}.skill-number{color:var(--teal);font-weight:700;font-size:13px;letter-spacing:1px}.skill-group-accent .skill-number{color:#8fd8ca}.skill-group h3{color:var(--navy);font-size:22px;margin:16px 0 10px}.skill-group-accent h3{color:#fff}.skill-group p{margin:0;font-size:15px}.tag-row.large{gap:8px}.tag-row.large span{font-size:13px}.skill-group-accent .tag-row span{background:#1e4661;border-color:#37627b;color:#fff}.resume-section{background:var(--navy);color:#fff}.resume-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.resume-section h2{color:#fff}.resume-section p:not(.eyebrow){max-width:620px;margin:18px 0 0;color:#d9e6ea}.resume-action{min-width:240px}.resume-action .button{width:100%}.form-status{margin:10px 0 0;font-size:14px;color:#8fd8ca}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,9vw,120px);align-items:start}.contact-lede{font-size:19px;max-width:520px}.contact-links{display:grid;gap:12px;margin-top:32px}.contact-links a{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:16px;font-weight:600;text-decoration:none;min-height:44px}.contact-links a:hover{color:var(--teal)}.contact-links span{color:var(--teal);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;min-width:72px}.contact-links b{margin-left:auto}.contact-form{display:grid;gap:18px;background:var(--wash);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.field{display:grid;gap:6px}.field label{color:var(--navy);font-weight:700}.field input,.field textarea{width:100%;font:inherit;color:var(--navy);background:#fff;border:1px solid #5c7b84;border-radius:8px;padding:11px 13px;min-height:48px}.field textarea{resize:vertical}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#9c3d3d}.field-error{color:#8b2f2f;font-size:14px;margin:0}.site-footer{padding:22px 0;background:#f7f9f9;border-top:1px solid var(--line);color:var(--body);font-size:14px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-inner a{color:var(--teal);font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}@media(max-width:1023px){.hero-grid{gap:48px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-list{grid-template-columns:1fr}.project-card{display:grid;grid-template-columns:minmax(210px,.7fr) 1fr}.project-visual{height:100%;border-bottom:0;border-right:1px solid var(--line)}.project-content{min-height:100%}}@media(max-width:639px){body{font-size:17px}.container{width:min(100% - 32px,560px)}.header-inner{min-height:64px}.menu-toggle{display:inline-flex}.main-nav{position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow);display:none;align-items:stretch;flex-direction:column;gap:0}.main-nav.is-open{display:flex}.main-nav a,.nav-resume{padding:10px 12px}.hero{padding:64px 0}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(2.6rem,13vw,4rem)}.hero-visual{min-height:340px;transform:none;padding:20px}.chart-area{height:195px;margin:25px 4px 20px}.visual-bottom{gap:12px}.visual-bottom strong{font-size:14px}.section{padding:56px 0}.section-heading{margin-bottom:28px}.project-card{display:flex}.project-visual{height:auto;min-height:170px;border-right:0;border-bottom:1px solid var(--line)}.case-study div{grid-template-columns:1fr;gap:3px}.skill-grid{grid-template-columns:1fr}.skill-group{min-height:0}.about-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.resume-inner{align-items:flex-start;flex-direction:column}.resume-action{width:100%}.footer-inner{align-items:flex-start;flex-direction:column}.site-footer{padding:28px 0}}@media(prefers-color-scheme:dark){body{background:#0c1f31;color:#d8e5e8}.site-header,.main-nav,.button-secondary,.field input,.field textarea{background:#0c1f31}.site-header{border-color:#315066}.brand,.main-nav a,.nav-resume,.section-heading h2,.about-section h2,.contact-section h2,.contact-links a,.project-content h3,.skill-group h3,.field label,.bio{color:#f4fbfc}.hero{background:linear-gradient(180deg,#0c1f31,#102b40)}.section,.about-section{background:#0c1f31}.projects-section,.skills-section,.contact-form,.skill-group,.project-card,.site-footer{background:#102b40;border-color:#315066}.project-card-muted{background:#102b40}.project-visual{border-color:#315066}.project-card-dark{background:#071a2a}.body,.section-heading>p:last-child,.about-detail,.contact-lede{color:#c2d2d7}.contact-links a:hover{color:#8fd8ca}.field input,.field textarea{border-color:#507083;color:#f4fbfc}.footer-inner{color:#b4c6cc}.main-nav.is-open{background:#0c1f31}.eyebrow,.brand small,.skill-number,.contact-links span{color:#8fd8ca}.project-link.pending{color:#a8bcc5}.button-secondary{color:#8fd8ca;border-color:#8fd8ca}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-visual{transform:none}}
