:root{--forest:#111D11;--paper:#FAF7F0;--pink:#FDB4D2;--lime:#DBFB00;--grey:#5E625A;--f-head:'Fraunces',Georgia,serif;--f-body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--forest);font-family:var(--f-body);font-size:17px;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit}img{max-width:100%}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #FF5819;outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--lime);color:var(--forest);padding:12px 20px}.skip:focus{top:12px}
.pwrap{width:min(1240px,calc(100% - 96px));margin:auto}.pheader{background:var(--paper);position:relative;z-index:20;border-bottom:1px solid #111d111a}.pheader-in{display:flex;align-items:center;gap:28px;min-height:92px}.plogo{display:inline-flex;flex-shrink:0;line-height:1}.plogo svg{width:132px;height:38px}.pdesktop{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:15px;font-weight:600}.pdesktop a,.pheader-actions a{text-decoration:none}.pservices{position:relative}.pservices summary{cursor:pointer;list-style:none}.pservices summary::after{content:'⌄';margin-left:8px}.pservices summary::-webkit-details-marker,.pmobile summary::-webkit-details-marker{display:none}.pservices>div{position:absolute;top:38px;left:-24px;width:300px;padding:16px;background:var(--paper);border:1px solid #111d1130;border-radius:12px;box-shadow:0 12px 28px #111d111a}.pservices>div a{display:block;padding:12px;border-radius:6px;line-height:1.4}.pservices>div a:hover{background:var(--pink)}.pheader-actions{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}.pbutton{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 23px;border:1px solid var(--forest);border-radius:6px;background:var(--forest);color:var(--paper);font-size:15px;font-weight:600;text-decoration:none;transition:transform .18s ease,background .18s ease}.pbutton:hover{transform:translateY(-2px);background:#263526}.plime{background:var(--lime);border-color:var(--lime);color:var(--forest)}.plime:hover{background:#e6ff40}.ptextlink{font-size:15px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block}.pmobile{display:none}.psection{padding:100px 0}.parent h1,.parent h2,.parent h3{font-family:var(--f-head);font-weight:700;line-height:1.07;letter-spacing:-.045em;margin:0}.parent h1{font-size:clamp(48px,6.4vw,92px)}.parent h2{font-size:clamp(36px,4vw,58px)}.parent h3{font-size:clamp(28px,2.7vw,38px)}.parent p{margin:0;color:var(--grey)}.pforest{background:var(--forest);color:var(--paper)}.pforest p{color:#d3d9cf}.peyebrow{font:500 12px/1.4 var(--f-body);letter-spacing:.13em;text-transform:uppercase;display:block;margin-bottom:22px}.psection-head{margin-bottom:42px}.phead-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.phead-row .ptextlink{flex-shrink:0}.phero{padding:92px 0 90px}.phero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.phero h1{margin-bottom:28px}.phero h1 span{color:var(--pink)}.plead{font-size:21px;line-height:1.6;max-width:550px;margin:28px 0!important}.pactions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}.phero-note{margin-top:46px;font-size:13px;color:#bcc7b9;display:flex;gap:10px;align-items:center}.pdot{width:7px;height:7px;display:inline-block;background:var(--lime);border-radius:50%;flex-shrink:0}.pservice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pservice{padding:42px;border:1px solid #111d112e;border-radius:12px;display:flex;flex-direction:column;background:#FCFBF7}.ppink{background:var(--pink)}.pnumber{font-size:12px;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:28px}.pservice h3{max-width:460px;margin-bottom:24px}.pservice p{color:#364032}.pservice ul{padding:0;margin:30px 0;list-style:none;font-size:15px}.pservice li{border-top:1px solid #111d1126;padding:12px 0}.pservice li::before{content:'↗';margin-right:12px}.pservice .ptextlink{margin-top:auto;align-self:flex-start}.psoft{background:#EFEDE5}.pprojects{display:grid;grid-template-columns:1fr 1fr;gap:48px 28px}.pproject{min-width:0}.pproject-image{display:block;background:#ddd9d0;padding:22px 22px 0;border-radius:10px;overflow:hidden}.pproject:nth-child(2n) .pproject-image{background:#c7cfbc}.pproject:nth-child(3n) .pproject-image{background:#e3c3cb}.pproject-image img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:top;display:block;border-radius:6px 6px 0 0;transition:transform .2s ease}.pproject-image:hover img{transform:translateY(-3px)}.pproject-text{padding:22px 0 0}.pproject-text .peyebrow{font-size:10px;margin-bottom:12px}.pproject-text h3{font-size:32px;margin-bottom:12px}.pproject-text h3 a{text-decoration:none}.pproject-text p{font-size:16px;max-width:480px;margin-bottom:18px}.pbrands{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pbrand{background:#FCFBF7;border:1px solid #111d112e;border-radius:10px;padding:30px;display:flex;flex-direction:column;min-width:0}.pbrand-shopify{background:var(--pink)}.pbrand .peyebrow{font-size:10px}.pbrand-logo{min-height:85px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;margin-bottom:22px}.pbrand-logo img{object-fit:contain;max-height:60px;width:auto}.pkelmo{display:flex;align-items:center;gap:10px;font:bold 40px/1 var(--f-body);letter-spacing:-2px}.pkelmo img{width:34px;height:34px}.pshopify-label{font-size:11px;margin-top:8px;letter-spacing:.03em}.pbrand h3{font-family:var(--f-body);letter-spacing:-.02em;font-size:20px;line-height:1.3;margin-bottom:14px}.pbrand p{font-size:15px;margin-bottom:28px}.pbrand .ptextlink{font-size:13px;align-self:flex-start;margin-top:auto}.pcta{text-align:center;max-width:800px;margin:auto}.pcta h2{font-size:clamp(40px,4.6vw,66px)}.pcta p{max-width:560px;margin:26px auto 32px;font-size:19px}.pemail{display:block;width:max-content;max-width:100%;font-size:14px;text-decoration:none;margin:24px auto 0}.pfooter{background:var(--forest);color:var(--paper);padding:52px 0 26px;border-top:1px solid #ffffff25;font:14px/1.6 var(--f-body)}.pfooter-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:70px}.pfooter-grid p{font-size:14px;max-width:260px;margin:18px 0;color:#bdc7b9}.pfooter a{text-decoration:none}.pfooter h2{font:500 12px/1.4 var(--f-body);letter-spacing:.07em;text-transform:uppercase;margin:0 0 20px;color:#bdc7b9}.pfooter-grid>div>a:not(.plogo){display:block;margin:8px 0}.pfooter-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.pfooter-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:42px;padding-top:22px;border-top:1px solid #ffffff25;font-size:11px;color:#bdc7b9}.pfooter-bottom>div{display:flex;gap:24px}.pshorthero h1{max-width:1000px;font-size:clamp(46px,5.8vw,82px)}.pshorthero .plead{max-width:670px}.pfeatures{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px}.pfeatures article{border-top:1px solid #111d1140;padding-top:28px}.pfeatures h3{font-size:29px;margin-bottom:18px}.pfeatures p{font-size:16px}.pfaq{margin-top:38px;max-width:900px}.pfaq details{padding:22px 0;border-bottom:1px solid #111d1140}.pfaq summary{cursor:pointer;font-size:18px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:24px}.pfaq summary::after{content:'+'}.pfaq details[open] summary::after{content:'−'}.pfaq p{margin-top:20px;max-width:720px;font-size:16px}.cookie{position:fixed;bottom:16px;left:16px;right:16px;max-width:600px;z-index:50;background:var(--paper);color:var(--forest);border:1px solid #111d1140;border-radius:8px;padding:15px 20px;font-size:12px;display:flex;gap:24px;align-items:center;box-shadow:0 5px 24px #111d1120}.cookie button{background:var(--forest);color:var(--paper);border:0;padding:10px 16px;border-radius:4px;cursor:pointer}.toast{display:none}
/* Retained case studies and enquiry pages share the new type and navigation. */
body:not(.parent){--f-head:'Fraunces',Georgia,serif}body:not(.parent) .pheader,body:not(.parent) .pfooter{font-family:var(--f-body)}body:not(.parent) .pfooter h2{font-family:var(--f-body)}
@media(max-width:1100px){.pwrap{width:calc(100% - 64px)}.pdesktop{gap:20px}.pheader-in{gap:22px}.pheader-actions{gap:18px}.pclient{display:none}.phero-grid{gap:36px}.pbrand{padding:24px}.pfooter-grid{gap:36px}}
@media(max-width:800px){.pwrap{width:calc(100% - 40px)}.pdesktop,.pheader-actions{display:none}.pheader-in{min-height:78px;justify-content:space-between}.pmobile{display:block}.phero{padding:58px 0 64px}.phero-grid{grid-template-columns:1fr;gap:54px}.parent h1{font-size:clamp(50px,10.5vw,80px)}.phero-note{margin-top:28px}.psection{padding:64px 0}.phero{padding:58px 0 64px}.pservice{padding:30px}.pbrands{grid-template-columns:1fr}.pbrand-logo{min-height:65px}.pbrand h3{font-size:22px}.pbrand p{max-width:520px}.pfooter-grid{grid-template-columns:1fr 1fr}.pfooter-grid>div:first-child{grid-column:1/-1}.pfooter-bottom{flex-wrap:wrap}.pfooter-bottom>span:last-child{display:none}.pfeatures{gap:24px}.pfeatures h3{font-size:25px}.pai{gap:24px}.pprojects{gap:38px 24px}.pproject-text h3{font-size:27px}}
@media(max-width:560px){.pservice-grid,.pprojects,.pfeatures,.pai{grid-template-columns:1fr}.psection-head{margin-bottom:30px}.phead-row{display:block}.phead-row>.ptextlink{margin-top:24px}.parent h2{font-size:39px}.parent h3{font-size:31px}.plead{font-size:19px;margin:24px 0!important}.peyebrow{font-size:10px}.pactions{gap:22px}.phero-note{font-size:11px}.pservice{padding:30px 25px}.pai{gap:12px}.pbrand{padding:30px}.pproject-image{padding:16px 16px 0}.pproject-text h3{font-size:30px}.pfooter-grid{gap:36px 20px}.pfooter-grid>div{min-width:0}.pfooter-links{grid-template-columns:1fr}.pfooter-bottom{gap:14px}.pfooter-bottom>div{gap:20px}.pcta p{font-size:17px}.pfeatures{gap:32px}.pfaq summary{font-size:17px}}
.parent .pfooter h2{font:500 12px/1.4 var(--f-body);letter-spacing:.07em}.ptextlink .ext{width:12px;height:12px;display:inline-block;margin-left:4px;vertical-align:middle}.pmobile:not([open]) .pmenulayer,.pservices:not([open])>div{display:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pbutton:hover,.pproject-image:hover img{transform:none}}

/* Editorial hero and a distinct Frontier Intelligence highlight. */
.phero-visual{margin:0;padding:14px;background:var(--pink);border-radius:14px;transform:rotate(1.5deg);color:var(--forest);overflow:hidden}
.phero-photo{display:block;width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;object-position:70% 50%;border-radius:7px}
.phero-visual figcaption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 5px 3px;font-size:13px;font-weight:500}
.phero-caption-icon{font-size:24px;line-height:1}.pbrand-logo .pkelmo-wordmark{width:180px;height:60px;max-height:60px;object-fit:contain}
.pai{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px;padding:46px;border-radius:12px;background:var(--forest);color:var(--paper)}
.pai-icon{color:var(--lime);width:40px;height:40px;margin-bottom:22px;display:block}.pai .peyebrow{font-size:10px;color:var(--pink);margin-bottom:18px}.parent .pai h3{font-size:40px;line-height:1.12;letter-spacing:-.035em;max-width:420px}.parent .pai-copy p{font-size:18px;line-height:1.65;color:#d3d9cf}.pai-copy{align-self:center}.pai-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.pai-points span{font-size:11px;border:1px solid #ffffff45;border-radius:100px;padding:6px 12px;color:var(--paper)}
/* The native details control remains usable without JavaScript. */
.pmobile>summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;width:48px;height:48px;border:1px solid #111d1130;border-radius:50%;background:transparent;position:relative;z-index:1002}
.phamburger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:22px;height:22px}.phamburger i{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s ease,width .25s ease}.phamburger i:last-child{width:16px;align-self:flex-end}
.pmobile[open]>summary{position:fixed;top:15px;right:20px;color:var(--paper);border-color:#ffffff45;background:var(--forest)}.pmobile[open] .phamburger{gap:0}.pmobile[open] .phamburger i{width:22px;transform:translateY(1px) rotate(45deg)}.pmobile[open] .phamburger i:last-child{transform:translateY(-1px) rotate(-45deg)}
.pmenulayer{position:fixed;inset:0;z-index:1001;background:var(--forest);color:var(--paper);height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:108px 30px 30px;display:flex;flex-direction:column;gap:30px;animation:pmenu-in .28s ease both}
.pmenu-intro{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--pink)}.pmenulayer nav{display:flex;flex-direction:column;gap:0;position:static;background:transparent;box-shadow:none;padding:0;border:0}
.pmenulayer nav>a{display:flex;justify-content:space-between;gap:16px;align-items:center;text-decoration:none;font:700 clamp(24px,6vw,38px)/1.15 var(--f-head);letter-spacing:-.03em;padding:16px 0;border-bottom:1px solid #ffffff25}.pmenulayer nav>a::after{content:'↗';font:400 20px/1 var(--f-body);color:var(--pink)}
.pmenulayer nav>a:first-child,.pmenulayer nav>a:nth-child(2){font-family:var(--f-body);font-size:17px;letter-spacing:-.01em;font-weight:500}.pmenulayer nav>a.pbutton{font-family:var(--f-body);font-size:15px;letter-spacing:0;margin-top:22px;border:0;padding:17px 22px;background:var(--lime);color:var(--forest);justify-content:space-between}.pmenulayer nav>a.pbutton::after{color:var(--forest)}
.pmenu-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:auto;padding-top:22px;color:#b8c5b3;font-size:11px;line-height:1.5}.pmenu-bottom a{font-size:13px;text-decoration:none;color:var(--pink)}.menu-open{overflow:hidden}
@keyframes pmenu-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes phero-in{from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.phero-grid>div{animation:phero-in .55s ease both}.pbrand{transition:transform .22s ease,border-color .22s ease}.pbrand:hover{transform:translateY(-4px);border-color:#111d1170}.pmenulayer nav>a:hover{color:var(--pink)}.pmenulayer nav>a.pbutton:hover{color:var(--forest)}}
@media(max-width:800px){.phero-visual{width:calc(100% - 10px);max-width:600px;margin:0 auto}.pai{gap:30px;padding:34px}.parent .pai h3{font-size:34px}.parent .pai-copy p{font-size:16px}.pmenulayer .pmenu-bottom>span{max-width:140px}}
@media(max-width:560px){.pai{grid-template-columns:1fr;gap:26px;padding:30px 25px}.parent .pai h3{font-size:33px}.pai-icon{width:34px;height:34px}.phero-visual figcaption{font-size:11px}.phero-photo{aspect-ratio:1.1}.pmenulayer{padding:94px 24px 24px;gap:22px}.pmenulayer nav>a{padding:14px 0}}
@media(max-height:700px){.pmenulayer{padding-top:78px;gap:14px}.pmenulayer nav>a{padding:10px 0;font-size:25px}.pmenulayer nav>a:first-child,.pmenulayer nav>a:nth-child(2){font-size:15px}.pmenu-bottom{padding-top:8px}.pmenulayer nav>a.pbutton{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.pmenulayer,.phero-grid>div{animation:none}.phamburger i,.pbrand{transition:none}.pbrand:hover{transform:none}}
body:has(.pmobile[open]){overflow:hidden}
