:root{--bg:#f6f3eb;--text:#213e36;--text-secondary:#606c60;--border:#d6d9cc;--accent:#244b40;--accent-hover:#18392f;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #9c783d;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}.container{width:min(1240px,90%);margin:0 auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:var(--bg);padding:12px;z-index:9}.site-header .container{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:26px 0;border-bottom:1px solid var(--border)}.logo img{width:172px;height:auto;mix-blend-mode:multiply}.site-nav{display:flex;align-items:center;gap:30px}.site-nav a{font-size:13px}.site-nav .nav-login{border:1px solid #a7b2a5;padding:8px 22px}.hero{padding:76px 0 70px}.hero .container{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;align-items:center}.hero-text{padding:4px 0}.kicker{font:11px/1.5 var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary)}.hero .kicker{display:flex;align-items:center;gap:14px;margin-bottom:26px}.hero .kicker:before{content:'';display:block;width:32px;height:1px;background:#879b82}.hero h1{font-size:clamp(48px,5.7vw,82px);line-height:1.05;letter-spacing:-3px;margin-bottom:30px}.hero h1 em{color:#687e60;font-weight:400}.hero-text>p:not(.kicker){max-width:465px;color:var(--text-secondary);font-size:16px;line-height:1.85}.btn{display:inline-flex;align-items:center;gap:35px;background:var(--accent);color:#f7f5ed;padding:14px 22px;margin-top:30px;font-size:13px;transition:background .2s}.btn:after{content:'↗';font-size:19px;line-height:1}.btn:hover{background:var(--accent-hover);text-decoration:none}.hero .container:after{content:'';display:block;background:url('images/lislea-road.jpg') center 65%/cover;height:500px;border-radius:130px 0 0 0;box-shadow:14px 14px 0 #e5e7dc}.photo-band{background:none}.who{padding:36px 0 42px}.who>.container{display:grid;grid-template-columns:1fr 3fr;gap:30px;align-items:center;border-top:1px solid var(--border);padding-top:32px}.who-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:35px}.who-item{padding-left:30px;border-left:1px solid var(--border)}.who h3{font-size:27px;line-height:1.3}.case-teaser-plain{padding:0 0 60px}.case-teaser-plain>.container{padding:34px 40px;background:#244b40;color:#f6f3eb;display:flex;justify-content:space-between;align-items:center;gap:30px}.case-teaser-plain .kicker{color:#cfdbcb}.case-teaser-plain .text-link{font-family:var(--serif);font-size:27px;line-height:1.3;display:flex;gap:30px;align-items:center}.arrow-link:after{content:'↗';font:23px var(--sans)}.site-footer{padding:0 0 22px}.footer-grid{display:grid;grid-template-columns:1.7fr .8fr 1fr;gap:70px;padding:45px 0 42px;border-top:1px solid var(--border)}.footer-brand img{width:145px;mix-blend-mode:multiply;margin-bottom:20px}.footer-brand p{font-size:13px;line-height:1.8;color:var(--text-secondary);max-width:300px}.footer-heading{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:18px}.footer-nav,.footer-contact-col{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.footer-nav a,.footer-contact-col a{font-size:13px}.footer-bottom{border-top:1px solid var(--border);padding-top:20px;color:var(--text-secondary);font-size:11px}
@media(min-width:1400px){.hero{padding-top:90px;padding-bottom:85px}}
@media(max-width:950px){.hero .container{gap:35px}.hero h1{font-size:58px}.hero .container:after{height:440px}.site-nav{gap:22px}.who>.container{grid-template-columns:1fr;gap:22px}.who-item:first-child{padding-left:0;border:0}.who h3{font-size:25px}.footer-grid{gap:35px}.hero{padding:54px 0}.case-teaser-plain .text-link{font-size:23px}.case-teaser-plain>.container{padding:30px}}
@media(max-width:650px){.site-header .container{flex-direction:column;align-items:flex-start;gap:22px;padding:22px 0}.logo img{width:150px}.site-nav{gap:17px;flex-wrap:wrap}.site-nav a{font-size:12px}.site-nav .nav-login{padding:5px 15px}.hero{padding:38px 0}.hero .container{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(45px,9vw,64px);max-width:490px;letter-spacing:-2px;margin-bottom:22px}.hero .kicker{margin-bottom:20px}.hero-text>p:not(.kicker){font-size:15px}.hero .container:after{height:330px;border-radius:90px 0 0 0;box-shadow:8px 8px 0 #e5e7dc;background-position:center 73%}.who{padding:25px 0 32px}.who-grid{grid-template-columns:1fr;gap:20px}.who-item{border:0;padding:0}.who h3{font-size:27px}.case-teaser-plain{padding-bottom:35px}.case-teaser-plain>.container{display:block;padding:25px}.case-teaser-plain .text-link{margin-top:15px;font-size:25px;justify-content:space-between}.footer-grid{grid-template-columns:1fr 1fr;gap:30px;padding:30px 0}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:400px}.footer-bottom{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
/* Homepage heading refinement */
.hero h1{font-size:clamp(44px,5.1vw,72px)}
.hero h1 em{font-family:inherit;font-style:normal;color:inherit}
@media(max-width:950px){.hero h1{font-size:52px}}
@media(max-width:650px){.hero h1{font-size:clamp(40px,8vw,56px)}}
/* Three client groups */
.who>.container{grid-template-columns:1fr;gap:24px}
.who-grid{grid-template-columns:1.25fr 1.15fr 1fr;gap:25px}
.who-item:first-child{border-left:0;padding-left:0}
@media(max-width:950px){.who-grid{gap:20px}.who-item{padding-left:20px}.who h3{font-size:23px}}
@media(max-width:650px){.who-grid{grid-template-columns:1fr;gap:20px}.who-item{padding-left:0;border:0}.who h3{font-size:27px}}
/* Interior pages: same palette, type and spacing as the homepage. */
.site-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px;text-decoration-color:#8d9f83}
.page-header{padding:65px 0 50px}.page-header h1{font-size:clamp(38px,4.5vw,62px);line-height:1.12;letter-spacing:-1.8px;max-width:900px}.page-header .kicker{margin-bottom:20px}.page-header h1+p{max-width:670px;color:var(--text-secondary);margin-top:24px;line-height:1.8}.page-header--photo{background:none}
.service-section{padding:0 0 50px}.service-section>.container{display:grid;grid-template-columns:1fr 1.8fr;gap:85px;padding-top:35px;border-top:1px solid var(--border)}.service-section .icon{display:none}.section-num{font-size:12px;letter-spacing:2px;color:#71846a;margin-bottom:20px}.service-section h2{font-size:36px;line-height:1.15}.service-body ul{list-style:none;margin:0;padding:0}.service-body li{padding:22px 0;border-bottom:1px solid var(--border)}.service-body li:first-child{padding-top:0}.service-body li:last-child{border:0}.service-body strong{display:block;font-weight:400;font-size:21px;font-family:var(--serif);margin-bottom:10px}.service-body span{display:block;font-size:14px;color:var(--text-secondary);line-height:1.9}.cta-band{padding:10px 0 55px}.cta-band>.container{background:#e6eadd;padding:25px 30px;display:flex;justify-content:flex-end}.cta-band .btn{margin:0}
.about{padding:65px 0}.about>.container{display:grid;grid-template-columns:.8fr 1.5fr;gap:75px;align-items:start}.about-image img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:85px 0 0 0}.bio .kicker{margin-bottom:20px}.bio h1{font-size:clamp(36px,4vw,54px);line-height:1.13;letter-spacing:-1.2px}.title{font-size:12px;color:#667a5e;margin:15px 0 25px}.bio>p:not(.kicker):not(.title){color:var(--text-secondary);font-size:14px;line-height:1.9;margin-bottom:18px}.btn-linkedin{display:inline-flex;align-items:center;gap:9px;font-size:12px;border-bottom:1px solid #a0ae97;padding-bottom:7px;margin-top:12px}.ln-icon{width:15px;height:15px}.team-grid{padding:15px 0 65px}.team-grid>.container{border-top:1px solid var(--border);padding-top:35px}.team-grid h2{font-size:34px;line-height:1.2;max-width:650px;margin:18px 0 35px}.team-grid .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.team-member .portrait{width:100%;aspect-ratio:4/4.5;object-fit:cover;object-position:top}.team-member h3{font-size:27px;margin-top:22px;line-height:1.2}.team-member .title{margin:10px 0 15px}.member-bio{font-size:13px;color:var(--text-secondary);line-height:1.85}
.insights-list{padding:0 0 25px}.insights-group{display:grid;grid-template-columns:1fr 2.3fr;column-gap:70px;padding-top:30px;margin-bottom:45px;border-top:1px solid var(--border)}.insights-group>.kicker{grid-column:1;grid-row:1/10;padding-top:5px}.insight{grid-column:2;padding:30px 0;border-bottom:1px solid var(--border)}.insight:nth-child(2){padding-top:0}.insight:last-child{border-bottom:0}.meta{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#687c60}.insight h2{font-size:30px;line-height:1.25;letter-spacing:-.4px;margin:16px 0 18px}.engagement-detail{padding-left:18px;margin:15px 0;color:var(--text-secondary);font-size:14px;line-height:1.9}.engagement-detail li{padding-left:5px;margin:7px 0}.text-link{font-size:13px;border-bottom:1px solid #9cac93;padding-bottom:6px;display:inline-flex;align-items:center;gap:20px;margin-top:15px}.case-teaser-plain .text-link{border:0;margin-top:0;padding:0}
.contact{padding:0 0 65px}.contact-card{display:grid;grid-template-columns:1.7fr 1fr;gap:0 80px;border-top:1px solid var(--border);padding-top:35px}.contact-card h2{font-size:32px;grid-column:1;margin-bottom:28px}.contact-form{grid-column:1}.contact-meta{grid-column:2;grid-row:1/3;padding:10px 0 0 35px;border-left:1px solid var(--border)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{margin-bottom:23px}.field label{display:block;font-size:12px;margin-bottom:9px}.field label span{color:var(--text-secondary)}input,textarea{font:14px/1.6 var(--sans);color:var(--text);width:100%;padding:12px 14px;background:#eeeee4;border:1px solid #c9d1c2;border-radius:0}input:focus,textarea:focus{outline:2px solid #66815b;outline-offset:2px}textarea{resize:vertical}.contact-form .btn{border:0;margin-top:0;cursor:pointer;font-family:var(--sans)}.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.form-status{font-size:13px;margin-top:15px}.meta-item{margin-bottom:30px}.aside-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);margin-bottom:12px}.aside-value{font-size:14px;line-height:2}.is-error{color:#8a2f2f}.is-success{color:#244b40}
.case-detail{padding:0 0 45px}.case-detail>.container{max-width:960px}.deal-snapshot{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;background:#e6eadd;padding:30px;margin-bottom:50px}.snap-num{font:clamp(20px,2.5vw,31px)/1.3 var(--serif);color:var(--text)}.snap-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-top:12px;color:var(--text-secondary)}.case-detail h2{font-size:29px;line-height:1.2;margin:38px 0 18px}.case-detail>.container>p{font-size:14px;color:var(--text-secondary);line-height:1.85}.phase-timeline{list-style:none;padding:0;margin:25px 0}.phase-timeline li{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:22px 0;border-top:1px solid var(--border)}.phase-when{font-size:14px;color:var(--text)}.phase-body{font-size:14px;color:var(--text-secondary);line-height:1.85}.outcome-callout{background:#244b40;color:#f6f3eb;padding:28px 32px;margin:20px 0 30px}.outcome-callout .result{font:25px/1.45 var(--serif)}.outcome-callout p+p{font-size:13px;color:#d4dfcf;margin-top:15px}.case-back{margin-top:25px}.case-back:before{content:'←';margin-right:8px}
@media(max-width:950px){.service-section>.container{gap:35px;grid-template-columns:1fr 1.6fr}.about>.container{gap:35px;grid-template-columns:.8fr 1.3fr}.team-grid .grid{gap:25px}.insights-group{column-gap:30px;grid-template-columns:.7fr 2fr}.contact-card{column-gap:35px}.contact-meta{padding-left:25px}.deal-snapshot{gap:18px;padding:25px}}
@media(max-width:650px){.page-header{padding:40px 0 35px}.page-header h1{font-size:40px;letter-spacing:-1px}.service-section>.container{grid-template-columns:1fr;gap:28px}.service-section h2{font-size:32px}.service-section{padding-bottom:35px}.section-num{margin-bottom:10px}.cta-band{padding-bottom:35px}.about{padding:40px 0}.about>.container{grid-template-columns:1fr;gap:35px}.about-image{max-width:300px}.bio h1{font-size:39px}.team-grid .grid{grid-template-columns:1fr;gap:40px}.team-member .portrait{max-width:300px}.team-grid h2{font-size:29px}.insights-group{display:block;padding-top:25px}.insights-group>.kicker{margin-bottom:25px}.insight h2{font-size:27px}.contact-card{display:block}.contact-meta{border:0;border-top:1px solid var(--border);padding:30px 0 0;margin-top:35px}.field-row{grid-template-columns:1fr;gap:0}.deal-snapshot{grid-template-columns:1fr 1fr;gap:25px;padding:25px;margin-bottom:35px}.phase-timeline li{grid-template-columns:1fr;gap:10px}.outcome-callout{padding:24px}.outcome-callout .result{font-size:23px}}
/* Consistent engagement and contact buttons */
.insight .read-more{display:inline-flex;align-items:center;gap:35px;background:var(--accent);color:#f7f5ed;border:0;padding:14px 22px;font:13px/1.65 var(--sans);margin-top:15px;transition:background .2s}
.insight .read-more:after{content:'↗';font:19px/1 var(--sans)}
.insight .read-more:hover{background:var(--accent-hover);text-decoration:none}
.cta-band>.container{background:transparent;padding:0;justify-content:flex-start}
/* Right-align contact actions on services and engagement pages. */
.cta-band>.container{justify-content:flex-end}
/* Retain the original site's LinkedIn profile buttons. */
.btn-linkedin{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-size:.9375rem;letter-spacing:.02em;color:#1f5a54;background-color:transparent;border:1px solid #1f5a54;padding:.7rem 1.4rem;margin-top:2.25rem;transition:background-color .15s ease,color .15s ease}
.btn-linkedin .ln-icon{width:18px;height:18px;flex-shrink:0}
.btn-linkedin:hover{background-color:#1f5a54;color:#fbf8f2;text-decoration:none}
/* Align team profile actions beneath bios of different lengths. */
.team-grid .grid{align-items:stretch}
.team-member{display:flex;flex-direction:column;align-items:flex-start}
.team-member .btn-linkedin{margin-top:auto}
.team-member .member-bio{padding-bottom:2.25rem}
/* Keep the original corporate finance and research icons. */
.service-section .icon{display:block;width:44px;height:44px;stroke:var(--text);margin-bottom:1.25rem}
/* Smaller homepage heading. */
.hero h1{font-size:clamp(40px,4.5vw,64px)}
@media(max-width:950px){.hero h1{font-size:46px}}
@media(max-width:650px){.hero h1{font-size:clamp(36px,7.2vw,50px)}}
/* Slightly larger homepage location label. */
.hero .kicker{font-size:13px}

/* 404 page */
.not-found{padding:0 0 110px}

/* Phones: comfortable tap targets for header and footer links */
@media(max-width:650px){.site-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.site-nav .nav-login{padding:0 18px}.footer-nav,.footer-contact-col{gap:0}.footer-nav a,.footer-contact-col a{display:inline-flex;align-items:center;min-height:40px;font-size:14px}}

/* Top navigation in capitals */
.site-nav a{text-transform:uppercase;letter-spacing:1.2px}

/* Arrows drawn as icons, not characters (phones turn ↗ into an emoji) */
:root{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 12.5 12.5 3.5M5 3.5h7.5V11' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3C/svg%3E");--arrow-back:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.5 8H3M7.5 3.5 3 8l4.5 4.5' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3C/svg%3E")}
.btn:after,.arrow-link:after,.insight .read-more:after,.case-back:before{content:'';display:inline-block;flex:none;width:13px;height:13px;vertical-align:middle;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat}
.arrow-link:after{width:17px;height:17px}
.insight .read-more:after{width:13px;height:13px}
.case-back:before{width:12px;height:12px;margin-right:8px;vertical-align:-1px;-webkit-mask-image:var(--arrow-back);mask-image:var(--arrow-back)}
