:root{--navy:#101c29;--deep:#0b1621;--slate:#253749;--ink:#1e2d3a;--muted:#65727d;--cream:#f2f6fa;--paper:#fbfdff;--line:#d9e3ed;--gold:#365b82;--goldlight:#cadbea;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Avenir Next',Avenir,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.043em;line-height:1.06}h2{font-size:clamp(2.8rem,5vw,5.1rem)}h2 i,h1 i{font-weight:400;color:var(--gold);font-style:italic}h3{line-height:1.2}.wrap{width:min(100% - 64px,1320px);margin-inline:auto}.pad{padding:clamp(72px,8vw,128px) 0}.skip{position:absolute;left:12px;top:-100px;padding:12px 18px;background:#fff;z-index:100}.skip:focus{top:12px}.topline{background:#0a1420;color:#c8d1d3;font-size:.66rem;font-weight:700;letter-spacing:.16em}.topinner{height:36px;display:flex;justify-content:space-between;align-items:center}.topinner a{letter-spacing:.07em;color:#fff}.topinner a span{color:var(--gold)}.site-header{position:relative;z-index:20;background:#fff;box-shadow:0 1px 0 #e4e7e7}.header-inner{height:85px;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{width:51px;height:51px;border:1.5px solid var(--gold);display:grid;place-content:center;background:var(--navy);color:#fff;font-family:var(--serif);font-size:1.05rem;font-weight:700;letter-spacing:-.14em;padding-right:5px}.brand-mark span{color:var(--gold);font-size:.8rem;margin:0 2px}.brand-name{display:flex;flex-direction:column;line-height:1.1}.brand-name strong{font-size:1.08rem;letter-spacing:.075em;color:var(--navy)}.brand-name em{font-family:var(--serif);font-style:italic;color:#315b87}.brand-name small{margin-top:5px;font-size:.56rem;font-weight:800;letter-spacing:.28em;color:#6a7478}.site-header nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,34px)}.site-header nav a{font-size:.82rem;font-weight:700;color:#2f3d47;transition:color .2s}.site-header nav a:hover{color:#315b87}.site-header nav .nav-cta{padding:13px 18px;border:1px solid var(--navy);color:var(--navy)}.site-header nav .nav-cta:hover{background:var(--navy);color:white}.nav-toggle{display:none}.hero{min-height:min(735px,calc(100svh - 121px));position:relative;color:#fff;display:flex;align-items:center;isolation:isolate;background:#172738;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url(hero-team.webp) center 47%/cover no-repeat;z-index:-2}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,19,31,.95) 0%,rgba(9,26,41,.82) 37%,rgba(9,23,36,.18) 76%),linear-gradient(0deg,rgba(6,18,29,.5),transparent 34%);z-index:-1}.hero-content{padding:108px 0 145px}.eyebrow{font-size:.69rem;font-weight:800;letter-spacing:.19em;color:#315b87;text-transform:uppercase;margin-bottom:25px}.eyebrow.light{color:var(--goldlight)}.eyebrow .line{display:inline-block;width:35px;height:1px;background:var(--gold);vertical-align:middle;margin-right:10px}.hero h1{font-size:clamp(4.3rem,8vw,8.3rem);max-width:810px;margin:0 0 28px}.hero p{font-size:clamp(1rem,1.4vw,1.24rem);line-height:1.7;max-width:565px;color:#ebeeef}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:35px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 24px;min-height:55px;font-size:.79rem;text-transform:uppercase;letter-spacing:.105em;font-weight:800;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button span,.underlink span,.text-link span{font-size:1.1em}.button.gold{background:var(--gold);color:var(--navy)}.button.gold:hover{background:#e9c896}.button.outline{border-color:#8997a3;color:#fff}.button.outline:hover{background:#fff;color:var(--navy)}.button.dark{background:var(--navy);color:#fff}.button.dark:hover{background:#285b8a}.text-link,.underlink{font-size:.8rem;text-transform:uppercase;font-weight:800;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:9px;display:inline-flex;align-items:center;gap:25px}.light-link{color:#fff}.hero-micro{margin-top:70px;display:flex;align-items:center;gap:18px;color:#dbe1e5;font-size:.78rem;line-height:1.5}.seal{width:55px;height:55px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font:1.4rem/1 var(--serif);color:var(--goldlight)}.seal small{font:600 .48rem/1.4 var(--sans);letter-spacing:.1em}.hero-bottom{position:absolute;bottom:0;width:100%;border-top:1px solid rgba(255,255,255,.28);color:#dfe2e3;font-size:.62rem;letter-spacing:.17em;font-weight:700}.hero-bottom .wrap{display:flex;align-items:center;gap:18px;height:49px}.hero-bottom .rule{flex:1;height:1px;background:rgba(255,255,255,.28)}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}.intro h2{margin-bottom:0}.intro-copy p{max-width:540px;font-size:1.14rem;line-height:1.9;color:#56636e}.underlink{margin-top:13px;color:#315b87}.mini-metrics{margin-top:86px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.mini-metrics>div{padding:27px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column}.mini-metrics>div:first-child{padding-left:0}.mini-metrics>div:last-child{border:0}.mini-metrics b{font:2.3rem/1.1 var(--serif);color:var(--navy)}.mini-metrics span{margin-top:8px;color:var(--muted);font-size:.74rem}.services{background:#f0f5f9}.section-top{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:46px}.section-top h2{margin:0}.section-top>p{max-width:345px;margin:0 0 6px;color:#65717b;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d5e2ed;border:1px solid #d5e2ed}.service-card{background:#fff;min-height:342px;padding:33px;display:flex;flex-direction:column;transition:background .25s,transform .25s}.service-card:hover{background:#f7fbff;transform:translateY(-3px)}.service-num{font-size:.6rem;font-weight:800;letter-spacing:.17em;color:#315b87}.service-icon{font:2.4rem/1 var(--serif);color:#315b87;margin:29px 0 20px}.service-card h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;letter-spacing:-.02em;margin:0 0 12px}.service-card p{font-size:.87rem;color:#65717b;line-height:1.75;margin:0 0 25px}.service-card a{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid #dce1e0;padding-top:18px}.service-card a:hover{color:#315b87}.service-card.dark-card{background:var(--navy);color:#fff}.dark-card p{color:#bcc8ce}.dark-card a{border-color:#435465}.footnote{color:#748087;font-size:.72rem;margin:22px 0 0}.statement{background:var(--navy);color:#fff;padding:clamp(75px,8vw,122px) 0;position:relative;overflow:hidden}.statement:before{content:'K';position:absolute;right:-20px;bottom:-200px;font:700 40rem/1 var(--serif);color:rgba(255,255,255,.025)}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,135px);position:relative}.statement-heading h2{margin:0 0 26px}.statement-heading p{max-width:480px;color:#c1ccd2;line-height:1.9}.statement-heading .button{margin-top:20px}.industry-list{border-top:1px solid #50606d;margin-top:12px}.industry-list>div{border-bottom:1px solid #50606d;min-height:74px;display:flex;align-items:center;gap:22px;font:1.2rem var(--serif)}.industry-list span{font:700 .66rem var(--sans);color:var(--gold);letter-spacing:.1em}.industry-list b{margin-left:auto;color:var(--gold);font:400 1.1rem var(--sans)}.process{background:#fff}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.process-grid article{padding:32px 34px 0 0;border-right:1px solid var(--line)}.process-grid article+article{padding-left:34px}.process-grid article:last-child{border:0}.process-grid span{display:block;font:3.7rem var(--serif);color:#315b87;margin-bottom:36px}.process-grid h3{font:1.6rem var(--serif);margin:0 0 13px}.process-grid p{font-size:.88rem;color:#67737b;line-height:1.8}.story{background:#eaf2f9}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,8vw,120px);align-items:center}.story-art{height:550px;background:repeating-linear-gradient(125deg,#152839,#152839 2px,#1b3041 2px,#1b3041 34px);position:relative;overflow:hidden;display:grid;place-items:center}.story-art:after{content:'';position:absolute;inset:24px;border:1px solid rgba(212,171,113,.38)}.outline-year{position:absolute;left:-15px;top:-55px;font:11rem var(--serif);color:rgba(255,255,255,.04)}.story-card{border:1px solid var(--gold);color:white;padding:38px;width:73%;max-width:340px;z-index:1;background:rgba(7,21,33,.78)}.story-card .eyebrow{font-size:.55rem}.story-card strong{display:block;font:2.5rem/1.12 var(--serif);letter-spacing:-.04em}.story-stripe{display:block;width:42px;height:2px;background:var(--gold);margin:42px 0 18px}.story-card small{font-size:.65rem;letter-spacing:.2em}.story-copy h2{margin-bottom:24px}.story-copy p{color:#53616a;line-height:1.9}.story-sign{font:italic 1.8rem var(--serif);color:#315b87;padding:15px 0 20px}.story-sign span{display:block;font:700 .67rem var(--sans);letter-spacing:.12em;color:#67757d;text-transform:uppercase;margin-top:10px}.procurement{background:#173758;color:white}.procurement-inner{display:flex;align-items:end;justify-content:space-between;gap:50px}.procurement h2{margin-bottom:22px}.procurement p{max-width:560px;color:#c6d1d6;line-height:1.8;margin-bottom:0}.procurement .button{white-space:nowrap;margin-bottom:8px}.faq{background:#fff}.faq-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px}.faq-grid h2{margin:0 0 24px}.faq-grid>div>p{max-width:330px;color:#607078}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0 0 0 2px}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:24px 2px;font-weight:700;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:1.7rem/1 var(--serif);color:#315b87}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:640px;color:#64727b;margin:0 0 24px}.request{background:var(--navy);color:#fff}.request-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,7vw,110px)}.request-aside{position:relative;overflow:hidden}.request-aside h2{margin:0 0 28px}.request-aside>p{max-width:340px;color:#c8d2d6;line-height:1.8}.contact-block{display:flex;flex-direction:column;margin-top:55px;border-top:1px solid #50606d;padding-top:28px;gap:6px}.contact-block>span{font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;color:var(--gold)}.contact-block a{font:2rem var(--serif)}.contact-block small{color:#9eadb5;font-size:.67rem}.side-decoration{font:700 12rem var(--serif);opacity:.05;position:absolute;left:0;bottom:0}.form-shell{background:#fff;color:var(--ink);padding:clamp(25px,4vw,55px)}.form-head{display:flex;justify-content:space-between;font-size:.61rem;letter-spacing:.15em;font-weight:800;color:#315b87;border-bottom:1px solid var(--line);padding-bottom:17px}.form-shell h3{font:2.2rem var(--serif);margin:26px 0 8px}.form-shell>p{color:#697680;font-size:.85rem;line-height:1.8;margin-bottom:30px}.form-shell fieldset{border:0;padding:0;margin:0 0 27px}.form-shell legend{width:100%;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:18px;font-size:.64rem;letter-spacing:.15em;font-weight:800;color:#315b87}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-shell label{display:block;font-size:.72rem;font-weight:750;color:#3a4853;margin-bottom:16px}.form-shell input,.form-shell select,.form-shell textarea{margin-top:7px;display:block;width:100%;border:1px solid #d4dbdd;background:#fff;padding:13px 14px;color:#1e2c37;border-radius:0;outline:none;font-size:.87rem;min-height:49px}.form-shell input:focus,.form-shell select:focus,.form-shell textarea:focus{border-color:#315b87;box-shadow:0 0 0 2px #c9dfef}.form-shell textarea{resize:vertical}.form-shell .button{width:100%}.form-note{font-size:.7rem;color:#6d7a82;margin:14px 0 0}.form-status{min-height:0;margin-top:10px;font-size:.84rem;font-weight:700}.form-status.success{color:#227349}.form-status.error{color:#a33336}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.footer{background:#0a151f;color:#e6ebed;padding-top:72px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr;gap:30px;padding-bottom:67px}.footer-brand .brand-name strong{color:white}.footer-brand .brand-name small{color:#acb6ba}.footer-main p{font:1.25rem/1.45 var(--serif);color:#9eafb8;margin-top:28px}.footer-main h4{text-transform:uppercase;letter-spacing:.15em;font-size:.66rem;color:var(--gold);margin:10px 0 22px}.footer-main>div:not(:first-child) a,.footer-main>div:not(:first-child) span{display:block;font-size:.78rem;color:#c1cdd3;margin-bottom:12px}.footer-main a:hover{color:var(--goldlight)!important}.footer-counter strong{font:3.3rem/1 var(--serif);color:#fff;display:block;margin:0 0 12px}.footer-counter small{color:#7b8b95;font-size:.65rem}.footer-bottom{border-top:1px solid #33414b;padding:22px 0 30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#899aa4;font-size:.68rem}.demo-badge{color:#cadbea!important}
.portrait-art{background:#1b2a38}.portrait-art:after{pointer-events:none;border-color:rgba(255,255,255,.5)}.portrait-art img{width:100%;height:100%;object-fit:cover;object-position:50% center;filter:saturate(.82)}.portrait-caption{position:absolute;left:38px;right:38px;bottom:38px;background:#101c29ed;color:#fff;padding:20px 24px;z-index:2;border-left:3px solid var(--gold)}.portrait-caption span{display:block;font:1.55rem var(--serif)}.portrait-caption small{font-size:.57rem;letter-spacing:.14em;color:#d0d9dc}.leader-note{padding:55px 0;background:#fff;border-top:1px solid #dce1e0}.leader-inner{display:grid;grid-template-columns:92px 1fr auto;gap:30px;align-items:center}.leader-inner img{width:92px;height:92px;object-fit:cover;border-radius:50%;filter:grayscale(1)}.leader-inner .eyebrow{display:block;margin-bottom:8px}.leader-inner h2{font-size:clamp(1.6rem,2.5vw,2.5rem);margin:0 0 10px}.leader-inner p{font-size:.8rem;color:#64727b;max-width:680px;margin:0}.leader-inner .underlink{white-space:nowrap}
@media(max-width:1100px){.header-inner{height:75px}.nav-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:44px;height:44px;border:1px solid #d9dede;background:#fff}.nav-toggle span{width:20px;height:2px;background:var(--navy)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:15px 32px 25px;box-shadow:0 12px 20px #07172822;align-items:stretch;flex-direction:column;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:12px 0;border-bottom:1px solid #e4e6e6}.site-header nav .nav-cta{padding:14px;margin-top:12px;text-align:center}.hero{min-height:680px}.footer-main{grid-template-columns:2fr 1fr 1fr}.footer-counter{grid-column:1/-1;border-top:1px solid #33414b;padding-top:20px}}
@media(max-width:760px){.wrap{width:min(100% - 36px,1320px)}.pad{padding:72px 0}.topline{font-size:.55rem;letter-spacing:.08em}.topinner{height:34px}.topinner>span{max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-mark{width:44px;height:44px}.brand-name strong{font-size:.88rem}.brand-name small{font-size:.47rem}.hero{min-height:690px;align-items:flex-start}.hero-photo{background-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(5,17,27,.86),rgba(5,17,27,.34)),linear-gradient(0deg,rgba(5,17,27,.8),transparent 65%)}.hero-content{padding:118px 0 90px}.hero h1{font-size:clamp(3.65rem,12vw,6rem);max-width:600px}.hero p{font-size:1rem;max-width:470px}.hero-micro{margin-top:55px}.hero-bottom{font-size:.51rem}.intro-grid,.statement-grid,.story-grid,.faq-grid,.request-grid{grid-template-columns:1fr;gap:40px}.intro h2{margin-bottom:0}.mini-metrics{margin-top:50px;grid-template-columns:1fr 1fr}.mini-metrics>div{padding:20px 10px!important;border-bottom:1px solid var(--line)}.mini-metrics>div:nth-child(2){border-right:0}.mini-metrics>div:nth-child(n+3){border-bottom:0}.mini-metrics b{font-size:1.8rem}.section-top{align-items:start;flex-direction:column;gap:15px;margin-bottom:30px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:320px;padding:23px}.service-card h3{font-size:1.5rem}.statement-grid{gap:30px}.industry-list>div{min-height:65px}.story-art{height:400px}.procurement-inner{align-items:start;flex-direction:column;gap:25px}.request-aside{min-height:300px}.side-decoration{left:auto;right:0}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1}.footer-counter{grid-column:auto;border:0;padding:0}}
@media(max-width:520px){h2{font-size:3.05rem}.hero h1{font-size:clamp(3.4rem,13vw,4.8rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:24px}.hero-micro{font-size:.68rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:265px}.service-icon{margin:18px 0 12px}.process-grid{display:block}.process-grid article,.process-grid article+article{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.process-grid span{margin:0 0 12px;font-size:2.8rem}.story-art{height:340px}.story-card strong{font-size:2rem}.industry-list>div{font-size:1.08rem}.field-row{grid-template-columns:1fr;gap:0}.form-shell{padding:27px 20px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.footer-counter{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom>*{display:block;margin-top:10px}}
@media(max-width:760px){.leader-inner{grid-template-columns:70px 1fr;gap:18px}.leader-inner img{width:70px;height:70px}.leader-inner .underlink{grid-column:2}.leader-inner h2{font-size:1.7rem}.portrait-caption{left:22px;right:22px;bottom:22px;padding:14px 17px}.portrait-caption span{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Kemp & Sons identity: orange action, blue structure, clean white space. */
.site-header nav .nav-cta{background:#1669b3;border-color:#1669b3;color:#fff}.site-header nav .nav-cta:hover{background:#0d508e;border-color:#0d508e}.topline{border-bottom:2px solid #315b87}.hero-shade{background:linear-gradient(90deg,rgba(7,24,44,.97) 0%,rgba(10,37,67,.86) 37%,rgba(9,36,64,.14) 79%),linear-gradient(0deg,rgba(7,26,48,.65),transparent 39%)}.hero h1 i{color:#cadbea}.hero-bottom{border-color:#365b8270}.seal{border-color:#cadbea}.intro h2 i,.services h2 i,.process h2 i,.story h2 i,.faq h2 i{color:#365b82}.mini-metrics{border-top:2px solid #1a70b9}.service-card{border-top:3px solid transparent}.service-card:hover{border-top-color:#365b82}.service-card:nth-child(2),.service-card:nth-child(5){border-top-color:#1675c3}.service-card.dark-card{background:#163c61}.service-card.dark-card:hover{background:#1d4f7b}.statement{background:linear-gradient(135deg,#0e2135,#173c65)}.story-art{background:#163c61}.story-sign{border-left:3px solid #1669b3;padding-left:17px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cad8e5;border-bottom:1px solid #cad8e5;margin:28px 0 26px}.timeline>div{padding:14px 12px 15px;border-right:1px solid #cad8e5}.timeline>div:first-child{padding-left:0}.timeline>div:last-child{border-right:0}.timeline b{display:block;color:#315b87;font:1.65rem var(--serif)}.timeline span{display:block;color:#546775;font-size:.64rem;line-height:1.4;margin-top:5px}.portrait-caption{border-left-color:#365b82}.leader-note{border-top:3px solid #365b82}.procurement{background:linear-gradient(110deg,#163754,#1c5a8c)}.faq-list details[open]{border-left:3px solid #365b82;padding-left:16px}.request{background:linear-gradient(135deg,#0d1e31,#173b60)}.form-head,.form-shell legend{color:#315b87}.form-shell .button.dark{background:#1669b3}.form-shell .button.dark:hover{background:#0f508a}.footer{border-top:4px solid #365b82}.footer-counter strong{color:#cadbea}.brand img{width:min(320px,100%);height:auto}.footer-brand img{width:min(290px,100%)}
@media(max-width:760px){.brand img{width:min(240px,calc(100vw - 105px))}.hero-shade{background:linear-gradient(90deg,rgba(5,24,46,.89),rgba(8,36,66,.3)),linear-gradient(0deg,rgba(5,23,44,.86),transparent 65%)}.timeline{grid-template-columns:repeat(3,1fr)}}
.scope-tags{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 29px}.scope-tags span{font-size:.68rem;text-transform:uppercase;font-weight:750;letter-spacing:.08em;color:#d6e7f5;border:1px solid #6b8aab;padding:8px 11px}.hero-content>.eyebrow{animation:heroRise .75s ease both}.hero h1{animation:heroRise .85s .08s ease both}.hero-content>p{animation:heroRise .85s .17s ease both}.hero-actions{animation:heroRise .85s .27s ease both}.hero-micro{animation:heroRise .85s .38s ease both}@keyframes heroRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s cubic-bezier(.18,.7,.26,1);transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}.service-card .service-icon{transition:transform .35s ease}.service-card:hover .service-icon{transform:rotate(18deg) scale(1.15)}.industry-list>div{transition:background .25s,padding .25s}.industry-list>div:hover{background:#ffffff0b;padding-left:11px}.button{position:relative;overflow:hidden}.button:after{content:'';position:absolute;left:-30%;top:-50%;width:20%;height:200%;transform:rotate(25deg);background:#ffffff30;transition:left .6s ease}.button:hover:after{left:120%}
@media(prefers-reduced-motion:reduce){.hero-content>.eyebrow,.hero h1,.hero-content>p,.hero-actions,.hero-micro{animation:none!important}.reveal{opacity:1!important;transform:none!important}.button:after{display:none}}
.pathways{padding:78px 0 90px;background:#fff;border-top:1px solid #dae5ee}.pathways-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:31px}.pathways-intro h2{font-size:clamp(2.6rem,4vw,4.5rem);margin:0}.pathways-intro h2 i{color:#315b87}.pathways-intro p{max-width:350px;margin:0 0 6px;color:#657480;font-size:.9rem}.pathway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pathway-grid>a{display:block;position:relative;min-height:285px;padding:30px;background:#f2f6fa;border:1px solid #d9e5ee;transition:transform .25s,background .25s,border-color .25s}.pathway-grid>a:hover{transform:translateY(-5px);background:#e8f2fb;border-color:#78a8d4}.pathway-grid>a:nth-child(2){background:#f4f8fc;border-color:#d8e6f1}.pathway-grid>a:nth-child(2):hover{background:#fff0e5;border-color:#365b82}.pathway-grid>a:nth-child(3){background:#153a5e;color:#fff;border-color:#153a5e}.pathway-grid>a:nth-child(3):hover{background:#1d507c}.pathway-grid>a>span{font-size:.65rem;font-weight:800;letter-spacing:.14em;color:#315b87}.pathway-grid>a:nth-child(3)>span{color:#cadbea}.pathway-grid h3{font:1.75rem/1.2 var(--serif);margin:26px 0 14px}.pathway-grid p{font-size:.84rem;line-height:1.7;color:#63717e;margin-bottom:30px}.pathway-grid>a:nth-child(3) p{color:#c8d9e6}.pathway-grid b{display:block;border-top:1px solid #cbdce9;padding-top:15px;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}.pathway-grid>a:nth-child(3) b{border-color:#6583a2}
@media(max-width:760px){.pathways{padding:70px 0}.pathways-intro{display:block}.pathways-intro p{margin-top:20px}.pathway-grid{grid-template-columns:1fr}.pathway-grid>a{min-height:0}.pathway-grid h3{margin-top:17px}.pathway-grid p{margin-bottom:22px}}
.proof{background:#f5f8fb;border-top:1px solid #dbe6ef}.proof-heading{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:end;margin-bottom:48px}.proof-heading h2{margin:0}.proof-heading p{max-width:480px;color:#5e707e;line-height:1.85;margin:0 0 5px}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cadce9;border:1px solid #cadce9}.proof-grid article{background:#fff;padding:30px 25px;min-height:290px}.proof-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;background:#eaf3fb;color:#1669b3;font:700 .75rem var(--sans);margin-bottom:28px}.proof-grid article:nth-child(2) .proof-icon,.proof-grid article:nth-child(4) .proof-icon{background:#edf4fa;color:#315b87}.proof-grid h3{font:1.45rem/1.2 var(--serif);margin:0 0 15px}.proof-grid p{font-size:.82rem;line-height:1.75;color:#687782;margin:0}.proof-banner{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:34px;padding:24px 30px;background:#153a5e;color:#fff}.proof-banner strong{font:1.55rem var(--serif);font-weight:400}.proof-banner span{font-size:.75rem;color:#c4d5e1}.proof h2 i{color:#365b82}
@media(max-width:900px){.proof-grid{grid-template-columns:1fr 1fr}.proof-heading{gap:30px}}
@media(max-width:760px){.proof-heading{display:block}.proof-heading p{margin-top:22px}.proof-grid{grid-template-columns:1fr}.proof-grid article{min-height:0}.proof-banner{display:block;padding:22px}.proof-banner strong{display:block;font-size:1.3rem}.proof-banner span{display:block;margin-top:9px}}
/* Premium Kemp & Sons art direction refresh */
:root{--navy:#071b31;--deep:#041120;--slate:#123657;--ink:#10283e;--muted:#6e8190;--paper:#f8fbfd;--line:#d6e2eb;--gold:#365b82;--goldlight:#cadbea;--blue:#176bb0}
body{background:var(--paper);color:var(--ink)}
.topline{background:linear-gradient(90deg,#041120,#0d3358 55%,#041120);border:0}.topinner{max-width:1440px}.topinner a{color:#cadbea}
.site-header{height:82px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 10px 30px #071b3110}.header-inner{height:82px;max-width:1440px}.site-header nav a{font-size:.76rem;letter-spacing:.07em;text-transform:uppercase}.site-header nav .nav-cta{background:var(--blue);border-color:var(--blue);box-shadow:0 8px 22px #176bb033}
.hero{min-height:calc(100svh - 118px);background:var(--deep);overflow:hidden}.hero:before{content:'';position:absolute;inset:auto -10% -35% 30%;height:80%;background:radial-gradient(ellipse,#365b8226,transparent 68%);z-index:-1;animation:heroGlow 7s ease-in-out infinite alternate}.hero-photo{background-position:center right;transform:scale(1.04);animation:heroZoom 15s ease-out both}.hero-content{padding-top:clamp(85px,11vw,145px)}.hero h1{font-family:var(--sans);font-weight:800;letter-spacing:-.065em;line-height:.94;text-transform:uppercase;font-size:clamp(4rem,8.4vw,8.8rem);max-width:950px}.hero h1 i{font-style:normal;color:#dbe7f3}.hero-content>p{max-width:540px;font-size:1.05rem;color:#d4e1e9}.hero .button.gold{background:#365b82;box-shadow:0 14px 35px #365b8240}.hero-micro{border-left:2px solid #365b82;padding-left:16px}.hero-bottom{background:#061a2caa;backdrop-filter:blur(8px)}
.intro{background:#fff}.intro-grid{padding-bottom:22px}.intro h2,.section-top h2,.pathways-intro h2,.proof-heading h2,.process h2,.story-copy h2,.faq-grid h2{font-family:var(--sans);font-weight:800;letter-spacing:-.065em;text-transform:uppercase;line-height:.96}.intro h2 i,.section-top h2 i,.pathways-intro h2 i,.proof-heading h2 i,.process h2 i,.story-copy h2 i,.faq-grid h2 i{font-style:normal;color:#315b87}.mini-metrics{border-top:4px solid var(--blue);background:#f5f9fc}.mini-metrics>div{padding:31px 23px}.mini-metrics b{font-family:var(--sans);font-weight:850;letter-spacing:-.07em;color:var(--navy)}
.services{background:linear-gradient(135deg,#edf5fa,#fff)}.service-grid{background:#c9dbe9;border:0;gap:2px}.service-card{background:#fff;min-height:365px;padding:35px;box-shadow:0 12px 30px #0a315013}.service-card:hover{box-shadow:0 20px 40px #0a315020}.service-card h3{font-family:var(--sans);font-weight:800;letter-spacing:-.035em}.service-card.dark-card{background:linear-gradient(150deg,#0e3152,#071b31)}
.pathways{background:linear-gradient(180deg,#fff,#f2f7fb)}.pathway-grid>a{border:0;box-shadow:0 12px 28px #13395812}.pathway-grid h3{font-family:var(--sans);font-weight:800;letter-spacing:-.04em}.statement{background:linear-gradient(125deg,#06182c,#124f83 80%)}.statement h2{font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:-.06em}.statement h2 i{font-style:normal;color:#cadbea}.industry-list>div{font-family:var(--sans);font-weight:700;letter-spacing:-.02em}
.proof{background:#f4f8fb}.proof-grid{background:#c5dae9;border:0;gap:2px}.proof-grid article{box-shadow:0 10px 24px #12395712}.proof-grid h3{font-family:var(--sans);font-weight:800;letter-spacing:-.035em}.proof-banner{background:linear-gradient(90deg,#365b82,#315b87);box-shadow:0 12px 28px #315b8730}.proof-banner strong{font-family:var(--sans);font-weight:800;letter-spacing:-.03em}.process{background:#fff}.process-grid{border-top:4px solid var(--blue)}.process-grid h3{font-family:var(--sans);font-weight:800;letter-spacing:-.035em}
.story{background:#eaf2f8}.story-art{box-shadow:18px 18px 0 #176bb01c}.story-copy h2{font-family:var(--sans);font-weight:800}.timeline{border-top:2px solid var(--blue);border-bottom:2px solid var(--blue)}.timeline b{font-family:var(--sans);font-weight:850}.leader-note{background:#fff}.procurement{background:linear-gradient(110deg,#07213c,#176bb0)}.procurement h2{font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:-.06em}.faq{background:#f4f8fb}.faq-list{background:#fff;padding:0 24px;box-shadow:0 12px 30px #1239570d}.request{background:linear-gradient(135deg,#041120,#0f385e)}.form-shell{box-shadow:0 18px 60px #010e1d55}.form-shell h3{font-family:var(--sans);font-weight:800;letter-spacing:-.04em}.footer{background:#041120;border-top:5px solid #365b82}
@keyframes heroZoom{from{transform:scale(1.04)}to{transform:scale(1.12)}}@keyframes heroGlow{from{opacity:.6;transform:translateX(-3%)}to{opacity:1;transform:translateX(5%)}}
@media(max-width:760px){.site-header,.header-inner{height:72px}.hero{min-height:700px}.hero h1{font-size:clamp(3.25rem,13vw,5.7rem)}.hero-photo{background-position:67% center}.mini-metrics{border-top-width:3px}.faq-list{padding:0 12px}.story-art{box-shadow:10px 10px 0 #176bb01c}}
/* Cinematic service gallery */

/* Layout 2: local editorial photography, no gallery or remote images. */
.wrap{width:min(calc(100% - 72px),1440px)}
.hero-photo{background-image:url('hero-team.webp')}
.service-card{padding:0 0 28px;overflow:hidden;min-height:0}
.service-photo{width:100%;height:205px;object-fit:cover;display:block;margin-bottom:22px}
.service-card>.service-num,.service-card>.service-icon,.service-card>h3,.service-card>p,.service-card>a{margin-left:27px;margin-right:27px}
.service-card>.service-icon{margin-top:15px;margin-bottom:12px}
.service-card>a{margin-top:auto}
.section-photo{margin:44px 0 0;width:100%;overflow:hidden;border-radius:3px}
.section-photo img{width:100%;height:clamp(280px,32vw,485px);object-fit:cover;display:block}
.intro .section-photo{grid-column:1/-1}
.proof .section-photo{margin-top:44px}
.process .section-photo{margin-top:48px}
.story-art img{object-fit:cover}
@media(min-width:1101px){.intro-grid{grid-template-columns:1.1fr .9fr;gap:45px 90px}.services .section-top,.process .section-top{gap:80px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.proof-heading{grid-template-columns:1fr 1fr}.section-photo img{height:450px}}
@media(max-width:760px){.wrap{width:min(calc(100% - 36px),1440px)}.service-photo{height:190px}.section-photo{margin-top:30px}.section-photo img{height:260px}}
@media(prefers-reduced-motion:reduce){.hero-photo{animation:none}}

/* Official Kemp & Sons identity */
.header-inner .brand img{width:clamp(220px,24vw,340px);height:auto;max-height:70px;object-fit:contain;object-position:left center}
.footer-brand{display:inline-flex!important;background:#fff;padding:10px 14px;border-radius:3px}
.footer-brand img{width:clamp(220px,23vw,320px)!important;height:auto;max-height:70px;object-fit:contain}
@media(max-width:760px){.header-inner .brand img{width:min(230px,calc(100vw - 104px));max-height:59px}.footer-brand img{width:min(250px,calc(100vw - 70px))!important}}


/* Kemp & Sons General Services brand system */
:root{--navy:#1E3A6A;--deep:#112a4e;--slate:#234a78;--ink:#1E3A6A;--gold:#d3e0ec;--goldlight:#e8f2fa;--blue:#1E3A6A;--paper:#f7f9fc}
body{background:#f7f9fc;color:#142d4e}
.topline{background:#1E3A6A;border-bottom:3px solid #7897b8}.topinner a,.eyebrow,.eyebrow.light,.service-num,.proof-icon,.footer-main h4{color:#c8d9ea}
.site-header nav .nav-cta,.button.gold,.form-shell .button.dark{background:#183e6a;border-color:#183e6a;color:#fff;box-shadow:none}
.button.gold:hover,.form-shell .button.dark:hover{background:#2e5c8a}
.site-header nav .nav-cta:hover{background:#0d2849;color:white}
.header-inner .brand img{width:clamp(260px,29vw,390px);max-height:80px;height:auto;object-fit:contain}
.site-header{background:#fff}.hero{background:#142f56}.hero-photo{background-image:url('hero-team.webp');filter:grayscale(.55) saturate(.58)}
.hero-shade{background:linear-gradient(90deg,rgba(6,25,48,.98) 0%,rgba(9,35,66,.9) 42%,rgba(9,35,66,.28) 100%)}
.hero h1 i{color:#dbe7f3}.hero-micro{border-color:#c1d5e8}.hero-bottom{background:#091e38c4}
.intro h2 i,.services h2 i,.process h2 i,.story h2 i,.faq h2 i,.pathways h2 i,.proof h2 i{color:#365b82}
.service-photo,.section-photo img{filter:grayscale(.45) saturate(.65)}
.service-card,.proof-grid article{border-top-color:#7897b8}.service-icon,.process-grid span{color:#2c5a89}
.pathway-grid>a:nth-child(2){background:#f0f5fa;border-color:#d7e3ee}.pathway-grid>a:nth-child(2)>span{color:#315a84}
.statement,.request{background:linear-gradient(130deg,#081b33,#153a64)}.procurement{background:#1E3A6A}.footer{border-top:4px solid #7897b8}
.footer-brand{background:#fff;padding:10px 16px;border-radius:2px}.footer-brand img{width:min(360px,100%)!important;height:auto}
.proof-banner{background:#1E3A6A;flex-wrap:wrap}.story-sign{color:#315a84;border-color:#7897b8}.seal{border-color:#b7cde1;color:#e1edf6}
.heritage-van{margin:24px 0 0;padding:18px;background:#fff;border:1px solid #d5e1eb;box-shadow:0 15px 35px #102c5018}.heritage-van img{width:100%;height:auto;display:block}.heritage-van figcaption{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#365b82;margin-top:13px}
.proof-photo,.process-photo{margin:42px 0 0}.proof-photo img,.process-photo img{height:clamp(280px,32vw,430px)}
@media(max-width:760px){.header-inner .brand img{width:min(245px,calc(100vw - 104px))}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,#081b33ee,#081b3380)}.footer-brand img{width:min(270px,100%)!important}}

/* Official light and dark logo variants */
.footer-brand{background:transparent!important;padding:0!important;border:0!important}.footer-brand img{width:min(360px,100%)!important;max-height:none!important}.header-inner .brand img{width:clamp(260px,29vw,390px);height:auto;max-height:80px;object-fit:contain}@media(max-width:760px){.header-inner .brand img{width:min(245px,calc(100vw - 104px))}.footer-brand img{width:min(270px,100%)!important}}

/* New Kemp & Sons imagery, placed throughout the page. */
.hero-photo{background-image:url('hero-team.webp')!important;filter:none;background-position:center 46%}
.hero-shade{background:linear-gradient(90deg,rgba(5,21,42,.97),rgba(9,31,61,.82) 40%,rgba(9,31,61,.18) 100%)}
.service-photo,.section-photo img{filter:none}
.intro-photo{grid-column:1/-1;margin:12px 0 0;overflow:hidden}
.intro-photo img{height:clamp(290px,35vw,500px);object-position:center 47%}
.team-art img{filter:none;object-position:center center}
@media(max-width:760px){.hero-photo{background-position:62% center}.intro-photo img{height:245px}}

/* Larry Kemp owner feature */
.owner-art{min-height:560px}.owner-art img{width:100%;height:100%;object-fit:cover;object-position:48% center;filter:none}.story-copy .eyebrow{color:#315b87}.leader-inner>img{object-fit:cover;object-position:center 25%}
@media(max-width:760px){.owner-art{min-height:390px}.owner-art img{object-position:50% center}}
/* Keep the branded worker and shirt logo inside the narrow hero viewport. */
@media(max-width:760px){.hero-photo{background-position:right center;animation:none;transform:none}}
