:root{--bg: #f6f1e4;--surface: #fffdf7;--surface-2: #f2e9d2;--text: #162417;--muted: #4f5f54;--primary: #1e5a3a;--primary-strong: #0f3b24;--accent: #b1831e;--border: #dacda9;--shadow: 0 20px 45px rgba(17, 49, 32, .14);--font-display: "Fraunces", "Georgia", serif;--font-body: "Manrope", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-body);background:radial-gradient(circle at 15% 15%,#f8efd8 0%,transparent 37%),radial-gradient(circle at 85% 0%,#d7e8d7 0%,transparent 36%),linear-gradient(145deg,#f4ecdc,#f8f3e8 45%,#ebf2e9);color:var(--text);line-height:1.6;overflow-x:hidden}.background-overlay{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(transparent 97%,#1d4a2f14 98%);background-size:100% 22px;opacity:.35;z-index:-1}img{max-width:100%;display:block}.section{width:min(1120px,92vw);margin:0 auto;padding:3.2rem 0}.site-header{width:min(1120px,92vw);margin:1.2rem auto 0;padding:.65rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:.65rem;z-index:10;border:1px solid rgba(22,36,23,.16);border-radius:999px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffcf4cc;box-shadow:0 8px 28px #13311f1a}.brand{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#265f3f,#153c26);color:#fff;text-decoration:none;font-weight:800;letter-spacing:.03em}.main-nav{display:flex;align-items:center;gap:.25rem}.main-nav a{text-decoration:none;color:var(--text);font-weight:600;padding:.48rem .95rem;border-radius:999px;transition:background-color .22s ease,color .22s ease}.main-nav a:hover,.main-nav a:focus-visible{background:#1f5d3b24;color:var(--primary-strong)}.menu-toggle{display:none;border:1px solid var(--border);background:#fff;color:var(--text);padding:.45rem .85rem;border-radius:999px;font-weight:700;cursor:pointer}.hero{display:grid;grid-template-columns:1.2fr .9fr;gap:2rem;align-items:center;padding-top:2rem}.eyebrow{margin:0;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:800;color:var(--primary)}h1,h2,h3{margin:0;line-height:1.2;overflow-wrap:break-word}p,li{overflow-wrap:break-word}:target{scroll-margin-top:7rem}h1,h2{font-family:var(--font-display)}h1{margin-top:.3rem;font-size:clamp(2rem,4vw,3.2rem)}h2{margin-top:.45rem;font-size:clamp(1.5rem,3vw,2.35rem)}.hero-role{margin:1rem 0 0;font-size:1.1rem;font-weight:800;color:#1d4c30}.hero-summary{margin:.75rem 0 0;color:var(--muted);max-width:62ch}.hero-actions{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;border-radius:999px;padding:.72rem 1.2rem;transition:transform .18s ease,box-shadow .18s ease}.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 12px 22px #123a242e}.btn-primary{color:#fff;background:linear-gradient(145deg,#296542,#184229)}.btn-secondary{color:var(--primary-strong);background:#f3ead4;border:1px solid #d9c59c}.hero-photo{margin:0;border-radius:1.5rem;overflow:hidden;box-shadow:var(--shadow);border:1px solid #d7cab2}.hero-photo img{width:100%;height:auto;object-fit:cover}.hero-media{display:grid;gap:.8rem}.profile-editor{border-radius:1rem;border:1px solid var(--border);background:linear-gradient(180deg,#fffdf7f2,#faf6edfa);box-shadow:var(--shadow);padding:.9rem}.profile-editor h3{margin:0;font-size:1rem;color:#173725}.profile-editor-note{margin:.4rem 0 .8rem;color:var(--muted);font-size:.9rem}.profile-editor-form{margin-top:.55rem}.profile-editor-form input[type=file]{width:100%;border:1px solid #d6c6a6;background:#fffdf7;border-radius:.7rem;padding:.55rem .6rem;color:var(--text)}.profile-editor-submit{display:inline-flex;justify-content:center;width:100%;margin-top:.55rem;border:none;cursor:pointer;font:inherit}.profile-editor-message{margin:.7rem 0 0;border-radius:.6rem;padding:.5rem .65rem;font-size:.9rem;font-weight:700}.profile-editor-error{border:1px solid #d6a7a7;background:#faeaea;color:#7a1f1f}.profile-editor-success{border:1px solid #9ec4a9;background:#e8f5ea;color:#1c5a31}.cert-description{margin:0 0 .45rem;color:var(--muted);font-size:.88rem}.portfolio-editor{margin-top:1.1rem;border-radius:1rem;border:1px solid var(--border);background:linear-gradient(180deg,#fffdf7f2,#faf6edfa);box-shadow:var(--shadow);padding:1rem}.portfolio-editor h3{margin:0;color:#173725;font-size:1.1rem}.portfolio-editor-note{margin:.35rem 0 .8rem;color:var(--muted);font-size:.9rem}.portfolio-editor-form{display:grid;gap:.48rem;margin-top:.8rem}.portfolio-editor-form label{font-weight:700;color:var(--primary-strong);font-size:.92rem}.portfolio-editor-form input,.portfolio-editor-form textarea{width:100%;border:1px solid #d4c7aa;background:#fffdf7;border-radius:.72rem;color:var(--text);font:inherit;padding:.55rem .65rem}.portfolio-editor-form textarea{resize:vertical}.portfolio-editor-submit{display:inline-flex;justify-content:center;width:100%;margin-top:.35rem;border:none;cursor:pointer;font:inherit}.portfolio-editor-list{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.portfolio-editor-item{border:1px solid #d9ccb2;background:#fffef9;border-radius:.9rem;padding:.7rem}.portfolio-editor-item img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:.65rem;border:1px solid #ddd0b6}.btn-danger{color:#fff;background:linear-gradient(145deg,#8f3535,#692525)}.portfolio-editor-message{margin:.9rem 0 0;border-radius:.6rem;padding:.55rem .65rem;font-size:.9rem;font-weight:700}.section-heading{display:grid;gap:.2rem;margin-bottom:1.1rem}.card,.panel,.achievement,.timeline-item,.cert-card,.contact-card,.stat{border-radius:1.15rem;border:1px solid var(--border);background:linear-gradient(180deg,#fffdf7eb,#faf6edfa);box-shadow:var(--shadow)}.card,.panel,.timeline-item,.contact-card{padding:1.25rem}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1rem}.stat{padding:1.05rem}.stat-value{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.5rem);color:var(--primary)}.stat-label{margin:.35rem 0 0;color:var(--muted)}.timeline{display:grid;gap:.9rem}.timeline-item h3{color:#173725;font-size:1.08rem}.period{margin:.35rem 0 .55rem;color:var(--accent);font-weight:800}.timeline-item ul{margin:0;padding-left:1.15rem;color:#294735}.section-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.list-clean{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.list-clean h3{color:#143722;font-size:1.05rem}.list-clean p{margin:.2rem 0 0;color:var(--muted)}.chip-wrap{display:flex;flex-wrap:wrap;gap:.6rem}.chip{display:inline-block;border:1px solid #ccb987;background:#fff7e5;padding:.42rem .72rem;border-radius:999px;font-weight:700;font-size:.9rem}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.achievement{padding:1rem}.achievement h3{font-size:1rem;color:#174028}.achievement p{margin:.35rem 0 0;font-weight:800;color:var(--accent)}.section-note{margin:0 0 .85rem;color:var(--muted)}.cert-grid{display:grid;gap:.9rem;grid-template-columns:repeat(4,minmax(0,1fr))}.cert-card{padding:.55rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.cert-card:hover,.cert-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 26px #12392333}.cert-card img{border-radius:.65rem;aspect-ratio:4 / 5;object-fit:cover;border:1px solid #d9ccb1}.cert-card h3{margin:.6rem 0 .45rem;font-size:.95rem;color:#184129}.contact-card{display:grid;grid-template-columns:1.4fr .8fr;gap:1rem;align-items:center}.contact-card h2{max-width:25ch}.contact-card p{color:var(--muted)}.contact-links{display:grid;gap:.55rem}.contact-links a{text-decoration:none;font-weight:800;color:#144226;border:1px solid #d0be95;background:#fff4d8;border-radius:.8rem;padding:.62rem .75rem;text-align:center}.site-footer{width:min(1120px,92vw);margin:1.5rem auto 2.6rem;color:#4b5f52;text-align:center;border-top:1px solid rgba(26,60,39,.2);padding-top:1rem}.lightbox{border:1px solid #c8b78d;border-radius:1rem;background:#fffef9;padding:1rem;width:min(800px,calc(100vw - 2rem));box-shadow:0 30px 60px #0b221573}.lightbox::backdrop{background:#0e2116b3}.lightbox img{max-height:72vh;width:auto;margin:0 auto;border-radius:.8rem;border:1px solid #d8cab0}.lightbox p{margin:.7rem 0 0;text-align:center;font-weight:800;color:#18482d}.lightbox-close{border:1px solid #cab891;background:#fff0cb;color:#183827;font-weight:800;border-radius:.6rem;padding:.4rem .75rem;cursor:pointer;margin-bottom:.8rem}.reveal,.reveal-delay{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal-delay{transition-delay:.13s}.reveal.show,.reveal-delay.show{opacity:1;transform:translateY(0)}@media(max-width:1060px){.hero{grid-template-columns:1fr}.hero-media{max-width:420px}.cert-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.menu-toggle{display:inline-flex;align-items:center;min-height:40px}.main-nav{position:absolute;top:calc(100% + .65rem);left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:.2rem;border:1px solid rgba(22,38,25,.18);border-radius:1rem;background:#fffcf4fa;padding:.45rem}.main-nav.open{display:flex}.main-nav a{padding:.7rem .95rem}.section-split,.achievement-grid,.contact-card,.stats-grid,.portfolio-editor-list{grid-template-columns:1fr}.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.section{width:94vw;padding:2.45rem 0}.site-header{width:94vw;top:.45rem;padding:.5rem .65rem;border-radius:1rem}.brand{width:40px;height:40px;font-size:.9rem}.menu-toggle{padding:.45rem .72rem;font-size:.9rem}.main-nav{top:calc(100% + .5rem)}.hero{gap:1.35rem;padding-top:1.2rem}.hero-actions .btn{width:100%}.card,.panel,.timeline-item,.contact-card{padding:1rem}.stat,.achievement{padding:.9rem}.profile-editor,.portfolio-editor{padding:.85rem}.cert-grid{grid-template-columns:1fr}.contact-card h2{max-width:none}}@media(max-width:380px){.chip{width:100%;text-align:center}.lightbox{width:calc(100vw - 1rem);padding:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.reveal-delay{opacity:1;transform:none}}body{background:radial-gradient(circle at 12% 10%,rgba(192,184,122,.24),transparent 28%),radial-gradient(circle at 86% 14%,rgba(66,122,67,.28),transparent 34%),linear-gradient(165deg,#fbf8ee,#f5edd8)}
