*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #f7f9f7;--bg-secondary: #e8f0ed;--text-primary: #1a3a2e;--text-secondary: #6b7f75;--accent-blue: #2d5f7f;--accent-green: #5a8f7b;--accent-light: #a8c9bc}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}nav{display:flex;justify-content:space-between;align-items:center;padding:2rem 4rem;max-width:1400px;margin:0 auto}.logo{width:50px;height:50px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-green));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem;text-decoration:none;box-shadow:0 2px 8px #2d5f7f26}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{text-decoration:none;color:var(--text-secondary);font-size:1rem;transition:color .3s ease;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent-green);transition:width .3s ease}.nav-links a:hover:after{width:100%}.hero{max-width:1400px;margin:2rem auto;padding:0 4rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;min-height:45vh}.hero-left h1{font-size:4rem;font-weight:700;line-height:1.3}.hero-left h1 .name-line{display:block}.hero-left h1 .animated-line{display:block;color:var(--text-secondary);font-weight:400;height:5.2em;overflow:hidden}.animated-text{transition:opacity .3s ease-in-out;display:inline-block}.hero-right{display:flex;flex-direction:column;align-items:center;text-align:center}.headshot{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,var(--bg-secondary),var(--accent-light));margin-bottom:2rem;display:flex;align-items:center;justify-content:center;font-size:4rem;border:4px solid white;box-shadow:0 4px 20px #2d5f7f1a;overflow:hidden}.headshot img{width:100%;height:100%;object-fit:cover;object-position:65% 25%}.hero-right h2{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.hero-right p{font-size:1.1rem;color:var(--text-secondary);line-height:1.8;max-width:400px}.social-links{display:flex;gap:1.5rem;margin-top:2rem}.social-links a{color:var(--accent-blue);text-decoration:none;font-size:1.5rem;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-secondary)}.social-links a svg{width:18px;height:18px;display:block}.social-links a:hover{background:var(--accent-green);color:#fff;transform:translateY(-2px)}.case-studies-section{max-width:1400px;margin:0 auto;padding:4rem}.case-studies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}.case-study-card{text-decoration:none;color:inherit;display:block;transition:all .3s ease;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #2d5f7f0d}.case-study-card:hover{transform:translateY(-8px);box-shadow:0 8px 24px #2d5f7f26}.case-study-image{width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,var(--bg-secondary),var(--accent-light));border-radius:8px;margin-bottom:1.5rem;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-secondary)}.case-study-image img{width:100%;height:100%;object-fit:cover}.case-study-card h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}.case-study-card p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.case-study-meta{display:flex;gap:1rem;font-size:.9rem;color:var(--text-secondary)}.badge{display:inline-block;padding:.4rem .9rem;background:var(--bg-secondary);border-radius:16px;font-size:.85rem;color:var(--accent-blue);font-weight:500}.about-page{padding:5rem 1.5rem 6rem}.about-container{max-width:1100px;margin:0 auto}.about-hero{display:grid;grid-template-columns:320px 1fr;gap:3rem;align-items:start;margin-top:1.5rem}.about-photo{width:320px;height:320px;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #2d5f7f1a;background:#00000008}.about-photo img{width:100%;height:100%;object-fit:cover}.about-title{font-size:clamp(2rem,2.8vw,3rem);line-height:1.05;margin:0 0 .75rem}.about-lede{font-size:clamp(1.05rem,1.2vw,1.15rem);line-height:1.65;max-width:60ch;margin:0 0 1.75rem;opacity:.95}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.about-col h3{margin:0 0 .5rem;font-size:1.05rem}.about-col p{margin:0;line-height:1.7;opacity:.95}.about-bring{margin-top:4.5rem}.about-section-title{font-size:1.6rem;margin:0 0 1.25rem}.bring-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.bring-card{padding:1.25rem;border-radius:16px;background:#fff9;border:1px solid rgba(0,0,0,.06)}.bring-card h3{margin:0 0 .5rem;font-size:1.05rem}.bring-card p{margin:0;line-height:1.65;opacity:.95}.about-photos{margin-top:4.5rem}.about-subtitle{margin:-.5rem 0 1.5rem;opacity:.85;line-height:1.6;max-width:70ch}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.photo-grid-item{aspect-ratio:4/5;overflow:hidden;border-radius:8px;background:#00000008}.photo-grid-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.photo-grid-item:hover img{transform:scale(1.05)}@media (max-width: 900px){.photo-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.photo-grid{grid-template-columns:1fr}}.about-connect{margin-top:4.5rem}.about-connect-text{line-height:1.7;max-width:75ch}@media (max-width: 900px){.about-hero{grid-template-columns:1fr}.about-photo{width:220px;height:220px}.about-columns,.bring-grid{grid-template-columns:1fr}}.case-study-detail{max-width:900px;margin:0 auto;padding:4rem 2rem}.case-study-header{margin-bottom:3rem}.case-study-header h1{font-size:3rem;margin-bottom:1rem;color:var(--text-primary)}.case-study-header .meta{display:flex;gap:2rem;color:var(--text-secondary);margin-bottom:2rem}.case-study-hero-image{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--bg-secondary),var(--accent-light));border-radius:8px;margin-bottom:3rem;overflow:hidden}.case-study-hero-image img{width:100%;height:100%;object-fit:cover}.case-study-content h2{font-size:2rem;margin:2.5rem 0 1rem;color:var(--text-primary)}.case-study-content h3{font-size:1.5rem;margin:2rem 0 1rem;color:var(--text-primary)}.case-study-content p{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;color:var(--text-primary)}.case-study-content ul,.case-study-content ol{margin-left:2rem;margin-bottom:1.5rem}.case-study-content li{margin-bottom:.5rem;line-height:1.8;color:var(--text-primary)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin:2rem 0}.metric-card{padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #2d5f7f0d}.metric-value{font-size:2.5rem;font-weight:700;color:var(--accent-blue);margin-bottom:.5rem}.metric-label{color:var(--text-secondary);font-size:.9rem}.back-link{display:inline-block;color:var(--text-secondary);text-decoration:none;margin-bottom:2rem;transition:color .3s ease}.back-link:hover{color:var(--text-primary)}@media (max-width: 768px){nav{padding:1.5rem 2rem}.hero{grid-template-columns:1fr;gap:2rem;padding:2rem}.hero-left h1{font-size:2.5rem}.hero-left h1 .animated-line{height:4em}.case-studies-section{padding:2rem}.case-studies-grid{grid-template-columns:1fr}.case-study-detail{padding:2rem 1.5rem}.case-study-header h1{font-size:2rem}.nav-links{gap:1rem}}.work-page{max-width:1400px;margin:0 auto;padding:4rem 4rem 6rem}.work-header{max-width:800px;margin-bottom:4rem}.work-header h1{font-size:3rem;margin-bottom:1rem;color:var(--text-primary)}.work-intro{font-size:1.15rem;line-height:1.7;color:var(--text-secondary)}.view-all-work{text-align:center;margin-top:3rem}.view-all-button{display:inline-block;padding:1rem 2rem;background:var(--accent-blue);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:all .3s ease}.view-all-button:hover{background:var(--accent-green);transform:translateY(-2px);box-shadow:0 4px 12px #2d5f7f33}@media (max-width: 768px){.work-page{padding:2rem 2rem 4rem}.work-header h1{font-size:2rem}}.site-footer{background:#fff;border-top:1px solid rgba(0,0,0,.08);margin-top:6rem;padding:2.5rem 0}.footer-container{max-width:1400px;margin:0 auto;padding:0 4rem}.footer-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem}.footer-left{justify-self:start}.footer-left p{margin:0;color:var(--text-secondary);font-size:.95rem}.footer-nav{display:flex;gap:2rem;justify-self:center}.footer-nav a{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:color .3s ease}.footer-nav a:hover{color:var(--text-primary)}.footer-social{display:flex;gap:1rem;justify-self:end}.footer-social a{color:var(--accent-blue);text-decoration:none;font-size:1.2rem;transition:all .3s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-secondary)}.footer-social a:hover{background:var(--accent-green);color:#fff;transform:translateY(-2px)}@media (max-width: 768px){.footer-content{grid-template-columns:1fr;text-align:center;gap:1.5rem}.footer-left{justify-self:center}.footer-nav{justify-self:center;flex-wrap:wrap;justify-content:center}.footer-social{justify-self:center}.footer-container{padding:0 2rem}}
