:root{--paper:#fbf8f1;--paper-deep:#f2ecdf;--ink:#242e27;--muted:#667066;--green:#315b46;--green-dark:#244534;--orange:#dc7951;--line:#ded8cb;--serif:Georgia,"Times New Roman",serif;--sans:"Avenir Next",Avenir,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}::selection{background:#e6c69c;color:var(--ink)}.section-shell{width:min(1180px,calc(100% - 80px));margin-inline:auto}.site-header{position:-webkit-sticky;position:sticky;z-index:10;top:0;display:flex;min-height:78px;align-items:center;justify-content:space-between;padding-inline:max(40px,calc((100vw - 1180px) / 2));border-bottom:1px solid rgb(36 46 39/8%);background:rgb(251 248 241/94%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:750;letter-spacing:-.04em}.brand img{object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(20px,4vw,48px);color:#4e594f;font-size:13px}.main-nav a,.site-footer a{transition:color .16s ease}.main-nav a:hover,.site-footer a:hover{color:var(--orange)}.main-nav .nav-contact{min-height:40px;gap:10px;padding:0 17px;color:var(--ink)}.language-switch,.main-nav .nav-contact{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px}.language-switch{gap:2px;padding:3px;background:#f4f0e7}.language-option{min-width:34px;min-height:29px;padding-inline:7px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:10px;font-weight:700}.language-option.is-active{background:var(--green);color:#fffdf8}.language-option:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.hero{display:grid;min-height:min(690px,calc(100svh - 78px));grid-template-columns:1.08fr .92fr;align-items:center;grid-gap:40px;gap:40px;padding-block:72px 90px}.hero-copy{position:relative;z-index:1;padding-block:15px}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 23px;color:var(--green);font-size:10px;font-weight:750;letter-spacing:.16em}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgb(220 121 81/13%)}.hero h1{max-width:690px;margin:0;font-family:var(--serif);font-size:clamp(52px,6.1vw,82px);font-weight:500;letter-spacing:-.065em;line-height:.99}.hero h1 span{color:var(--green);font-style:italic;font-weight:400}.hero-description{max-width:460px;margin:26px 0 0;color:var(--muted);font-size:15px;line-height:1.85}.hero-description strong{color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:18px;padding:0 20px;border-radius:999px;font-size:12px;font-weight:650;transition:transform .16s ease,background .16s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:#fffdf8}.button-primary:hover{background:var(--green-dark)}.text-link{padding-block:10px;border-bottom:1px solid var(--line);font-size:12px;font-weight:650}.button span,.text-link span{font-size:15px}.hero-note{margin:26px 0 0;color:#8a8c81;font-size:11px;letter-spacing:.025em}.hero-visual{position:relative;display:grid;min-height:470px;place-items:center}.visual-sun{position:absolute;top:35px;right:8%;width:min(79%,350px);aspect-ratio:1;border-radius:50%;background:#eddfc7}.portrait-frame{position:relative;z-index:1;width:min(77%,350px);aspect-ratio:.82;overflow:hidden;border:9px solid var(--paper);border-radius:48% 48% 22px 22px;background:#e7e0d6;box-shadow:0 25px 65px rgb(56 61 49/13%);transform:rotate(2deg)}.portrait{object-fit:cover;object-position:center 39%}.floating-note{position:absolute;z-index:2;right:0;bottom:75px;display:flex;min-width:175px;align-items:center;gap:12px;padding:15px 17px;border:1px solid rgb(36 46 39/7%);border-radius:4px;background:#fffdf8;box-shadow:0 12px 38px rgb(56 61 49/9%);color:#4d574d;font-family:var(--serif);font-size:13px;line-height:1.35;transform:rotate(-3deg)}.note-star{color:var(--orange);font-size:28px}.visual-caption{position:absolute;right:5%;bottom:28px;color:#8b897e;font-size:9px;letter-spacing:.15em}.intro-strip{background:var(--paper-deep)}.intro-content{display:grid;grid-template-columns:.65fr 1.6fr auto;align-items:center;grid-gap:40px;gap:40px;padding-block:62px}.intro-content .eyebrow{align-self:start;margin-top:10px}.contact-content h2,.intro-copy h2,.section-heading h2{margin:0;font-family:var(--serif);font-size:clamp(34px,4vw,52px);font-weight:500;letter-spacing:-.055em;line-height:1.08}.intro-copy p{max-width:650px;margin:15px 0 0;color:var(--muted);font-size:14px;line-height:1.85}.round-link{display:grid;width:54px;aspect-ratio:1;place-items:center;border:1px solid #cbc3b4;border-radius:50%;font-size:24px;transition:color .16s ease,background .16s ease}.round-link:hover{background:var(--green);color:white}.work-section{padding-block:110px 115px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:15px}.heading-period{color:var(--orange)}.heading-aside{margin:0 0 8px;color:#85887d;font-family:var(--serif);font-size:14px;font-style:italic}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.project-card{display:flex;min-height:215px;flex-direction:column;justify-content:space-between;gap:26px;padding:22px 24px;border:1px solid var(--line);background:#fdfbf6;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.project-card:hover{transform:translateY(-3px);border-color:#b9c5b8;box-shadow:0 14px 32px rgb(56 61 49/8%)}.project-card-bottom,.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-number{color:#898b80;font-size:9px;letter-spacing:.13em}.project-arrow{display:grid;width:32px;aspect-ratio:1;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--green);font-size:15px;transition:background .18s ease,color .18s ease}.project-card:hover .project-arrow{background:var(--green);color:white}.project-card h3{margin:0;font-family:var(--serif);font-size:clamp(20px,2.2vw,27px);font-weight:500;letter-spacing:-.035em}.project-card p{max-width:430px;margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.project-card-bottom{padding-top:14px;border-top:1px solid #e9e4d9}.project-language{display:inline-flex;align-items:center;gap:7px;color:#687066;font-size:10px}.language-dot{width:7px;aspect-ratio:1;border-radius:50%;background:var(--orange)}.project-link{color:var(--green);font-size:10px;font-weight:700}.learning-section{padding-block:100px 110px;background:#f1ede3}.learning-heading{margin-bottom:27px}.skills-list{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:65px}.skill-pill{padding:9px 14px;border:1px solid #d9d1c2;border-radius:999px;color:#556454;font-size:11px}.certificate-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:13px;border-bottom:1px solid #d8d1c3}.certificate-heading h3{margin:0;font-family:var(--serif);font-size:25px;font-weight:500}.certificate-heading p{margin:0;color:var(--muted);font-size:12px}.certificate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:22px 18px;gap:22px 18px}.certificate-card{display:block;min-width:0}.certificate-image{position:relative;overflow:hidden;aspect-ratio:1.42;border:1px solid #ddd7cc;background:#fff}.certificate-image img{object-fit:cover;transition:transform .25s ease}.certificate-card:hover .certificate-image img{transform:scale(1.035)}.certificate-open{position:absolute;right:9px;bottom:9px;display:grid;width:30px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--paper);color:var(--ink);font-size:15px}.certificate-caption{display:flex;gap:11px;padding-top:12px}.certificate-number{padding-top:2px;color:var(--orange);font-size:9px;letter-spacing:.08em}.certificate-caption small,.certificate-caption strong{display:block}.certificate-caption strong{font-size:12px;font-weight:650;line-height:1.4}.certificate-caption small{margin-top:4px;color:var(--muted);font-size:10px}.contact-section{overflow:hidden;background:var(--green);color:#fbf8f1}.contact-content{position:relative;padding-block:100px 105px}.contact-content .eyebrow{color:#d7d9c7}.contact-content h2{max-width:720px;font-size:clamp(48px,7vw,82px)}.contact-content h2 span{color:#e6c79e;font-style:italic}.contact-content>p:not(.eyebrow){max-width:475px;margin:20px 0 25px;color:#d2ddd2;font-size:14px;line-height:1.8}.button-light{background:#fbf8f1;color:var(--green-dark)}.button-light:hover{background:#ecdfcc}.contact-spark{position:absolute;right:9%;bottom:45px;color:#d9bd91;font-size:clamp(100px,18vw,230px);line-height:1;opacity:.72}.site-footer{display:flex;min-height:90px;align-items:center;justify-content:space-between;gap:20px;color:#797e73;font-size:11px}.site-footer p{margin:0}.footer-brand{color:var(--ink);font-size:14px;font-weight:750;letter-spacing:-.04em}.footer-brand span{color:var(--orange)}@media (max-width:900px){.section-shell{width:min(100% - 52px,700px)}.site-header{padding-inline:26px}.hero{min-height:auto;grid-template-columns:1fr .85fr;gap:20px;padding-block:85px 95px}.hero h1{font-size:clamp(50px,7vw,67px)}.hero-visual{min-height:390px}.floating-note{right:-5px;bottom:45px}.intro-content{grid-template-columns:1fr auto;gap:15px 25px;padding-block:48px}.intro-content>.eyebrow{grid-column:1/-1;margin:0}.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.project-card{min-height:205px;padding:19px}}@media (max-width:600px){html{scroll-padding-top:70px}.section-shell{width:calc(100% - 40px)}.site-header{min-height:66px;padding-inline:20px}.brand{gap:7px;font-size:13px}.brand img{width:34px;height:34px}.main-nav{gap:6px;font-size:9px}.main-nav .nav-contact{min-height:31px;gap:3px;padding-inline:7px}.language-option{min-width:27px;min-height:25px;padding-inline:5px;font-size:9px}.hero{grid-template-columns:1fr;gap:12px;padding-block:65px 56px}.hero-copy{padding:0}.eyebrow{margin-bottom:18px;font-size:9px}.hero h1{font-size:clamp(52px,14vw,72px)}.hero-description{max-width:450px;margin-top:19px;font-size:14px}.hero-actions{gap:20px;margin-top:23px}.hero-note{margin-top:18px;font-size:10px}.hero-visual{min-height:350px;margin-top:8px}.visual-sun{top:18px;right:11%;width:min(75%,275px)}.portrait-frame{width:min(69%,285px)}.floating-note{right:3px;bottom:47px;min-width:150px;padding:11px 13px;font-size:11px}.note-star{font-size:24px}.visual-caption{right:3%;bottom:16px;font-size:8px}.intro-content{grid-template-columns:1fr auto;gap:15px;padding-block:43px}.intro-copy h2,.section-heading h2{font-size:38px}.intro-copy p{font-size:13px}.round-link{width:43px}.work-section{padding-block:74px 78px}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:12px}.heading-aside{margin-top:12px;font-size:13px}.project-grid{grid-template-columns:1fr;gap:11px}.project-card{min-height:185px;gap:22px;padding:18px}.project-card h3{font-size:23px}.project-card p{font-size:12px}.learning-section{padding-block:75px 78px}.skills-list{gap:7px;margin-bottom:45px}.skill-pill{padding:8px 11px;font-size:10px}.certificate-heading{display:block}.certificate-heading h3{font-size:23px}.certificate-heading p{margin-top:7px;font-size:11px}.certificate-grid{gap:20px 11px}.certificate-caption{gap:7px;padding-top:9px}.certificate-caption strong{font-size:10px}.certificate-caption small{font-size:9px}.contact-content{padding-block:76px 82px}.contact-content h2{font-size:clamp(49px,12vw,68px)}.contact-content>p:not(.eyebrow){max-width:330px;font-size:13px}.contact-spark{right:-10px;bottom:-5px;font-size:120px;opacity:.32}.site-footer{min-height:108px;flex-wrap:wrap;justify-content:space-between;gap:7px 12px;padding-block:20px}.site-footer p{order:3;width:100%}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}