@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--cream:#f4f1e8;--green:#32412a;--copper:#a64c20;--ink:#242821}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.75 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--copper);outline-offset:5px}header{max-width:1200px;margin:auto;padding:26px 40px;display:flex;align-items:center;justify-content:space-between}.brand{font:italic 29px Georgia,serif;background:var(--copper);color:var(--cream);border-radius:50%;width:49px;height:49px;display:grid;place-items:center;outline:1px solid var(--copper);outline-offset:3px}nav{display:flex;gap:32px;font-size:13px}nav a:hover{color:var(--copper)}.hero{text-align:center;padding:96px 24px 104px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600}.hero .eyebrow{color:var(--copper)}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(60px,7.5vw,104px);font-style:italic;margin:27px 0}.intro{max-width:620px;margin:0 auto;font-size:17px;line-height:1.8}.cta{display:inline-flex;gap:40px;color:var(--copper);border-bottom:1px solid;padding:12px 0 6px;margin-top:32px;font-size:14px}.collage{background:var(--green);height:590px;position:relative;overflow:hidden}.collage img{position:absolute;object-fit:cover}.c1{width:22%;height:65%;left:-1%;bottom:5%}.c2{width:34%;height:45%;left:31%;top:0}.c3{width:24%;height:44%;left:31%;bottom:6%;border-radius:50% 50% 0 0}.c4{width:22%;height:47%;right:-1%;top:6%}.c5{width:27%;height:39%;right:9%;bottom:0}.wrap{max-width:1120px;margin:auto;padding-left:40px;padding-right:40px}.about{display:grid;grid-template-columns:1.15fr 1fr;gap:110px;align-items:center;padding-top:110px;padding-bottom:100px}.about h2{font-size:58px;color:var(--copper);margin:20px 0 30px}.about p:not(.eyebrow){font-size:14px;line-height:1.9}.portrait{width:100%;height:480px;object-fit:cover;object-position:center 45%;border-radius:220px 220px 0 0}h2{font-size:64px;color:var(--copper);margin:18px 0 42px}.education{text-align:center;padding-top:60px;padding-bottom:120px}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:60px}.seal{display:grid;place-items:center;margin:auto;width:64px;height:64px;border-radius:50%;background:var(--copper);color:var(--cream);font:36px Georgia;outline:1px solid var(--copper);outline-offset:4px}.credentials h3{font-size:26px;line-height:1.25;min-height:65px;margin:28px 0 14px}.credentials article p{font-size:12px;border-top:1px solid #ccac79;padding-top:15px;line-height:1.6}.gallery{text-align:center;padding-top:70px;padding-bottom:100px}.gallery h2{margin-bottom:12px}.sub{font-size:14px;margin-bottom:60px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}figure{margin:0}.photo{display:block;width:100%;border:0;padding:0;cursor:zoom-in;background:transparent;overflow:hidden}.photo img{display:block;width:100%;height:235px;object-fit:cover;transition:transform .3s}.photo:hover img{transform:scale(1.035)}figcaption{font:italic 20px/1.35 'Libre Caslon Display',Georgia,serif;padding:15px 6px 0}footer{background:var(--green);color:var(--cream);padding:80px 0 26px}footer h2{color:var(--cream);font-size:clamp(48px,6vw,80px);margin:30px 0 60px}footer .eyebrow{color:#d0b58d}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid #86916d;padding-top:35px}.contact p{font-size:14px;max-width:340px}.social{font-size:14px;border-bottom:1px solid #86916d;padding-bottom:6px}.details a{display:block;margin:0 0 23px;font-size:17px;overflow-wrap:anywhere}.details span{display:block;font-size:9px;letter-spacing:2px;color:#d0b58d;margin-bottom:4px}.bottom{display:flex;justify-content:space-between;border-top:1px solid #59644c;padding-top:22px;margin-top:50px;font-size:10px;color:#d6dacb}dialog{border:0;background:var(--cream);padding:24px;max-width:92vw;max-height:92vh;text-align:center}dialog::backdrop{background:#14200fe8}dialog img{max-width:80vw;max-height:74vh;display:block;margin:auto;object-fit:contain}dialog p{font-size:13px;margin-bottom:0}.close{position:absolute;right:8px;top:4px;border:0;background:var(--cream);font-size:28px;cursor:pointer;line-height:1.2}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:white;padding:10px;z-index:10}@media(max-width:700px){header{padding:22px 24px}nav{gap:16px;font-size:11px}nav a:nth-child(2){display:none}.brand{width:38px;height:38px;font-size:24px}.hero{padding:68px 22px 75px}h1{font-size:60px}.intro{font-size:14px}.intro br{display:none}.eyebrow{font-size:8px;letter-spacing:1.8px}.collage{height:370px}.c1{width:26%;height:61%}.c2{left:29%;width:40%;height:43%}.c3{left:31%;width:30%;height:43%}.c4{width:26%;height:44%}.c5{right:0;width:33%;height:34%}.wrap{padding-left:25px;padding-right:25px}.about{grid-template-columns:1fr;gap:32px;padding-top:65px;padding-bottom:55px}.about h2{font-size:48px}.portrait{height:420px;max-width:340px;justify-self:center}.education{padding-top:40px;padding-bottom:50px}h2{font-size:49px}.credentials{grid-template-columns:1fr;gap:35px;margin-top:42px}.credentials article{max-width:330px;width:100%;margin:auto}.credentials h3{min-height:0;font-size:25px}.credentials article p{margin-bottom:0}.seal{width:53px;height:53px;font-size:31px}.gallery{padding-top:50px;padding-bottom:60px}.sub{margin-bottom:35px}.grid{grid-template-columns:repeat(2,1fr);gap:25px 16px}.photo img{height:160px}figcaption{font-size:18px}.grid figure:last-child{grid-column:1/-1;max-width:300px;justify-self:center}.grid figure:last-child img{height:210px}footer{padding-top:55px}.contact{grid-template-columns:1fr;gap:25px}footer h2{margin-bottom:40px}.bottom{gap:20px}.details a{font-size:16px}dialog{padding:23px 12px 15px}dialog img{max-width:82vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}
/* Dog portraits keep their native proportions inside a bounded collage. */
.collage{height:auto}
.collage-inner{position:relative;width:min(100%,1280px);aspect-ratio:1280/650;margin:0 auto}
.collage .collage-inner img{height:auto;object-fit:contain;object-position:center;display:block}
.collage .c1{width:18.75%;left:0;bottom:24.6%;top:auto}
.collage .c2{width:31.25%;left:25%;top:0;bottom:auto}
.collage .c3{width:17.58%;left:27.5%;bottom:3%;top:auto;border-radius:45% 45% 0 0}
.collage .c4{width:18.75%;right:0;top:8.46%;bottom:auto}
.collage .c5{width:26.56%;right:20.31%;bottom:0;top:auto}
@media(max-width:700px){
.collage-inner{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;aspect-ratio:auto;padding:24px 16px;align-items:center}
.collage .collage-inner img{position:static;width:100%;height:auto}
.collage .c1{grid-column:1/4;grid-row:1}
.collage .c4{grid-column:4/7;grid-row:1}
.collage .c2{grid-column:1/4;grid-row:2}
.collage .c5{grid-column:4/7;grid-row:2}
.collage .c3{grid-column:3/5;grid-row:3}
}

/* Career portfolio: clear intent, evidence, and an easy conversation. */
.hero-career{padding-top:70px;padding-bottom:68px}
.hero-career h1{margin-bottom:22px}
.career-lead{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(29px,3.2vw,43px);line-height:1.2;margin:0 auto 22px;color:var(--copper)}
.hero-career .intro{max-width:650px;font-size:16px}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:30px;margin:30px 0 36px;flex-wrap:wrap}
.hero-actions .cta{margin:0;padding:10px 0;gap:22px}
.button-primary,.button-light{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:13px 22px;font-size:13px;border:1px solid var(--green);background:var(--green);color:var(--cream);transition:background .2s}
.button-primary:hover{background:#425637}
.quick-facts{display:flex;justify-content:center;gap:12px 28px;flex-wrap:wrap;list-style:none;margin:0;padding:0;color:#58604e;font-size:11px}
.quick-facts li{display:flex;align-items:center;gap:9px}
.quick-facts li:before{content:'';width:4px;height:4px;background:var(--copper);border-radius:50%}
.team-fit{padding-top:25px;padding-bottom:65px}
.team-fit>.eyebrow,.team-fit>h2{text-align:center}
.team-fit h2{font-size:clamp(40px,5vw,56px)}
.fit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.fit-grid article{border-top:1px solid #cbb995;padding-top:18px}
.fit-number{font-size:11px;letter-spacing:2px;color:var(--copper)}
.fit-grid h3{font-size:29px;margin:16px 0}
.fit-grid p{font-size:13px;line-height:1.85;margin:0}
.button-light{background:var(--cream);border-color:var(--cream);color:var(--green);margin:12px 0 25px}
.button-light:hover{background:#ded9cb}
.social{display:table}
@media(max-width:700px){
.hero-career{padding-top:45px;padding-bottom:45px}
.hero-career h1{font-size:52px}
.hero-career .intro{font-size:14px}
.hero-actions{flex-direction:column;gap:14px;margin:26px 0}
.button-primary{width:100%;max-width:300px;padding:14px 18px}
.quick-facts{flex-direction:column;align-items:center;gap:8px;font-size:10px}
.team-fit{padding-top:5px;padding-bottom:40px}
.fit-grid{grid-template-columns:1fr;gap:28px}
.fit-grid h3{margin:9px 0 12px}
.team-fit h2{margin-bottom:32px}
.button-light{gap:16px;padding:13px 15px;font-size:12px}
}
