:root{
  --bg:#ffffff;--bg-soft:#faf9fb;--surface:#ffffff;--text:#0a0f14;--heading:#0f2943;--muted:#687687;
  --accent:#e87532;--accent-2:#f4a261;--green:#059652;--line:#e7e9ed;--line-strong:#d8dee6;
  --navy:#0f2943;--shadow:0 22px 60px rgba(15,41,67,.12);--shadow-lg:0 34px 90px rgba(15,41,67,.18);
  --radius:26px;--radius-sm:16px;--shell:min(1240px,calc(100% - 48px));--rx:0deg;--ry:0deg;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Roboto,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body::selection{background:rgba(232,117,50,.22)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.shell{width:var(--shell);margin-inline:auto}.section{padding:106px 0;position:relative}.section-tight{padding:72px 0}.light-section{background:var(--bg-soft)}h1,h2,h3,h4{font-family:"Questrial",Inter,ui-sans-serif,system-ui,sans-serif;color:var(--heading);line-height:1.06;margin:0;letter-spacing:-.035em}h1{font-size:clamp(50px,6.8vw,90px)}h2{font-size:clamp(40px,4.3vw,64px)}h3{font-size:clamp(25px,2.3vw,34px)}p{margin:0;color:var(--muted)}.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;left:18px;top:-100px;z-index:9999;padding:12px 18px;background:var(--heading);color:#fff;border-radius:10px}.skip-link:focus{top:18px}.cursor-glow{pointer-events:none;position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(232,117,50,.10),transparent 66%);transform:translate(-50%,-50%);z-index:-1;opacity:0;transition:opacity .3s}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.90);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,41,67,.07);transition:box-shadow .25s,background .25s}.site-header.is-scrolled{box-shadow:0 12px 35px rgba(15,41,67,.08);background:rgba(255,255,255,.97)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;flex:none}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--heading),#173f63);color:#fff;font-weight:800;letter-spacing:-.08em;box-shadow:0 10px 24px rgba(15,41,67,.18);position:relative;overflow:hidden}.brand-mark::after{content:"";position:absolute;width:18px;height:4px;border-radius:999px;background:var(--accent);right:-2px;top:8px;transform:rotate(-28deg)}.brand-name{display:flex;gap:4px;align-items:baseline;font-size:18px;letter-spacing:-.02em}.brand-name strong{color:var(--heading)}.brand-name em{font-style:normal;color:var(--accent);font-weight:800}.site-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700;color:#3b4a59}.site-nav>a:not(.nav-cta){position:relative;padding:12px 0}.site-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;border-radius:999px;background:var(--accent);transition:right .25s}.site-nav>a:hover,.site-nav>a[aria-current="page"]{color:var(--accent)}.site-nav>a:hover::after,.site-nav>a[aria-current="page"]::after{right:0}.nav-cta{padding:12px 18px;border-radius:999px;background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(232,117,50,.25);transition:transform .25s,box-shadow .25s}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(232,117,50,.28)}.menu-button{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px}.menu-button>span:not(.sr-only){display:block;height:2px;background:var(--heading);margin:5px 0;border-radius:2px}

/* Common */
.eyebrow,.subtitle{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(232,117,50,.12)}.section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:54px;align-items:end;margin-bottom:48px}.section-heading.centered{display:block;max-width:780px;text-align:center}.section-heading.centered p{max-width:700px;margin:18px auto 0}.section-heading h2{margin-top:12px}.section-heading>p{font-size:17px;line-height:1.8;max-width:520px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;border-radius:12px;font-weight:800;border:1px solid transparent;transition:transform .25s,box-shadow .25s,border-color .25s,color .25s,background .25s}.button.primary{background:var(--accent);color:#fff;box-shadow:0 12px 26px rgba(232,117,50,.22)}.button.primary:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(232,117,50,.30);background:#dd6c2d}.button.ghost{border-color:#ccd6df;color:var(--heading);background:#fff}.button.ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.text-link{color:var(--accent);font-weight:800;display:inline-flex;gap:8px;align-items:center}.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(3px,-2px)}.center-action{text-align:center;margin-top:42px}

/* Hero */
.hero{min-height:760px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff 72%,#fffaf6 100%);padding-top:90px}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(15,41,67,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(15,41,67,.026) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(to bottom,transparent,black 18%,black 78%,transparent)}.hero-dot{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.hero-dot-one{width:420px;height:420px;right:-150px;top:70px;background:radial-gradient(circle at 35% 35%,rgba(232,117,50,.20),rgba(232,117,50,.04) 60%,transparent 70%)}.hero-dot-two{width:320px;height:320px;left:-120px;bottom:-80px;background:radial-gradient(circle at 60% 40%,rgba(15,41,67,.10),transparent 65%)}.hero-grid{display:grid;grid-template-columns:minmax(0,.98fr) minmax(480px,.9fr);gap:72px;align-items:center;position:relative;z-index:1}.hero-copy h1{margin:18px 0 26px}.hero-copy h1 span{color:var(--accent)}.hero-lead{max-width:670px;font-size:19px;line-height:1.82;color:#526273}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-stats{display:grid;grid-template-columns:repeat(3,max-content);gap:28px;margin-top:38px}.hero-stats>div{padding-right:28px;border-right:1px solid var(--line)}.hero-stats>div:last-child{border:0;padding-right:0}.hero-stats strong{display:block;color:var(--heading);font-size:16px}.hero-stats span{display:block;color:#8793a1;font-size:12px;margin-top:3px}.social-inline{display:flex;gap:18px;margin-top:23px;font-size:13px;font-weight:700}.social-inline a{color:#697887}.social-inline a:hover{color:var(--accent)}.hero-visual{min-height:580px;display:grid;place-items:center;perspective:1200px}.portrait-scene{width:min(100%,540px);height:590px;position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .16s ease-out}.portrait-orb{position:absolute;border-radius:50%;filter:blur(.2px);transition:transform .45s}.orb-one{width:390px;height:390px;right:4px;top:60px;background:linear-gradient(135deg,rgba(232,117,50,.19),rgba(232,117,50,.05));transform:translateZ(-70px)}.orb-two{width:310px;height:310px;left:20px;bottom:10px;background:linear-gradient(135deg,rgba(15,41,67,.12),rgba(15,41,67,.025));transform:translateZ(-110px)}.portrait-panel{position:absolute;border-radius:34px;border:1px solid rgba(15,41,67,.08);background:#fff;box-shadow:var(--shadow);transition:transform .42s}.portrait-panel.back{inset:100px 78px 30px 70px;transform:translate3d(40px,24px,-90px) rotate(4deg);background:#fff4eb}.portrait-panel.mid{inset:66px 58px 52px 48px;transform:translate3d(16px,10px,-45px) rotate(-2deg);background:#fff}.portrait-card{position:absolute;inset:34px 84px 44px 70px;border-radius:34px;background:linear-gradient(180deg,#fff 0,#fff8f1 100%);box-shadow:0 32px 80px rgba(15,41,67,.19);border:1px solid rgba(15,41,67,.09);overflow:hidden;transform:translateZ(35px);transition:transform .45s,box-shadow .45s}.portrait-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.55),transparent 35%);pointer-events:none}.portrait-card>img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:saturate(.96) contrast(1.02)}.portrait-caption{position:absolute;left:20px;right:20px;bottom:20px;padding:15px 18px;border-radius:18px;background:rgba(255,255,255,.90);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(15,41,67,.13);display:grid}.portrait-caption small{text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--accent);font-size:10px}.portrait-caption strong{color:var(--heading);font-size:19px}.portrait-caption span{font-size:12px;color:#778494}.float-chip{position:absolute;display:flex;align-items:center;gap:9px;padding:9px 13px;background:rgba(255,255,255,.95);border:1px solid rgba(15,41,67,.10);border-radius:15px;box-shadow:0 14px 30px rgba(15,41,67,.13);opacity:0;transform:translate3d(0,16px,70px) scale(.92);transition:opacity .3s,transform .45s;z-index:8}.float-chip img{width:28px;height:28px;object-fit:contain}.float-chip b{font-size:12px;color:var(--heading)}.chip-a{left:6px;top:118px}.chip-b{left:16px;bottom:170px}.chip-c{right:0;top:150px}.chip-d{right:8px;bottom:150px}.chip-e{left:105px;top:28px}.chip-f{right:96px;bottom:44px}.portrait-scene:hover .float-chip,.portrait-scene:focus-within .float-chip{opacity:1}.portrait-scene:hover .chip-a{transform:translate3d(-12px,-8px,95px)}.portrait-scene:hover .chip-b{transform:translate3d(-14px,8px,95px)}.portrait-scene:hover .chip-c{transform:translate3d(14px,-6px,95px)}.portrait-scene:hover .chip-d{transform:translate3d(16px,8px,95px)}.portrait-scene:hover .chip-e{transform:translate3d(-4px,-16px,100px)}.portrait-scene:hover .chip-f{transform:translate3d(5px,18px,100px)}.portrait-scene:hover .portrait-card{transform:translate3d(0,-6px,50px);box-shadow:0 42px 100px rgba(15,41,67,.22)}.portrait-scene:hover .portrait-panel.back{transform:translate3d(55px,35px,-100px) rotate(6deg)}.portrait-scene:hover .portrait-panel.mid{transform:translate3d(20px,12px,-45px) rotate(-3deg)}.scene-hint{position:absolute;right:80px;top:0;font-size:11px;color:#7c8998;display:flex;gap:8px;align-items:center}.scene-hint span{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(232,117,50,.10)}

/* About */
.about-grid{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1fr);gap:80px;align-items:center}.about-photo{position:relative;min-height:610px;perspective:1000px;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .18s}.about-photo>img{position:absolute;inset:20px 80px 20px 20px;width:calc(100% - 100px);height:calc(100% - 40px);object-fit:cover;border-radius:32px;box-shadow:var(--shadow-lg);z-index:2}.photo-shape{position:absolute;width:74%;height:78%;right:0;bottom:0;border-radius:40px;background:linear-gradient(145deg,#ffe8d6,#f8c99e);transform:rotate(6deg);z-index:0}.experience-badge{position:absolute;right:14px;bottom:52px;z-index:4;width:152px;height:152px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--heading);color:#fff;border:8px solid #fff;box-shadow:0 22px 46px rgba(15,41,67,.18)}.experience-badge strong{font-size:25px}.experience-badge span{font-size:11px;line-height:1.3;opacity:.76}.about-copy h3{font-size:clamp(34px,3.6vw,54px);margin:14px 0 22px}.about-copy .lead{font-size:18px;color:#3f5060}.about-copy p+p{margin-top:15px}.personal-info{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin:30px 0}.info-item{padding:17px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.info-item span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#909aa5;display:block}.info-item strong{color:var(--heading);font-size:14px}.info-item a:hover{color:var(--accent)}

/* Technology */
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tech-card{min-height:114px;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;align-items:center;gap:15px;background:#fff;box-shadow:0 8px 26px rgba(15,41,67,.045);position:relative;overflow:hidden;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s,box-shadow .25s,border-color .25s}.tech-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(232,117,50,.08),transparent 46%);opacity:0;transition:opacity .25s}.tech-card:hover{border-color:rgba(232,117,50,.36);box-shadow:0 20px 50px rgba(15,41,67,.10);transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-6px)}.tech-card:hover::before{opacity:1}.tech-icon{width:58px;height:58px;border-radius:15px;background:#fff7f1;border:1px solid #f4dfcf;display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}.tech-icon img{width:37px;height:37px;object-fit:contain}.tech-card strong{display:block;color:var(--heading);font-size:16px}.tech-card small{display:block;color:#85919d;font-size:12px;margin-top:3px}.tech-arrow{margin-left:auto;color:#a7b1bb;transition:color .2s,transform .2s}.tech-card:hover .tech-arrow{color:var(--accent);transform:translate(2px,-2px)}

/* Resume */
.resume-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}.resume-column{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:0 14px 36px rgba(15,41,67,.05)}.resume-column>h3{font-size:28px;margin-bottom:28px}.timeline-item{position:relative;padding:0 0 32px 28px;border-left:2px solid #e7edf2}.timeline-item:last-of-type{padding-bottom:0}.timeline-item::before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;left:-7px;top:6px;background:var(--accent);box-shadow:0 0 0 6px #fff4eb}.timeline-date{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:800}.timeline-item h4{font-size:21px;margin:6px 0 2px}.timeline-item>strong{font-size:13px;color:#536273}.timeline-item p{font-size:14px;margin-top:8px}.resume-callout{margin-top:30px;padding:22px;border-radius:18px;background:linear-gradient(145deg,var(--heading),#173f63);color:#fff}.resume-callout span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#ffbf91}.resume-callout strong{display:block;font-size:17px;line-height:1.5;margin:7px 0 14px}.resume-callout a{font-size:13px;color:#fff0e4}

/* Projects */
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.project-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 14px 40px rgba(15,41,67,.06);transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s,box-shadow .3s,border-color .3s}.project-card:hover{transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-8px);box-shadow:0 28px 64px rgba(15,41,67,.13);border-color:rgba(232,117,50,.30)}.project-visual{display:block;position:relative;overflow:hidden;aspect-ratio:8/5;background:#f6f7f8}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .35s}.project-card:hover .project-visual img{transform:scale(1.045)}.project-view{position:absolute;right:18px;bottom:18px;padding:10px 13px;border-radius:12px;background:rgba(255,255,255,.94);color:var(--heading);font-size:12px;font-weight:800;box-shadow:0 12px 26px rgba(15,41,67,.12);opacity:0;transform:translateY(10px);transition:.25s}.project-card:hover .project-view{opacity:1;transform:none}.project-content{padding:26px 28px 28px}.project-category{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:800}.project-content h3,.project-content h2{font-size:26px;margin:10px 0 12px}.project-content h3 a:hover,.project-content h2 a:hover{color:var(--accent)}.project-content p{font-size:14px;min-height:70px}.project-stack{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.project-stack span{padding:6px 10px;border-radius:999px;background:#f5f7f9;border:1px solid #e6ebef;color:#526273;font-size:11px;font-weight:700}.project-stack.large span{font-size:12px;padding:8px 12px}.project-grid-all .project-card.is-hidden{display:none}.filter-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}.filter-row button{border:1px solid var(--line);background:#fff;color:#596879;border-radius:999px;padding:9px 14px;font-weight:700;font-size:12px;cursor:pointer}.filter-row button.active,.filter-row button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Services */
.services-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:54px;align-items:start}.services-intro{position:sticky;top:120px}.services-intro h2{margin:14px 0 18px}.services-intro p{font-size:17px;margin-bottom:25px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-card{border-radius:22px;background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:0 12px 32px rgba(15,41,67,.055);transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s,box-shadow .25s}.service-card:hover{transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-6px);box-shadow:0 24px 54px rgba(15,41,67,.11)}.service-image{height:170px;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.service-card:hover .service-image img{transform:scale(1.06)}.service-card>div:last-child{padding:22px}.service-card>div:last-child>span{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.12em}.service-card h3{font-size:23px;margin:7px 0 10px}.service-card p{font-size:13px}

/* FAQ */
.faq-list{max-width:900px}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;gap:20px;color:var(--heading);font-weight:800;font-size:17px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--accent);font-size:24px;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 0 22px;max-width:780px}

/* CTA */
.cta-card{padding:42px 46px;border-radius:28px;background:linear-gradient(135deg,var(--heading),#173f63);display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.cta-card::after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:rgba(232,117,50,.20);right:-60px;top:-90px}.cta-card h2{color:#fff;font-size:clamp(34px,3.5vw,52px);max-width:780px;margin-top:10px}.cta-card .eyebrow{color:#ffbf91}.cta-card .button{position:relative;z-index:1;flex:none}

/* Page hero */
.page-hero{padding:92px 0 74px;background:linear-gradient(180deg,#fff,#fffaf6);border-bottom:1px solid var(--line)}.page-hero .narrow{max-width:920px}.page-hero h1{font-size:clamp(48px,6vw,82px);margin:14px 0 22px}.page-hero p{font-size:19px;line-height:1.8;max-width:820px}.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:#8793a1;margin-bottom:18px}.breadcrumbs a:hover{color:var(--accent)}

/* Project detail */
.project-hero{padding:78px 0 54px;background:linear-gradient(180deg,#fff,#fffaf7)}.project-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:52px;align-items:center}.project-hero-copy h1{font-size:clamp(46px,5.2vw,74px);margin:12px 0 20px}.project-hero-copy>p{font-size:18px;line-height:1.8}.project-hero-art{border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .18s}.project-hero-art img{width:100%;height:auto}.case-study-grid{display:grid;grid-template-columns:260px 1fr;gap:58px;align-items:start}.case-nav{position:sticky;top:110px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px;display:grid;gap:6px}.case-nav strong{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);padding:8px}.case-nav a{padding:9px 10px;border-radius:10px;color:#5c6a79;font-size:13px;font-weight:700}.case-nav a:hover{background:#fff6ef;color:var(--accent)}.case-content{min-width:0}.case-section{padding:0 0 52px;margin-bottom:52px;border-bottom:1px solid var(--line)}.case-section>span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff4eb;color:var(--accent);font-size:12px;font-weight:800;margin-bottom:14px}.case-section h2{font-size:clamp(34px,3.5vw,50px);margin-bottom:18px}.case-section p{font-size:17px;line-height:1.85}.case-section p+p{margin-top:16px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.work-grid>div{display:flex;gap:11px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.work-grid i{font-style:normal;color:var(--green);font-weight:900}.work-grid p{font-size:14px}.case-note{margin-top:24px;padding:22px;border-left:4px solid var(--accent);background:#fff7f1;border-radius:0 16px 16px 0}.case-note strong{color:var(--heading)}.case-note p{font-size:14px;margin-top:5px}.mini-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mini-project{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(15,41,67,.05);transition:transform .25s,box-shadow .25s}.mini-project:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(15,41,67,.10)}.mini-project img{width:100%;aspect-ratio:8/5;object-fit:cover}.mini-project span,.mini-project strong,.mini-project em{display:block;margin-inline:18px}.mini-project span{margin-top:16px;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.mini-project strong{font-size:18px;color:var(--heading);margin-top:5px}.mini-project em{font-size:12px;color:#71808f;font-style:normal;margin-top:12px;margin-bottom:18px}

/* About detail */
.about-detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.about-portrait{position:relative;min-height:590px}.about-portrait::before{content:"";position:absolute;inset:48px 44px 20px 20px;background:#fff1e6;border-radius:36px;transform:rotate(-4deg)}.about-portrait::after{content:"";position:absolute;inset:20px 18px 48px 50px;border:1px solid #f0d5c1;border-radius:36px;transform:rotate(5deg)}.about-portrait .profile-photo{position:absolute;inset:32px 48px 32px 32px;width:calc(100% - 80px);height:calc(100% - 64px);object-fit:cover;border-radius:32px;box-shadow:var(--shadow-lg);z-index:2}.portrait-monogram{display:none}.portrait-ring,.portrait-chip{display:none}.quote-card{padding:22px;border-radius:18px;background:#fff7f1;border:1px solid #f4ddca;margin:28px 0}.quote-card strong{color:var(--accent)}.quote-card p{margin-top:7px}.about-copy .button{margin-top:8px}

/* Contact */
.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;align-items:start}.contact-panel{padding:34px;border-radius:24px;background:#fff7f1;border:1px solid #f3dfcf;position:sticky;top:112px}.contact-panel h2{font-size:42px;margin:13px 0 16px}.contact-panel>p{font-size:15px}.contact-mark{width:64px;height:64px;border-radius:18px;background:var(--heading);display:grid;place-items:center;margin-bottom:26px;color:#fff;font-weight:800;font-size:19px}.contact-email{display:inline-block;color:var(--accent);font-weight:800;margin:22px 0}.contact-list{display:grid;gap:10px}.contact-list>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:30px 1fr;column-gap:10px}.contact-list span{grid-row:1/3;color:var(--accent);font-size:11px;font-weight:800}.contact-list strong{color:var(--heading);font-size:13px}.contact-list p{font-size:11px}.form-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:grid;gap:8px;color:var(--heading);font-size:12px;font-weight:800}.form-grid label>span{display:flex;align-items:center;gap:7px}.form-grid label em{font-style:normal;color:#96a0ab;font-weight:500}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #dbe1e7;background:#fbfcfd;color:var(--text);border-radius:12px;padding:13px 14px;outline:0;transition:border-color .2s,box-shadow .2s,background .2s}.form-grid textarea{resize:vertical;min-height:190px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:rgba(232,117,50,.70);box-shadow:0 0 0 4px rgba(232,117,50,.10);background:#fff}.required-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.form-actions{display:flex;align-items:center;gap:18px;margin-top:22px}.form-actions p{font-size:11px;max-width:300px}.hp-field{position:absolute;left:-9999px}.alert{border-radius:14px;padding:15px 17px;margin-bottom:20px;display:grid;gap:3px}.alert strong{color:var(--heading)}.alert.success{background:#effaf4;border:1px solid #cdebd9}.alert.warning{background:#fff8e8;border:1px solid #f2dfad}.alert.error{background:#fff0f0;border:1px solid #f0caca}.alert ul{margin:5px 0 0 20px;padding:0}.legal-content{max-width:850px}.legal-content h2{font-size:30px;margin:38px 0 12px}.legal-content h2:first-child{margin-top:0}.legal-content p{font-size:16px}.legal-content a{color:var(--accent);font-weight:700}

/* Footer */
.site-footer{background:#060606;color:#fff;padding:76px 0 28px;margin-top:40px}.footer-card{display:grid;grid-template-columns:1.35fr .65fr .8fr .8fr;gap:46px;padding-bottom:42px}.footer-logo .brand-name strong{color:#fff}.footer-brand p{color:#aab2bc;max-width:390px;margin:20px 0;font-size:14px;line-height:1.8}.availability{display:inline-flex;align-items:center;gap:9px;color:#c9d0d7;font-size:12px}.availability i{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 5px rgba(74,222,128,.10)}.footer-column{display:grid;align-content:start;gap:10px}.footer-column h2{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#7f8a96;margin-bottom:5px}.footer-column a,.footer-column span{font-size:13px;color:#c1c8d0}.footer-column a:hover{color:#ffb27f}.footer-bottom{border-top:1px solid #202328;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#777f88;font-size:11px}.footer-bottom>div{display:flex;gap:16px}.footer-bottom a:hover{color:#fff}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.reveal.delay-1{transition-delay:.1s}.reveal.is-visible{opacity:1;transform:none}

/* Responsive */
@media(max-width:1100px){:root{--shell:min(100% - 36px,980px)}.site-nav{gap:20px}.hero-grid{grid-template-columns:1fr 440px;gap:40px}.hero-visual{min-height:520px}.portrait-scene{height:520px}.tech-grid{grid-template-columns:repeat(3,1fr)}.services-layout{grid-template-columns:1fr}.services-intro{position:static;max-width:760px}.project-hero-grid{grid-template-columns:1fr;}.project-hero-art{max-width:880px}.footer-card{grid-template-columns:1.2fr .7fr .8fr}.footer-column:last-child{grid-column:2/4}}
@media(max-width:860px){:root{--shell:min(100% - 30px,740px)}.section{padding:80px 0}.header-inner{min-height:74px}.menu-button{display:block}.site-nav{position:absolute;top:70px;left:15px;right:15px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.site-nav>a{padding:12px 10px}.site-nav .nav-cta{text-align:center;margin-top:6px}.hero{min-height:auto;padding:64px 0 74px}.hero-grid,.about-grid,.resume-grid,.about-detail-grid,.contact-layout{grid-template-columns:1fr}.hero-grid{gap:24px}.hero-copy{text-align:left}.hero-visual{min-height:520px}.portrait-scene{height:520px;max-width:560px;margin:auto}.section-heading{grid-template-columns:1fr;gap:14px}.about-grid{gap:40px}.about-photo{max-width:600px;margin:auto;width:100%}.tech-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr 1fr;gap:20px}.service-grid{grid-template-columns:1fr 1fr}.case-study-grid{grid-template-columns:1fr}.case-nav{position:static;display:flex;flex-wrap:wrap}.case-nav strong{width:100%}.mini-project-grid{grid-template-columns:1fr 1fr}.contact-panel{position:static}.footer-card{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-column:last-child{grid-column:auto}.cta-card{flex-direction:column;align-items:flex-start}.project-content p{min-height:0}}
@media(max-width:620px){:root{--shell:calc(100% - 24px)}.section{padding:66px 0}.header-inner{min-height:70px}.brand-mark{width:40px;height:40px}.brand-name{font-size:16px}h1{font-size:clamp(44px,13vw,62px)}h2{font-size:clamp(34px,10vw,48px)}.hero{padding:46px 0 58px}.hero-lead{font-size:16px}.hero-actions .button{width:100%}.hero-stats{grid-template-columns:1fr 1fr;gap:18px}.hero-stats>div{border:0;padding:0}.hero-stats>div:last-child{grid-column:1/-1}.hero-visual{min-height:450px}.portrait-scene{height:450px;width:100%}.portrait-card{inset:32px 52px 36px 44px}.portrait-panel.back{inset:80px 34px 24px 60px}.portrait-panel.mid{inset:54px 42px 42px 38px}.float-chip{padding:7px 9px}.float-chip b{display:none}.float-chip img{width:25px;height:25px}.chip-a{left:2px}.chip-b{left:6px}.chip-c{right:2px}.chip-d{right:4px}.chip-e{left:70px}.chip-f{right:70px}.scene-hint{display:none}.about-photo{min-height:500px}.about-photo>img{inset:16px 38px 16px 12px;width:calc(100% - 50px)}.experience-badge{width:120px;height:120px;right:0}.personal-info,.tech-grid,.project-grid,.service-grid,.work-grid,.mini-project-grid,.form-grid{grid-template-columns:1fr}.project-content{padding:22px}.service-grid{gap:15px}.section-heading{margin-bottom:34px}.section-heading>p{font-size:15px}.resume-column{padding:24px}.cta-card{padding:28px 24px}.footer-card{grid-template-columns:1fr}.footer-column:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.form-card,.contact-panel{padding:22px}.form-actions{align-items:flex-start;flex-direction:column}.page-hero{padding:64px 0 50px}.page-hero p{font-size:16px}.project-hero{padding:58px 0 36px}.project-hero-copy>p{font-size:16px}.case-section{padding-bottom:38px;margin-bottom:38px}.case-section p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.portrait-scene,.about-photo,.project-card,.tech-card,.service-card,.project-hero-art{transform:none!important;transition:none}.float-chip{opacity:1;transform:none!important}.cursor-glow{display:none}}
@media (hover:none),(pointer:coarse){
  .float-chip{opacity:1;transform:none!important}
  .portrait-scene .float-chip{box-shadow:0 8px 20px rgba(15,41,67,.10)}
}

/* ==========================================================================\n   V5 DARK THEME + HERO FRAME UPGRADE\n   Dark is the default. Appearance settings are user selectable and persisted.\n   ========================================================================== */

:root,
html[data-theme="dark"]{
  --bg:#070b12;
  --bg-soft:#0b111a;
  --surface:#0e1622;
  --surface-2:#121c29;
  --surface-3:#172332;
  --text:#e8eef6;
  --heading:#f7f9fc;
  --muted:#98a7b8;
  --line:rgba(255,255,255,.095);
  --line-strong:rgba(255,255,255,.16);
  --navy:#f7f9fc;
  --green:#47d58b;
  --shadow:0 24px 70px rgba(0,0,0,.30);
  --shadow-lg:0 38px 110px rgba(0,0,0,.44);
  --accent:#e87532;
  --accent-2:#ffad73;
  --accent-rgb:232,117,50;
  --accent-soft:rgba(232,117,50,.14);
  color-scheme:dark;
}
html[data-theme="light"]{
  --bg:#ffffff;
  --bg-soft:#faf9fb;
  --surface:#ffffff;
  --surface-2:#fbfcfd;
  --surface-3:#f5f7f9;
  --text:#0a0f14;
  --heading:#0f2943;
  --muted:#687687;
  --line:#e7e9ed;
  --line-strong:#d8dee6;
  --navy:#0f2943;
  --green:#059652;
  --shadow:0 22px 60px rgba(15,41,67,.12);
  --shadow-lg:0 34px 90px rgba(15,41,67,.18);
  color-scheme:light;
}
html[data-accent="orange"]{--accent:#e87532;--accent-2:#ffad73;--accent-rgb:232,117,50;--accent-soft:rgba(232,117,50,.14)}
html[data-accent="coral"]{--accent:#ff5f67;--accent-2:#ff9a76;--accent-rgb:255,95,103;--accent-soft:rgba(255,95,103,.14)}
html[data-accent="blue"]{--accent:#4f8cff;--accent-2:#74c7ff;--accent-rgb:79,140,255;--accent-soft:rgba(79,140,255,.14)}
html[data-accent="violet"]{--accent:#936dff;--accent-2:#c084fc;--accent-rgb:147,109,255;--accent-soft:rgba(147,109,255,.15)}
html[data-accent="emerald"]{--accent:#24c88b;--accent-2:#72e7bc;--accent-rgb:36,200,139;--accent-soft:rgba(36,200,139,.14)}

body{background:var(--bg);color:var(--text);transition:background-color .32s ease,color .32s ease}
body::selection{background:rgba(var(--accent-rgb),.27)}
.light-section{background:var(--bg-soft)}
p{color:var(--muted)}
.cursor-glow{background:radial-gradient(circle,rgba(var(--accent-rgb),.11),transparent 66%);z-index:0}

/* Header and appearance control */
.site-header{background:rgba(7,11,18,.80);border-bottom-color:var(--line);box-shadow:none}
.site-header.is-scrolled{background:rgba(7,11,18,.94);box-shadow:0 14px 45px rgba(0,0,0,.26)}
html[data-theme="light"] .site-header{background:rgba(255,255,255,.90)}
html[data-theme="light"] .site-header.is-scrolled{background:rgba(255,255,255,.97);box-shadow:0 12px 35px rgba(15,41,67,.08)}
.brand-mark{background:linear-gradient(145deg,#141f2d,#0a1018);border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.24)}
html[data-theme="light"] .brand-mark{background:linear-gradient(145deg,var(--heading),#173f63);border:0}
.site-nav{color:#aeb9c6}
.site-nav>a:not(.nav-cta)::after{background:var(--accent)}
.nav-cta{background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 14px 30px rgba(var(--accent-rgb),.22)}
.nav-cta:hover{box-shadow:0 18px 38px rgba(var(--accent-rgb),.32)}
.menu-button{background:var(--surface);border-color:var(--line)}
.menu-button>span:not(.sr-only){background:var(--heading)}

.appearance-wrap{position:relative;display:flex;align-items:center;order:3}
.appearance-button{width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--heading);display:grid;place-items:center;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;padding:0}
.appearance-button:hover,.appearance-button[aria-expanded="true"]{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.50);box-shadow:0 12px 28px rgba(var(--accent-rgb),.13)}
.appearance-button svg{width:20px;height:20px;fill:currentColor}
.appearance-panel{position:absolute;top:54px;right:0;width:252px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(13,20,30,.97);box-shadow:0 24px 70px rgba(0,0,0,.38);backdrop-filter:blur(20px);z-index:1200}
html[data-theme="light"] .appearance-panel{background:rgba(255,255,255,.98)}
.appearance-panel[hidden]{display:none}
.appearance-head{display:grid;gap:2px;margin-bottom:13px}.appearance-head strong{font-size:14px;color:var(--heading)}.appearance-head span{font-size:10px;color:var(--muted)}
.appearance-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px}
.appearance-modes button{border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:800;font-size:11px;padding:8px 10px;cursor:pointer}
.appearance-modes button.active{background:var(--surface-3);color:var(--heading);box-shadow:0 4px 12px rgba(0,0,0,.16)}
html[data-theme="light"] .appearance-modes button.active{background:#fff;box-shadow:0 4px 12px rgba(15,41,67,.09)}
.appearance-label{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin:15px 0 9px}
.accent-swatches{display:flex;gap:9px}.swatch{width:29px;height:29px;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 4px var(--surface);transition:transform .18s,border-color .18s}.swatch:hover{transform:scale(1.09)}.swatch.active{border-color:var(--heading);transform:scale(1.08)}
.swatch-orange{background:#e87532}.swatch-coral{background:#ff5f67}.swatch-blue{background:#4f8cff}.swatch-violet{background:#936dff}.swatch-emerald{background:#24c88b}

/* Common dark surfaces */
.button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 14px 30px rgba(var(--accent-rgb),.22)}
.button.primary:hover{background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 20px 42px rgba(var(--accent-rgb),.32)}
.button.ghost{border-color:var(--line-strong);color:var(--heading);background:rgba(255,255,255,.025)}
.button.ghost:hover{background:var(--accent-soft);border-color:rgba(var(--accent-rgb),.55);color:var(--heading)}
.eyebrow i{background:var(--accent);box-shadow:0 0 0 6px rgba(var(--accent-rgb),.11)}

/* Hero: dark, tighter typography, stronger portrait framing */
.hero{min-height:720px;padding:74px 0 66px;background:
  radial-gradient(circle at 82% 22%,rgba(var(--accent-rgb),.13),transparent 28%),
  radial-gradient(circle at 12% 82%,rgba(94,139,255,.06),transparent 31%),
  linear-gradient(180deg,#070b12 0%,#080d15 100%)}
html[data-theme="light"] .hero{background:linear-gradient(180deg,#fff 0%,#fff 72%,#fffaf6 100%)}
.hero::before{background:linear-gradient(rgba(255,255,255,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.027) 1px,transparent 1px);background-size:64px 64px;opacity:.7}
html[data-theme="light"] .hero::before{background:linear-gradient(rgba(15,41,67,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(15,41,67,.026) 1px,transparent 1px)}
.hero-dot-one{background:radial-gradient(circle at 35% 35%,rgba(var(--accent-rgb),.19),rgba(var(--accent-rgb),.035) 60%,transparent 70%)}
.hero-dot-two{background:radial-gradient(circle at 60% 40%,rgba(81,117,255,.08),transparent 65%)}
.hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(430px,.82fr);gap:clamp(42px,5vw,74px)}
.hero-copy{max-width:720px}
.hero-copy h1{font-size:clamp(48px,5.05vw,72px);line-height:1.01;letter-spacing:-.048em;margin:17px 0 23px;text-wrap:balance}
.hero-copy h1 span{background:linear-gradient(110deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{max-width:650px;font-size:clamp(16px,1.25vw,18px);line-height:1.78;color:var(--muted)}
.hero-actions{margin-top:29px}.hero-stats{margin-top:34px;gap:22px}.hero-stats>div{border-color:var(--line)}.hero-stats strong{color:var(--heading);font-size:15px}.hero-stats span{color:#758497}.social-inline a{color:#8b9bad}.social-inline a:hover{color:var(--accent)}
.hero-visual{min-height:560px}
.portrait-scene{width:min(100%,515px);height:560px;filter:drop-shadow(0 34px 80px rgba(0,0,0,.28))}
.portrait-orb{opacity:.75}.orb-one{background:linear-gradient(135deg,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.025))}.orb-two{background:linear-gradient(135deg,rgba(84,119,255,.10),rgba(84,119,255,.02))}
.portrait-panel{background:var(--surface);border-color:var(--line);box-shadow:0 24px 70px rgba(0,0,0,.24)}
.portrait-panel.back{background:linear-gradient(145deg,rgba(var(--accent-rgb),.15),#0b1119);border-color:rgba(var(--accent-rgb),.18)}
.portrait-panel.mid{background:linear-gradient(150deg,#111a26,#0b1119)}
.portrait-card{inset:38px 70px 42px 62px;background:#0d151f;border:1px solid transparent;overflow:visible;box-shadow:0 40px 95px rgba(0,0,0,.46);isolation:isolate}
.portrait-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 28%,rgba(var(--accent-rgb),.06));pointer-events:none;z-index:2}
@property --border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.portrait-border-glow{--border-angle:0deg;position:absolute;inset:-3px;border-radius:37px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0 18%,rgba(var(--accent-rgb),.12) 25%,var(--accent) 34%,var(--accent-2) 40%,rgba(255,255,255,.92) 43%,var(--accent) 47%,transparent 58% 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:portraitBorderRun 4.2s linear infinite;pointer-events:none;z-index:5;filter:drop-shadow(0 0 10px rgba(var(--accent-rgb),.28))}
.portrait-card::after{content:"";position:absolute;inset:-18px;border-radius:46px;background:radial-gradient(circle at 30% 20%,rgba(var(--accent-rgb),.16),transparent 34%),radial-gradient(circle at 80% 75%,rgba(var(--accent-rgb),.09),transparent 30%);filter:blur(18px);z-index:-2;opacity:.75;pointer-events:none}
@keyframes portraitBorderRun{to{--border-angle:360deg}}
.portrait-card>img{border-radius:31px;width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.92) contrast(1.055) brightness(.88);position:relative;z-index:1;background:#101721}
html[data-theme="light"] .portrait-card{background:linear-gradient(180deg,#fff,#fff8f1);box-shadow:0 32px 80px rgba(15,41,67,.19)}
html[data-theme="light"] .portrait-card>img{filter:saturate(.96) contrast(1.02) brightness(1)}
.portrait-caption{left:16px;right:16px;bottom:16px;padding:14px 16px;border:1px solid rgba(255,255,255,.10);background:rgba(7,11,18,.80);box-shadow:0 18px 42px rgba(0,0,0,.30);z-index:4}
.portrait-caption strong{color:#fff}.portrait-caption span{color:#a8b6c6}.portrait-caption small{color:var(--accent-2)}
html[data-theme="light"] .portrait-caption{background:rgba(255,255,255,.91);border-color:rgba(15,41,67,.08)}html[data-theme="light"] .portrait-caption strong{color:var(--heading)}html[data-theme="light"] .portrait-caption span{color:#778494}
.float-chip{background:rgba(11,17,26,.93);border-color:var(--line);box-shadow:0 18px 42px rgba(0,0,0,.34);backdrop-filter:blur(16px)}
.float-chip img{width:30px;height:30px}.float-chip b{color:#f5f7fb}
html[data-theme="light"] .float-chip{background:rgba(255,255,255,.96);box-shadow:0 14px 30px rgba(15,41,67,.13)}html[data-theme="light"] .float-chip b{color:var(--heading)}
.scene-hint{color:#738397}.scene-hint span{background:var(--accent);box-shadow:0 0 0 6px rgba(var(--accent-rgb),.10)}

/* Dark cards across homepage and internal pages */
.about-photo>img,.about-portrait .profile-photo{box-shadow:0 30px 90px rgba(0,0,0,.38)}
.photo-shape{background:linear-gradient(145deg,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.05))}
.experience-badge{background:#0c141f;border-color:#182433;box-shadow:0 22px 46px rgba(0,0,0,.36)}
.about-copy .lead{color:#c0cad5}
.info-item,.tech-card,.resume-column,.project-card,.service-card,.case-nav,.work-grid>div,.mini-project,.contact-list>div,.form-card{background:var(--surface);border-color:var(--line);box-shadow:0 14px 38px rgba(0,0,0,.12)}
.tech-card::before{background:linear-gradient(135deg,rgba(var(--accent-rgb),.11),transparent 50%)}
.tech-card:hover,.project-card:hover,.service-card:hover{border-color:rgba(var(--accent-rgb),.42);box-shadow:0 25px 65px rgba(0,0,0,.28)}
.tech-icon{background:rgba(255,255,255,.96);border-color:rgba(var(--accent-rgb),.18)}
.timeline-item{border-color:var(--line-strong)}.timeline-item::before{box-shadow:0 0 0 6px rgba(var(--accent-rgb),.13)}.timeline-item>strong{color:#aebac7}
.resume-callout,.cta-card{background:linear-gradient(135deg,#111b28,#0a1018);border:1px solid var(--line)}
.resume-callout span,.cta-card .eyebrow{color:var(--accent-2)}
.project-visual{background:#0a111a}.project-view{background:rgba(7,11,18,.88);color:#f5f7fa;border:1px solid var(--line);backdrop-filter:blur(10px)}
.project-stack span{background:#111a25;border-color:var(--line);color:#aebdca}
.filter-row button{background:var(--surface);border-color:var(--line);color:#aebbc8}.filter-row button.active,.filter-row button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.page-hero,.project-hero{background:linear-gradient(180deg,#080d14,#0b111a);border-color:var(--line)}
html[data-theme="light"] .page-hero{background:linear-gradient(180deg,#fff,#fffaf6)}html[data-theme="light"] .project-hero{background:linear-gradient(180deg,#fff,#fffaf7)}
.breadcrumbs{color:#718196}.case-nav a{color:#9aa9b8}.case-nav a:hover{background:var(--accent-soft);color:var(--accent)}
.case-section>span{background:var(--accent-soft);color:var(--accent)}
.case-note,.quote-card,.contact-panel{background:linear-gradient(145deg,rgba(var(--accent-rgb),.10),rgba(255,255,255,.018));border-color:rgba(var(--accent-rgb),.20)}
.about-portrait::before{background:rgba(var(--accent-rgb),.12)}.about-portrait::after{border-color:rgba(var(--accent-rgb),.25)}
.contact-mark{background:#111a25;border:1px solid var(--line)}
.form-grid input,.form-grid select,.form-grid textarea{background:#0a111a;border-color:var(--line-strong);color:#eef3f8}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#607083}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{background:#0d151f;border-color:rgba(var(--accent-rgb),.75);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.11)}
html[data-theme="light"] .form-grid input,html[data-theme="light"] .form-grid select,html[data-theme="light"] .form-grid textarea{background:#fbfcfd;color:var(--text);border-color:#dbe1e7}html[data-theme="light"] .form-grid input:focus,html[data-theme="light"] .form-grid select:focus,html[data-theme="light"] .form-grid textarea:focus{background:#fff}
.alert.success{background:rgba(41,189,116,.10);border-color:rgba(71,213,139,.26)}.alert.warning{background:rgba(232,181,50,.10);border-color:rgba(232,181,50,.24)}.alert.error{background:rgba(239,83,90,.10);border-color:rgba(239,83,90,.24)}

/* Footer inherits dark base but is visually integrated */
.site-footer{background:#05080d;border-top:1px solid var(--line);margin-top:0}.footer-brand p{color:#93a1b1}.footer-column a,.footer-column span{color:#b4bec9}.footer-column a:hover{color:var(--accent-2)}.footer-bottom{border-color:var(--line);color:#657383}

/* Light mode restores original light surfaces while preserving selected accent */
html[data-theme="light"] .info-item,html[data-theme="light"] .tech-card,html[data-theme="light"] .resume-column,html[data-theme="light"] .project-card,html[data-theme="light"] .service-card,html[data-theme="light"] .case-nav,html[data-theme="light"] .work-grid>div,html[data-theme="light"] .mini-project,html[data-theme="light"] .contact-list>div,html[data-theme="light"] .form-card{background:#fff;box-shadow:0 14px 40px rgba(15,41,67,.06)}
html[data-theme="light"] .tech-icon{background:#fff7f1;border-color:#f4dfcf}
html[data-theme="light"] .project-stack span{background:#f5f7f9;border-color:#e6ebef;color:#526273}
html[data-theme="light"] .case-note,html[data-theme="light"] .quote-card,html[data-theme="light"] .contact-panel{background:#fff7f1;border-color:#f3dfcf}
html[data-theme="light"] .photo-shape{background:linear-gradient(145deg,#ffe8d6,#f8c99e)}
html[data-theme="light"] .about-copy .lead{color:#3f5060}

/* Responsive hero typography and appearance controls */
@media(max-width:1180px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 450px;gap:42px}
  .hero-copy h1{font-size:clamp(47px,5.8vw,66px)}
  .portrait-scene{width:min(100%,480px);height:530px}
}
@media(max-width:860px){
  .header-inner{gap:12px}.appearance-wrap{margin-left:auto}.site-nav{background:rgba(10,16,24,.98);border-color:var(--line)}html[data-theme="light"] .site-nav{background:#fff}
  .appearance-panel{right:-54px}
  .hero{padding:55px 0 68px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-copy{max-width:720px}.hero-copy h1{font-size:clamp(46px,8.4vw,64px);max-width:780px}.hero-lead{max-width:680px}.hero-visual{min-height:525px}.portrait-scene{height:520px;max-width:500px}
}
@media(max-width:620px){
  .appearance-button{width:40px;height:40px}.appearance-panel{position:fixed;top:74px;right:12px;left:12px;width:auto}
  .hero{padding:40px 0 54px}.hero-copy h1{font-size:clamp(41px,12vw,54px);line-height:1.015;letter-spacing:-.045em;margin:14px 0 19px}.hero-lead{font-size:15.5px;line-height:1.72}.hero-actions{margin-top:25px}.hero-stats{margin-top:28px}
  .hero-visual{min-height:430px}.portrait-scene{height:430px;max-width:410px}.portrait-card{inset:32px 44px 34px 42px}.portrait-panel.back{inset:76px 24px 20px 50px}.portrait-panel.mid{inset:50px 34px 38px 34px}.portrait-border-glow{inset:-2px;border-radius:35px}.portrait-caption{left:11px;right:11px;bottom:11px;padding:11px 12px}.portrait-caption strong{font-size:16px}.portrait-caption span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.portrait-border-glow{animation:none;background:linear-gradient(90deg,var(--accent),var(--accent-2))}}

/* Transparent hero portrait treatment */
html[data-theme="dark"] .portrait-card>img{object-fit:contain;object-position:center bottom;padding:14px 12px 0;filter:saturate(.95) contrast(1.045) brightness(.96);background:transparent}
html[data-theme="light"] .portrait-card>img{object-fit:contain;object-position:center bottom;padding:14px 12px 0;background:transparent}

/* Header ordering with appearance control */
.header-inner{justify-content:flex-start}.brand{order:0}.site-nav{order:1;margin-left:auto}.appearance-wrap{order:2;margin-left:12px}.menu-button{order:3;margin-left:10px}
@media(max-width:860px){.site-nav{margin-left:0}.appearance-wrap{margin-left:auto}.menu-button{margin-left:0}}


/* V6 sidebar scrollspy */
.case-section[id]{scroll-margin-top:118px}
.case-nav a[href^="#"]{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease;
  border:1px solid transparent;
}
.case-nav a[href^="#"]::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:3px;
  height:0;
  border-radius:0 8px 8px 0;
  background:linear-gradient(180deg,var(--accent),var(--accent-2));
  transform:translateY(-50%);
  opacity:0;
  transition:height .22s ease,opacity .22s ease;
}
.case-nav a[href^="#"]::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),.035));
  opacity:0;
  transition:opacity .22s ease;
}
.case-nav a[href^="#"]:hover,
.case-nav a[href^="#"]:focus-visible{
  color:var(--accent-2);
  background:rgba(var(--accent-rgb),.075);
  border-color:rgba(var(--accent-rgb),.14);
  transform:translateX(3px);
}
.case-nav a[href^="#"].active,
.case-nav a[href^="#"][aria-current="location"]{
  color:#fff;
  background:rgba(var(--accent-rgb),.13);
  border-color:rgba(var(--accent-rgb),.26);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 24px rgba(0,0,0,.12);
  transform:translateX(4px);
}
.case-nav a[href^="#"].active::before,
.case-nav a[href^="#"][aria-current="location"]::before{height:56%;opacity:1}
.case-nav a[href^="#"].active::after,
.case-nav a[href^="#"][aria-current="location"]::after{opacity:1}
html[data-theme="light"] .case-nav a[href^="#"].active,
html[data-theme="light"] .case-nav a[href^="#"][aria-current="location"]{
  color:var(--accent);
  background:rgba(var(--accent-rgb),.10);
  border-color:rgba(var(--accent-rgb),.20);
  box-shadow:0 8px 22px rgba(15,41,67,.06)
}
@media(max-width:860px){
  .case-section[id]{scroll-margin-top:92px}
  .case-nav{gap:7px}
  .case-nav a[href^="#"]{white-space:nowrap}
  .case-nav a[href^="#"]:hover,
  .case-nav a[href^="#"]:focus-visible,
  .case-nav a[href^="#"].active,
  .case-nav a[href^="#"][aria-current="location"]{transform:none}
  .case-nav a[href^="#"]::before{left:50%;top:auto;bottom:0;width:0;height:3px;transform:translateX(-50%);border-radius:8px 8px 0 0;transition:width .22s ease,opacity .22s ease}
  .case-nav a[href^="#"].active::before,
  .case-nav a[href^="#"][aria-current="location"]::before{width:48%;height:3px;opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .case-nav a[href^="#"],.case-nav a[href^="#"]::before,.case-nav a[href^="#"]::after{transition:none}
}
