:root{--ink:#18382f;--paper:#f7f6f0;--muted:#58675f;--line:#d8ddd3;--accent:#d8e99a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #a06e22;outline-offset:5px}.preview{background:var(--ink);color:white;text-align:center;font-size:11px;letter-spacing:1.5px;padding:7px}header{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:30px 5%;gap:20px}.brand{text-decoration:none;font-family:Georgia,serif;font-size:20px;letter-spacing:.5px;line-height:1.25}.brand span{display:block;font:11px Arial,sans-serif;letter-spacing:4px;margin-top:8px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a{text-decoration:none}.nav-cta{border:1px solid var(--ink);padding:10px 18px}.menu{display:none}section{max-width:1320px;margin:auto;padding:90px 5%}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;padding-top:55px;padding-bottom:75px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:normal;letter-spacing:-2px;line-height:1.08}h1{font-size:clamp(42px,4.7vw,67px);margin-bottom:28px}h1 em{font-weight:normal;color:#657e45}h2{font-size:clamp(34px,3.8vw,50px)}h3{font-size:21px;font-weight:normal;line-height:1.3}p{color:var(--muted);max-width:620px}.intro,.large{font-size:21px;line-height:1.5;color:var(--ink)}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.button{background:var(--ink);color:white;padding:15px 22px;text-decoration:none;font-size:14px;display:inline-flex;gap:35px}.text-link{text-underline-offset:6px;font-size:14px}.hero-art{background:#dfe5d7;padding:28px;position:relative;overflow:hidden;min-height:490px;display:flex;flex-direction:column;justify-content:space-between}.art-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px}.path{border-left:1px solid #92a78e;margin:30px 0 20px 24px;padding-left:25px;position:relative}.path span{display:block;font-size:10px;letter-spacing:2px;margin:15px 0}.path strong{display:block;font:normal 48px/1.05 Georgia,serif;margin:25px 0}.arrow{position:absolute;right:0;top:45px;font:normal 135px/1 Georgia,serif;color:#6b835a}.hero-art>p{font-size:14px;margin:15px 0 0}.audience{max-width:1188px;margin:auto;border-block:1px solid var(--line);padding:25px 0;display:flex;gap:25px;align-items:center;font-size:13px}.audience span{margin-right:auto;color:var(--muted)}.audience i{font-style:normal;color:#9cad96}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;column-gap:80px}.section-heading .eyebrow{grid-column:1/-1}.section-heading>p:last-child{align-self:center}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:35px}.services article{border-top:1px solid var(--ink);padding-top:20px}.services article>span{font-size:11px;color:#6b835a}.services h3{margin-top:25px}.services p,.services ul{font-size:14px}.services ul{padding-left:16px;color:var(--muted)}.services li{margin:8px 0}.approach{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach p{color:#c3d0c7}.steps article{display:flex;gap:25px;border-top:1px solid #597267;padding:24px 0}.steps b{font-size:12px;color:var(--accent)}.steps h3{margin-bottom:8px}.steps p{font-size:14px;margin-bottom:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:0 90px}.about>.eyebrow{grid-column:1/-1}.project{border-block:1px solid var(--line);padding-block:35px;display:flex;align-items:center;justify-content:space-between;gap:40px}.project .eyebrow{margin-bottom:12px}.project p{font-size:14px;margin-bottom:0}.project h3{font-size:26px;margin-bottom:10px}.contact{text-align:center;padding-block:100px}.contact p{margin-inline:auto}.contact .actions{justify-content:center}.contact h2{font-size:clamp(40px,5vw,65px)}footer{border-top:1px solid var(--line);max-width:1188px;margin:auto;padding:35px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer small{font-size:11px;margin:0}footer .brand{font-size:15px}footer .brand span{font-size:8px}@media(max-width:1000px){.hero{gap:30px}.arrow{font-size:90px;top:65px}.services{grid-template-columns:repeat(2,1fr)}.audience,footer{margin-inline:5%}.audience{flex-wrap:wrap;gap:15px}.audience span{flex-basis:100%}.approach,.about{gap:35px}}@media(max-width:700px){header{flex-wrap:wrap;padding-block:22px}.brand{font-size:17px}.menu{display:block;background:transparent;border:1px solid var(--ink);color:var(--ink);padding:8px 15px}nav{display:none;flex-basis:100%;align-items:flex-start;padding-block:15px;gap:20px}nav.open{display:flex;flex-direction:column}.hero,.section-heading,.approach,.about{grid-template-columns:1fr}.hero{padding-top:30px}.hero-art{min-height:390px}.path strong{font-size:42px}.arrow{right:20px;font-size:120px;top:15px}section{padding-block:60px}.services{grid-template-columns:1fr}.services article{padding-top:15px}.services h3{margin-top:12px}.project,footer{flex-direction:column;align-items:flex-start}.contact{padding-block:65px}.actions{gap:22px}.audience{font-size:11px;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* JMW brand and dedicated pages */
:root{--ink:#082d4b;--muted:#526779;--accent:#86cef1;--paper:#f6f8fa;--line:#d4dee5}h1 em{color:#347ca6}.logo{display:block;width:450px;max-width:100%;height:auto}.brand{flex-shrink:0}.brand span{display:none}nav{gap:18px;font-size:13px}nav [aria-current=page]{text-decoration:underline;text-underline-offset:6px}.hero-art{background:#e0edf5}.path{border-color:#96b9cf}.arrow,.services article>span{color:#4b8db4}.approach p{color:#c4d9e8}.steps article{border-color:#456980}.detail-services{grid-template-columns:repeat(3,1fr)}footer .logo{width:330px}@media(max-width:1150px){header{flex-wrap:wrap}header nav{flex:1;justify-content:flex-end;flex-wrap:wrap}.logo{width:390px}}@media(max-width:850px){.detail-services{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){header nav{flex:none;flex-basis:100%;align-items:flex-start}.logo{width:345px}.detail-services{grid-template-columns:1fr}}



/* Meet Joel portrait */
.joel-profile h2{margin-bottom:28px}.joel-portrait{display:block;width:300px;max-width:100%;height:auto;border-radius:3px}.about>div:last-child{align-self:center}@media(max-width:700px){.joel-portrait{width:250px}.about{gap:25px}}
