:root{--paper:#f3f3f1;--ink:#111111;--green:#202020;--muted:#595957;--line:#d2d2ce;--wash:#e8e8e4;--lime:#c1ee36}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #111111;outline-offset:6px}.skip{position:absolute;top:-70px;background:var(--green);color:white;padding:15px}.skip:focus{top:0;z-index:4}header{margin:0 6%;padding:32px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{font-family:Georgia,serif;font-size:24px;letter-spacing:-.7px;white-space:nowrap}.brand span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:3px;margin-top:8px}nav{display:flex;gap:29px;font-size:13px}nav a{padding:10px 0;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--green)}main{min-height:65vh}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:bold;color:var(--green)}hero{display:block}.hero{padding:65px 8% 76px}.hero h1{max-width:1150px;font-size:clamp(46px,5.2vw,78px);line-height:1.09;letter-spacing:-2.8px;font-weight:normal;margin:28px 0 46px;font-family:Georgia,serif}em{font-weight:normal;color:var(--green)}.hero-bottom{display:grid;grid-template-columns:1fr 1.55fr;gap:9%;max-width:1060px}.small-note{font-family:Georgia,serif;font-style:italic;font-size:21px;line-height:1.5;color:var(--muted);padding-top:6px}.intro p{font-size:17px;line-height:1.7;margin:0 0 19px}.button{display:inline-flex;gap:54px;align-items:center;background:var(--green);color:#fff;padding:17px 23px;font-size:13px;margin-top:9px;transition:background .2s}.button:hover{background:#d1fc55}.button span{font-size:19px}.bridge{padding:62px 8% 72px;background:var(--wash);display:grid;grid-template-columns:1fr 1fr;column-gap:9%;align-items:start}.bridge .eyebrow{grid-column:1/-1;margin-bottom:24px}.bridge h2{font-family:Georgia,serif;font-weight:normal;letter-spacing:-1px;font-size:43px;line-height:1.15;margin:0;max-width:440px}.bridge p{font-size:16px;line-height:1.7;margin:0 0 16px}.text-link{display:inline-block;border-bottom:1px solid var(--green);padding:8px 0;font-size:13px;color:var(--green)}.text-link span{margin-left:24px}footer{margin:0 6%;padding:45px 0 28px;display:grid;grid-template-columns:1fr 1fr auto;gap:35px;align-items:center;border-top:1px solid var(--line)}footer>div,footer>a:not(.brand){font-size:12px;color:var(--muted)}footer small{font-size:10px;color:var(--muted);grid-column:1/-1;margin-top:16px}.page-head{padding:66px 8% 55px}.page-head h1,.contact h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(50px,6vw,84px);line-height:1.07;letter-spacing:-2.5px;margin:28px 0 0}.about-body{padding:15px 8% 90px;display:grid;grid-template-columns:1fr 1.5fr;gap:9%}.margin-label{font-size:12px;color:var(--muted);line-height:1.9;border-top:1px solid var(--line);padding-top:24px;max-width:250px}.prose{max-width:680px}.prose p{font-size:18px;line-height:1.8;margin:0 0 25px}.prose h2{font:normal 38px/1.2 Georgia,serif;letter-spacing:-.8px;margin:64px 0 25px;color:var(--green)}.contact{padding:73px 8% 110px}.contact p{font-size:19px;line-height:1.7;max-width:580px;margin:35px 0 20px}.email{display:block;font-size:15px;margin-top:23px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-note{border-top:1px solid var(--line);margin-top:60px;padding-top:25px;font-family:Georgia,serif;font-size:19px;font-style:italic;color:var(--muted);max-width:580px}.message-head{background:var(--wash);padding-bottom:55px}.deck{font-size:18px;line-height:1.6;margin:28px 0 15px;max-width:500px}.essay{display:grid;grid-template-columns:1fr 2.2fr;gap:8%;padding:62px 8% 85px}.essay aside{position:sticky;top:30px;align-self:start}.essay aside p{font:italic 18px Georgia,serif;color:var(--muted)}.essay-cta{border-top:1px solid var(--line);padding-top:20px;margin-top:40px}@media(min-width:1600px){body{max-width:1600px;margin:auto}}@media(max-width:760px){header{margin:0 6%;padding:23px 0;align-items:flex-start;flex-direction:column;gap:18px}.brand{font-size:23px}nav{gap:21px;flex-wrap:wrap;font-size:12px}nav a{padding:5px 0}.hero{padding:44px 6% 52px}.hero h1{font-size:45px;letter-spacing:-1.7px;margin-bottom:30px}.hero-bottom{grid-template-columns:1fr;gap:25px}.small-note{display:none}.intro p{font-size:16px}.bridge{padding:43px 6%;grid-template-columns:1fr;gap:24px}.bridge .eyebrow{margin:0}.bridge h2{font-size:36px}.page-head{padding:45px 6% 35px}.page-head h1,.contact h1{font-size:50px;letter-spacing:-1.6px}.about-body{padding:15px 6% 60px;grid-template-columns:1fr;gap:26px}.margin-label{max-width:none}.prose p{font-size:17px;line-height:1.75}.essay{grid-template-columns:1fr;padding:38px 6% 60px;gap:20px}.essay aside{position:static}.essay aside p{margin-bottom:10px}.prose h2{font-size:33px;margin-top:45px}.contact{padding:48px 6% 70px}.contact p{font-size:17px}footer{grid-template-columns:1fr;gap:22px;padding-top:34px}footer small{margin-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Light grey foundation, black typography and restrained lime accents. */
.hero{background:var(--paper);color:var(--ink)}
.hero .eyebrow{color:var(--ink)}
.hero em,em{color:var(--ink)}
.button{background:var(--lime);color:#111;font-weight:600}
.button:hover{background:#d1fc55}
.hero .intro p{color:#333332}
nav a:hover,nav a[aria-current]{border-bottom:3px solid var(--lime);padding-bottom:8px}
.photo-frame{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;min-height:290px;border:1px solid #bdbdb7;background:#e6e6e1;color:#555550;text-align:center;padding:30px;outline:1px solid #cdcdc6;outline-offset:-13px}
.photo-frame:before,.photo-frame:after{content:'';position:absolute;width:24px;height:24px;border-color:#777771;border-style:solid}
.photo-frame:before{left:-1px;top:-1px;border-width:2px 0 0 2px}
.photo-frame:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.frame-mark{font:normal 36px Georgia,serif;color:#666660;margin-bottom:14px}
.frame-label{font-size:11px;letter-spacing:1.8px;text-transform:uppercase}
.frame-detail{font-size:12px;line-height:1.6;max-width:230px;color:#62625c}
.home-photo{align-self:stretch}.about-photo{min-height:370px;margin-bottom:30px}.about-aside .margin-label{max-width:none}
.eyebrow:before{content:'';display:inline-block;width:22px;height:3px;vertical-align:middle;background:var(--lime);margin-right:12px}
.bridge h2{font-size:40px}.hero-bottom{grid-template-columns:1fr 1.55fr}.hero h1{font-size:clamp(46px,5.2vw,78px)}
.text-link{color:var(--ink);border-color:#777}
.text-link:hover{border-bottom:3px solid var(--lime);padding-bottom:6px}
@media(max-width:760px){.hero-bottom{grid-template-columns:1fr}.home-photo{min-height:245px;order:2;margin-top:12px}.about-photo{min-height:320px;max-width:430px}.hero h1{font-size:44px}.bridge h2{font-size:35px}nav a:hover,nav a[aria-current]{padding-bottom:3px}}

/* Client supplied portraits retain their full composition. */
.portrait{display:block;width:100%;height:auto;object-fit:contain;min-height:0;outline:none;border:0;background:transparent}.portrait.home-photo{align-self:start}.portrait.about-photo{min-height:0;margin-bottom:30px}
@media(max-width:760px){.portrait.home-photo{min-height:0;max-width:430px;order:2}.portrait.about-photo{min-height:0}}

.testimonial-form{display:grid;grid-template-columns:1fr 1.55fr;gap:9%;padding:0 8% 85px}.form-intro h2{font:normal 32px/1.2 Georgia,serif;margin-top:0}.form-intro p{font-size:16px;line-height:1.75}.form-embed{min-width:0}.form-embed iframe{display:block;width:100%;border:0}nav{flex-wrap:wrap}@media(max-width:760px){.testimonial-form{grid-template-columns:1fr;padding:0 6% 55px;gap:35px}nav{gap:18px}}

.client-quotes{padding:0 8% 70px;max-width:1150px;margin:auto}.client-quotes>h2{font:normal 38px/1.2 Georgia,serif;margin:20px 0 35px}.client-quote{margin:0;padding:34px 0;border-top:1px solid var(--line)}.client-quote blockquote{margin:0;max-width:850px}.client-quote p{font-size:18px;line-height:1.8;margin:0 0 18px}.client-quote figcaption{font-size:13px;font-weight:600;margin-top:24px}.client-quote time{color:var(--muted);font-weight:normal}.testimonial-form{border-top:1px solid var(--line);padding-top:55px}@media(max-width:760px){.client-quotes{padding:0 6% 45px}.client-quote p{font-size:17px}.client-quotes>h2{font-size:32px}}

/* A single, upright headline voice across the site. */
h1 em{font-style:normal;color:inherit}.hero h1{max-width:1100px;font-size:clamp(42px,4.8vw,70px);line-height:1.13;letter-spacing:-2px}.page-head h1,.contact h1{max-width:1000px;font-size:clamp(42px,5.2vw,72px);line-height:1.14;letter-spacing:-1.8px}.contact p{max-width:680px}@media(max-width:760px){.hero h1,.page-head h1,.contact h1{font-size:42px;line-height:1.15;letter-spacing:-1.2px}}
