*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f7f4ef;--ink:#1a1612;--rust:#c1440e;--rust-dim:rgba(193,68,14,0.08);--muted:#7a7168;--card:#ffffff;--border:#e4dfd8;--ff:'DM Serif Display',serif;--fb:'DM Sans',sans-serif;}
html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:15px}a{text-decoration:none;color:inherit}
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(247,244,239,0.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 6vw;height:62px}
.nav-logo{font-family:var(--ff);font-size:1.3rem;letter-spacing:-.01em}
.nav-links{display:flex;gap:4px}.nav-links a{font-size:0.87rem;color:var(--muted);padding:6px 13px;border-radius:5px;transition:all .18s}
.nav-links a:hover,.nav-links a.active{color:var(--ink);background:rgba(0,0,0,0.05)}
.nav-cta{background:var(--ink);color:var(--bg);font-size:0.82rem;font-weight:600;padding:8px 18px;border-radius:5px;transition:background .2s;margin-left:16px}.nav-cta:hover{background:var(--rust)}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:4px;width:30px;height:30px}.burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s ease,opacity .2s ease}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:flex;position:fixed;top:62px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);padding:16px 6vw;z-index:99;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,visibility .3s}
.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.mobile-menu a{font-size:0.95rem;color:var(--muted);padding:10px 14px;border-radius:6px;transition:all .18s}.mobile-menu a:hover,.mobile-menu a.active{color:var(--ink);background:rgba(0,0,0,0.05)}.mobile-menu .nav-cta{margin:8px 0 0;text-align:center}

.page-hero{padding:110px 6vw 60px;border-bottom:1px solid var(--border)}
.breadcrumb{font-size:0.78rem;color:var(--muted);margin-bottom:16px}.breadcrumb span{color:var(--rust)}
.page-title{font-family:var(--ff);font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.02em;margin-bottom:14px}
.page-title em{font-style:italic;color:var(--rust)}
.page-sub{color:var(--muted);font-size:1rem;line-height:1.7;max-width:520px}

.about-main{padding:72px 6vw;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:start}
.about-p{color:var(--muted);line-height:1.8;margin-bottom:16px;font-size:0.96rem}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tag{background:var(--rust-dim);color:var(--rust);border:1px solid rgba(193,68,14,0.2);padding:5px 12px;border-radius:4px;font-size:0.79rem;font-weight:500}
.fact-box{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;position:sticky;top:80px}
.fact-box h3{font-family:var(--ff);font-size:1.1rem;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.fact{margin-bottom:16px}.fact:last-child{margin-bottom:0}
.fact-label{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}
.fact-val{font-size:0.9rem;font-weight:500;color:var(--ink)}
.fact-val a{color:var(--rust)}.fact-val a:hover{text-decoration:underline}

/* SKILLS */
.sec-eyebrow{font-size:0.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin-bottom:10px}
.sec-title{font-family:var(--ff);font-size:clamp(1.6rem,2.8vw,2.3rem);margin-bottom:28px;letter-spacing:-.02em}
.skills-full{padding:72px 6vw;border-bottom:1px solid var(--border);background:var(--card)}
.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sk{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:32px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s}
.sk:hover{border-color:var(--rust);box-shadow:0 6px 20px rgba(193,68,14,0.1);transform:translateY(-3px)}
.sk-icon{font-size:2.4rem}
.sk-name{font-weight:600;font-size:0.95rem}
@media(max-width:640px){.skills-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:641px) and (max-width:1000px){.skills-grid{grid-template-columns:repeat(3,1fr)}}

.services-sec{padding:72px 6vw;border-bottom:1px solid var(--border)}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:8px}
.srv{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px;transition:border-color .2s}
.srv:hover{border-color:var(--rust)}
.srv-icon{font-size:1.5rem;margin-bottom:12px}
.srv-name{font-weight:600;font-size:0.95rem;margin-bottom:6px}
.srv-price{font-size:0.82rem;color:var(--rust);font-weight:600;margin-bottom:8px}
.srv-desc{font-size:0.84rem;color:var(--muted);line-height:1.6}

.testi-sec{padding:72px 6vw;background:var(--ink);color:#fff}
.testi-sec .sec-eyebrow{color:var(--rust)}
.testi-sec .sec-title{color:#fff}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.testi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:24px}
.testi-stars{color:#f59e0b;margin-bottom:12px;font-size:0.85rem}
.testi-text{font-size:0.9rem;color:rgba(255,255,255,.75);line-height:1.7;margin-bottom:18px;font-style:italic}
.testi-author{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.testi-av{width:36px;height:36px;border-radius:50%;background:var(--rust);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:0.8rem;flex-shrink:0}
.testi-name{font-weight:700;font-size:0.85rem}
.testi-role{font-size:0.74rem;color:rgba(255,255,255,.45);margin-top:1px}

.btn-dark{background:var(--ink);color:var(--bg);padding:12px 24px;border-radius:5px;font-weight:600;font-size:0.9rem;transition:background .2s;display:inline-block}.btn-dark:hover{background:var(--rust)}
.btn-rust{background:var(--rust);color:#fff;padding:12px 24px;border-radius:5px;font-weight:600;font-size:0.9rem;transition:opacity .2s;display:inline-block}.btn-rust:hover{opacity:.85}

footer{text-align:center;padding:28px 6vw;color:var(--muted);font-size:0.8rem;border-top:1px solid var(--border)}
footer span{color:var(--rust)}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.vis{opacity:1;transform:none}

@media(max-width:820px){
  .about-main{grid-template-columns:1fr}
  .fact-box{position:static}
  .testi-grid{grid-template-columns:1fr}
  .burger{display:flex}
  .nav-links,nav>.nav-cta{display:none}
}