:root{--cream:#f4ecdf;--dark:#211a17;--olive:#7a7768;--text:#211a17;--text-soft:#211a17b3;--serif:"Playfair Display", Georgia, serif;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;font-family:var(--sans);color:var(--text);background:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--serif);color:var(--text);margin:0;font-weight:500}p{margin:0}a{color:inherit}button{font-family:var(--sans)}main{overflow-x:hidden}section{padding:60px 8vw}h1{letter-spacing:-.01em;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.05}h2{margin-bottom:1rem;font-size:2.5rem}.page-bg{z-index:-1;background-position:50%;background-size:cover;position:fixed;inset:0}.page-bg:after{content:"";background:#00000073;position:absolute;inset:0}.page-content{z-index:1;background:var(--cream);border-radius:1rem;max-width:1100px;margin:0 auto;position:relative}.page-content.is-home{background:0 0}.page-content section{border-radius:1rem;margin:32px 0}.nav{z-index:10;background:var(--dark);color:var(--cream);justify-content:space-between;align-items:center;padding:28px 8vw;display:flex;position:sticky;top:0}.nav__logo{font-family:var(--serif);color:var(--cream);font-size:1.5rem;text-decoration:none}.nav__logo p{font-size:1rem;font-style:italic}.nav__toggle{color:var(--cream);cursor:pointer;background:0 0;border:1px solid #f4ecdf66;border-radius:999px;padding:8px 18px;font-size:.9rem}.nav__links{display:none}.nav__links--open{background:var(--dark);flex-direction:column;gap:20px;padding:24px 8vw 40px;display:flex;position:absolute;top:100%;left:0;right:0}.nav__links--open a{color:var(--cream);font-size:1.1rem;text-decoration:none}@media (width<=1160px){.page-content{margin:0 40px}}@media (width>=900px){.nav__toggle{display:none}.nav__links{background:0 0;gap:40px;padding:0;display:flex;position:static}.nav__links a{color:var(--cream);font-size:.95rem;text-decoration:none}}.hero{border-radius:1rem;justify-content:flex-start;align-items:center;max-width:1100px;height:70vh;margin:32px auto;padding-left:8vw;display:flex;position:relative;overflow:hidden}@media (width<=768px){.hero{height:60vh;min-height:500px}}@media (width<=480px){.hero{height:55vh;min-height:420px}.page-content{margin:0 20px}}.hero:before{content:"";z-index:1;pointer-events:none;background:#0000004d;width:100%;height:100%;position:absolute;top:0;left:0}.hero__image{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.hero__copy{z-index:2;color:#fff;text-align:left;flex-direction:column;gap:40px;max-width:800px;padding-right:8vw;display:flex;position:relative}.hero__eyebrow{color:#ffffffd9;order:2;max-width:640px;font-size:1.1rem}.hero__title{color:#fff;order:1}.about{padding-top:40px;padding-bottom:40px}.about h2{max-width:900px;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:400;line-height:1.4}.testimonials{background:var(--cream)}.testimonials h1{margin-bottom:56px}.testimonials__grid{grid-template-columns:1fr;gap:48px;margin:32px 16px;display:grid}@media (width>=800px){.testimonials__grid{grid-template-columns:1fr 1fr}}.testimonials__grid blockquote{margin:0}.testimonials__grid p{font-size:1.3rem;font-family:var(--serif);line-height:1.4}.testimonials__grid cite{color:var(--text-soft);margin-top:20px;font-style:normal;display:block}.services{background:var(--olive);color:var(--cream)}.services h1{color:var(--cream);margin-bottom:64px}.services h2{color:var(--cream)}.services__list{flex-direction:column;gap:56px;display:flex}.services__number{font-family:var(--serif);opacity:.7;font-size:1.1rem}.services__item h3{color:var(--cream);margin:12px 0 16px;font-size:1.8rem}.services__item p{color:#f4ecdfd9;max-width:640px;line-height:1.6}.faq__heading{margin-bottom:48px;font-size:clamp(1.8rem,3vw,2.4rem)}.faq__list{border-top:1px solid #211a1726}.faq__item{border-bottom:1px solid #211a1726}.faq__question{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:1.1rem;font-weight:600;display:flex}.faq__icon{flex-shrink:0;font-size:1.4rem}.faq__answer{max-width:720px;color:var(--text-soft);padding-bottom:24px;line-height:1.6}.contact{background:var(--cream)}.contact__intro{max-width:560px;color:var(--text-soft);margin-top:24px;font-size:1.1rem}.contact__form{flex-direction:column;gap:24px;max-width:640px;display:flex}.contact__row{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=600px){.contact__row{grid-template-columns:1fr 1fr}}.contact__form label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);flex-direction:column;gap:8px;font-size:.85rem;display:flex}.contact__form input,.contact__form textarea{font-family:var(--sans);color:var(--text);background:#fff;border:1px solid #211a1740;border-radius:4px;padding:12px 14px;font-size:1rem}.contact__submit{border:1px solid var(--dark);background:var(--dark);color:var(--cream);cursor:pointer;border-radius:1rem;align-self:flex-start;padding:14px 36px;font-size:1rem}.footer{background:var(--dark);color:var(--cream);flex-direction:column;gap:32px;padding:80px 8vw 40px;display:flex}.footer h3{color:var(--cream);font-size:1.5rem;font-style:italic}.footer__social{gap:24px;display:flex}.footer__social a{color:var(--cream);opacity:.8;text-decoration:none}.footer__contact p{color:#f4ecdfcc;margin:4px 0}.footer__newsletter{max-width:420px}.footer__newsletter p{color:#f4ecdfcc;margin-bottom:16px}.footer__newsletter form{gap:12px;display:flex}.footer__newsletter input{color:var(--cream);background:0 0;border:1px solid #f4ecdf4d;border-radius:4px;flex:1;padding:12px 14px}.footer__newsletter button{border:1px solid var(--cream);background:var(--cream);color:var(--dark);cursor:pointer;border-radius:999px;padding:12px 24px}.footer__copyright{color:#f4ecdf80;font-size:.85rem}.iframe-container{border-radius:8px;width:100%;max-width:900px;margin:40px 0;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.site-iframe{pointer-events:none;border:none;width:100%;height:600px;display:block}.iframe-overlay{cursor:pointer;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.iframe-overlay:hover{background:#ffffff0d}section p.quote{font-synthesis:style;padding:0 2rem;font-style:italic}.post{justify-content:center;margin:40px 0;padding:40px 8vw 80px;display:flex}.post__article{width:100%;max-width:720px}.post__header{border-bottom:1px solid #211a1726;margin-bottom:48px;padding-bottom:40px}.post__header h1{margin-bottom:20px;font-size:clamp(2rem,4vw,3rem)}.post__eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--olive);margin-bottom:16px;font-size:.8rem;font-weight:600}.post__subtitle{color:var(--text-soft);max-width:640px;font-size:1.2rem;line-height:1.5}.post__meta{flex-direction:column;gap:20px;margin-top:32px;display:flex}.resume{margin-bottom:40px}.resume-header{margin-top:40px}.section-p{margin:16px 0}.post__tags,.resume-header__nav{flex-wrap:wrap;gap:12px 20px;display:flex}.post__tag,.resume-header__nav a{border:1px solid #211a1733;border-radius:4px;padding:8px 12px;font-size:.9rem}.post__tag{background:var(--olive);color:var(--cream);border:none;padding:6px 12px;font-size:.8rem}.resume-header__nav a{color:var(--text);text-decoration:none;transition:all .2s}.resume-header__nav a:hover{border-color:var(--olive);background:#7a77680d}.post__links{flex-wrap:wrap;gap:24px;display:flex}.post__links a{color:var(--text);border-bottom:1px solid var(--text);font-weight:600;text-decoration:none}.post__links a:hover{color:var(--olive);border-color:var(--olive)}.post__section{margin-bottom:40px;padding:0}.post__section h2,.resume__section h2{margin-bottom:24px}.post__section h2{margin-bottom:16px;font-size:clamp(1.3rem,2.4vw,1.7rem)}.post__section p{color:var(--text);margin-bottom:16px;font-size:1.05rem;line-height:1.75}.post__section p:last-child{margin-bottom:0}.resume-header{border-bottom:1px solid #211a1726;padding:40px 8vw 24px}.resume-header__title{margin-bottom:20px}.resume-header__title h1{margin:0;font-size:clamp(2rem,4vw,3rem)}.resume-filter{z-index:5;background:var(--cream);border-bottom:1px solid #211a1726;align-items:center;gap:12px;padding:20px 8vw;display:flex;position:sticky;top:0}.resume-filter input{max-width:520px;font-family:var(--sans);color:var(--text);background:#fff;border:1px solid #211a1740;border-radius:999px;flex:1;padding:12px 16px;font-size:1rem}.resume-download-button{border:1px solid var(--dark);background:var(--dark);color:var(--cream);cursor:pointer;white-space:nowrap;border-radius:999px;padding:12px 24px;font-size:.95rem;text-decoration:none;transition:opacity .2s}.resume-download-button:hover{opacity:.85}.resume{flex-direction:column;gap:72px;padding:0 8vw 80px;display:flex}.page-content section.resume__section{margin:0;padding:0;scroll-margin-top:90px}.resume__section h2{font-size:clamp(1.6rem,2.8vw,2.2rem)}.resume__section>ul{flex-direction:column;gap:10px;margin:0;padding-left:1.2em;display:flex}.resume__section p{max-width:800px;line-height:1.6}.resume__jobs{flex-direction:column;gap:40px;display:flex}.resume__job-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.resume__job h3{font-size:1.3rem}.resume__job-dates{color:var(--text-soft);white-space:nowrap;font-size:.9rem}.resume__job-company{color:var(--text-soft);margin:4px 0 12px;font-style:italic}.resume__job ul{flex-direction:column;gap:8px;margin:0;padding-left:1.2em;line-height:1.6;display:flex}.resume__skills{flex-direction:column;gap:28px;display:flex}.resume__skill-category h3{margin-bottom:12px;font-size:1.1rem}.resume__skill-tags{flex-wrap:wrap;gap:8px;display:flex}.resume__skill-tag{background:var(--olive);color:var(--cream);border-radius:999px;padding:6px 14px;font-size:.85rem}.works-cited p{margin-bottom:16px;font-size:.95rem;line-height:1.6}.works-cited a{word-break:break-word}
