@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');:root{--green:#315A46;--deep:#244334;--blush:#E8D1D3;--ivory:#F8F5EF;--gold:#B69B76;--ink:#2B3B32}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15}h1{font-size:clamp(2.8rem,6vw,5.4rem);margin:14px 0 22px}h2{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 20px}h3{font-size:1.5rem;margin:8px 0}a{color:inherit}header{position:sticky;top:0;background:rgba(248,245,239,.97);z-index:5;border-bottom:1px solid #d8d0c4}.nav{max-width:1180px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo{text-decoration:none;color:var(--green);line-height:1.15}.logo strong{font:600 31px Georgia,serif;letter-spacing:.1em}.logo small{display:block;font-size:10px;letter-spacing:.18em;font-weight:700}.links{display:flex;gap:24px;flex-wrap:wrap}.links a{text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.06em}.links a.active,.links a:hover{color:#9a6370}.button{display:inline-block;background:var(--green);color:white;text-decoration:none;padding:13px 22px;border:0;border-radius:3px;font-weight:700;font-size:13px;letter-spacing:.03em;cursor:pointer}.button:hover{background:var(--deep)}.button.alt{background:transparent;color:var(--green);border:1px solid var(--green)}.wrap{max-width:1180px;margin:auto;padding:72px 28px}.hero{background:linear-gradient(120deg,#f3eae4,#f8f5ef)}.hero-grid,.split{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.eyebrow{color:#8b6c54;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700}.intro{font-size:18px;max-width:650px}.portrait{width:100%;max-height:480px;object-fit:cover;object-position:center 25%;border-radius:180px 180px 4px 4px;box-shadow:22px 22px 0 var(--blush)}.ribbon{background:var(--green);color:white;text-align:center;padding:25px;font-size:13px;letter-spacing:.13em;text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;padding:27px;border-top:4px solid var(--gold);min-height:205px}.card p{margin-bottom:0}.panel{background:var(--blush);padding:34px;border-radius:4px}.panel.green{background:var(--green);color:white}.panel.green .eyebrow{color:#e8d1d3}.muted{color:#68746b}.list{padding-left:20px}.list li{margin-bottom:7px}.divider{border-top:1px solid #d7cbbd;margin:24px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.placeholder{height:220px;background:linear-gradient(135deg,#dfe6db,#e8d1d3);display:grid;place-items:center;text-align:center;padding:20px;color:var(--green);border:1px dashed #b8b1a6}.portfolio-note{font-size:14px;color:#5d6b61}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px}.field{display:block;margin-bottom:14px;font-size:13px;font-weight:700}.field input,.field textarea,.field select{display:block;width:100%;margin-top:6px;padding:13px;background:#fff;border:1px solid #c6c8bd;font:inherit;color:var(--ink)}.field textarea{min-height:130px}footer{background:var(--deep);color:white;padding:34px 28px}.footer-inner{max-width:1180px;margin:auto;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer a{color:white}.callout{padding:28px 32px;background:#fff;border-left:5px solid var(--blush)}@media(max-width:800px){.nav{align-items:flex-start;flex-direction:column}.links{gap:12px}.hero-grid,.split,.contact-grid,.two{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.wrap{padding:48px 20px}.portrait{max-width:370px}h1{font-size:2.8rem}}
/* MJB photo portfolio */
.portfolio-section{margin:48px 0}.portfolio-section h2{color:#315A46;margin-bottom:18px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photo-card{margin:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 18px rgba(38,60,50,.09)}.photo-card img{width:100%;height:215px;object-fit:cover;display:block}.photo-card figcaption{font-size:14px;line-height:1.45;padding:13px 15px;color:#315A46}.portfolio-section:nth-of-type(even) .photo-card{background:#f8f5ef}@media(max-width:760px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-card img{height:170px}}@media(max-width:480px){.photo-grid{grid-template-columns:1fr}.photo-card img{height:240px}}

/* Gallery preview and responsive enhancements */
.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.preview-grid img{width:100%;height:180px;object-fit:cover;border-radius:12px}.links a:focus-visible,.button:focus-visible{outline:3px solid #B69B76;outline-offset:3px}@media(max-width:760px){.preview-grid{grid-template-columns:repeat(2,1fr)}.preview-grid img{height:150px}}

/* About Michelle — personal photo strip */
.about-personal-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.about-personal-gallery figure{margin:0;overflow:hidden;border-radius:14px;background:#eee8e1}
.about-personal-gallery img{display:block;width:100%;height:300px;object-fit:cover;object-position:center}
@media(max-width:700px){.about-personal-gallery{grid-template-columns:1fr 1fr;gap:10px}.about-personal-gallery figure:first-child{grid-column:1 / -1}.about-personal-gallery img{height:230px}.about-personal-gallery figure:first-child img{height:330px}}

/* Five-photo homepage gallery: three above, two below on wide screens */
@media(min-width:761px){.preview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.preview-grid img{grid-column:span 2}.preview-grid img:nth-child(4){grid-column:2 / span 2}.preview-grid img:nth-child(5){grid-column:4 / span 2}}
