:root{--ink:#191a18;--green:#63ad2d;--paper:#fff;--soft:#f1f3ef;--line:#d8ddd4;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.55}a{color:inherit}.site-header{max-width:var(--max);margin:auto;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand img{display:block;width:205px;height:auto}.site-header nav{display:flex;gap:30px;align-items:center}.site-header nav a{text-decoration:none;font-size:.88rem}.nav-contact{border-bottom:2px solid var(--green);padding-bottom:3px}.hero{max-width:var(--max);margin:auto;min-height:650px;padding:105px 36px 75px;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:80px;align-items:end}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:#667064}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(4rem,8vw,7.8rem);line-height:.91;letter-spacing:-.055em;margin:22px 0 35px;font-weight:400}.hero h1 em{color:var(--green);font-weight:400}.intro{max-width:680px;font-size:1.38rem;line-height:1.5;margin-bottom:35px}.text-link{text-decoration:none;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span{color:var(--green);padding-left:7px}.hero-note{border-top:1px solid var(--ink);padding-top:14px;align-self:center}.hero-note span,.situations article>span{font-size:.7rem;letter-spacing:.12em;color:var(--green);font-weight:700}.hero-note p{font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;line-height:1.35}.recognition{background:var(--ink);color:white;padding:100px max(36px,calc((100vw - var(--max))/2 + 36px))}.recognition .section-label{color:#95a18f}.recognition h2,.approach h2,.about h2,.contact h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.4rem,4.5vw,4.6rem);line-height:1.08;letter-spacing:-.035em;font-weight:400;margin:20px 0 70px}.situations{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #4a4c48}.situations article{padding:28px 28px 12px 0;border-right:1px solid #4a4c48;margin-right:28px}.situations article:last-child{border-right:0;margin-right:0}.situations h3{font-size:1.05rem;line-height:1.3;margin:25px 0 12px}.situations p{color:#c5c9c2;font-size:.93rem}.approach{max-width:var(--max);margin:auto;padding:110px 36px}.approach-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:100px}.approach-grid h2{font-size:clamp(2.5rem,4vw,4.2rem);margin-top:12px}.approach-grid>div{padding-top:18px;font-size:1.16rem}.client-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;display:flex;gap:25px;flex-wrap:wrap;margin-top:60px;font-size:.83rem}.client-line strong{color:var(--green);margin-right:auto}.about{background:var(--soft);padding:110px max(36px,calc((100vw - var(--max))/2 + 36px));display:grid;grid-template-columns:390px minmax(0,1fr);gap:110px;align-items:start}.portrait-wrap{background:var(--ink);padding:18px 18px 16px}.portrait-wrap img{width:100%;display:block;aspect-ratio:3/4;object-fit:cover;object-position:center top;filter:saturate(.72) contrast(1.04)}.portrait-caption{color:white;padding-top:15px;font-weight:700}.portrait-caption span{font-weight:400;color:#c7cbc4;font-size:.85rem}.about-copy h2{font-size:clamp(2.2rem,3.7vw,3.8rem);margin-bottom:38px}.about-copy>p:not(.section-label){max-width:720px}.about-copy .text-link{display:inline-block;margin-top:18px}.contact{padding:110px max(36px,calc((100vw - var(--max))/2 + 36px));background:var(--green);color:#10200b}.contact .section-label{color:#284b17}.contact h2{max-width:950px;margin-bottom:55px}.contact-row{display:flex;gap:45px;flex-wrap:wrap}.contact-row a{font-size:1.15rem;font-weight:700;text-decoration:none;border-bottom:1px solid #10200b}footer{max-width:var(--max);margin:auto;padding:35px 36px;display:flex;align-items:center;gap:35px;font-size:.75rem}footer img{width:145px}footer p{margin-right:auto;color:#697065}footer a{text-decoration:none}@media(max-width:850px){.site-header nav a:not(.nav-contact){display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:75px}.hero-note{display:none}.situations{grid-template-columns:1fr 1fr}.situations article:nth-child(2){border-right:0}.approach-grid{grid-template-columns:1fr;gap:0}.about{grid-template-columns:1fr;gap:55px}.portrait-wrap{max-width:380px}.client-line strong{width:100%}}@media(max-width:560px){body{font-size:16px}.site-header{padding:20px}.brand img{width:165px}.hero{padding:65px 20px}.hero h1{font-size:3.65rem}.recognition,.approach,.about,.contact{padding:75px 20px}.recognition h2,.approach h2,.about h2,.contact h2{margin-bottom:45px}.situations{grid-template-columns:1fr}.situations article{border-right:0;border-bottom:1px solid #4a4c48;margin-right:0;padding-bottom:24px}.about{gap:42px}footer{padding:28px 20px;flex-wrap:wrap}footer p{width:100%;order:3}.contact-row{gap:22px}}
.perspectives{max-width:var(--max);margin:auto;padding:110px 36px;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.perspectives h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,3.7vw,3.8rem);line-height:1.08;letter-spacing:-.035em;font-weight:400;margin:20px 0 30px}.perspectives-intro>p:last-child{max-width:570px;color:#5d645a}.perspective-list{border-top:1px solid var(--ink)}.perspective-list a{display:block;text-decoration:none;padding:28px 48px 28px 0;border-bottom:1px solid var(--line);position:relative}.perspective-list a:after{content:'↗';position:absolute;right:5px;top:28px;color:var(--green);font-size:1.2rem}.perspective-list a:hover h3,.perspective-list a:focus h3{color:var(--green)}.perspective-type{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;color:#667064}.perspective-list h3{font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;line-height:1.25;font-weight:400;margin:10px 0 6px;transition:color .15s ease}.perspective-list p{font-size:.83rem;color:#697065;margin:0}@media(max-width:850px){.perspectives{grid-template-columns:1fr;gap:45px}}@media(max-width:560px){.perspectives{padding:75px 20px;gap:35px}}
:root{--camelot-service-columns:3}
.situations{grid-template-columns:repeat(var(--camelot-service-columns),1fr)}
@media(max-width:850px){.situations{grid-template-columns:1fr}.situations article{border-right:0;border-bottom:1px solid #4a4c48;margin-right:0;padding-bottom:24px}.situations article:last-child{border-bottom:0}}

/* Refined client, proof and contact presentation */
.client-groups{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:.7fr 1fr 1fr;gap:45px;margin-top:60px}.client-groups h3{font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:400;line-height:1.2;margin:0}.client-groups strong{display:block;color:var(--green);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.client-groups p{margin:0;font-size:.92rem;line-height:1.5;color:#4f564c}.proof-points{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #c8cec4;border-bottom:1px solid #c8cec4;margin-top:38px}.proof-points>div{padding:24px 22px 24px 0;border-right:1px solid #c8cec4;margin-right:22px}.proof-points>div:last-child{border-right:0;margin-right:0}.proof-points strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:400;line-height:1;color:var(--green);margin-bottom:10px}.proof-points span{display:block;font-size:.78rem;line-height:1.45;color:#555d52}.about-copy .text-link{margin-top:28px}.email-button{display:inline-block;background:var(--ink);color:white;text-decoration:none;font-weight:700;padding:14px 24px;margin-bottom:28px}.email-button:hover,.email-button:focus{background:#30322e}.contact-row a{font-size:1.05rem}.perspective-list a:after{content:none}
@media(max-width:850px){.client-groups{grid-template-columns:1fr 1fr}.client-groups h3{grid-column:1/-1}.proof-points{grid-template-columns:1fr}.proof-points>div{border-right:0;border-bottom:1px solid #c8cec4;margin-right:0}.proof-points>div:last-child{border-bottom:0}}
@media(max-width:560px){.client-groups{grid-template-columns:1fr;gap:24px}.client-groups h3{grid-column:auto}.proof-points>div{padding:20px 0}.proof-points strong{font-size:1.8rem}}
