@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--ink:#101c27;--paper:#f6f3ed;--gold:#c8ad79;--muted:#626665}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #a77b32;outline-offset:5px}header{height:108px;padding:0 4.5%;display:flex;justify-content:space-between;align-items:center;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #d8d4ca}.brand{font-family:Georgia,serif;font-size:29px;letter-spacing:5px;line-height:1.2}.brand span{display:block;font:8px/2 'DM Sans',sans-serif;letter-spacing:2.2px;margin-top:8px}nav{display:flex;gap:27px;align-items:center;font-size:12px}nav a{position:relative}nav a:hover,nav a[aria-current]{color:#87672e}nav a[aria-current]:after{content:'';position:absolute;bottom:-10px;left:0;width:22px;border-bottom:1px solid #a88a52}.nav-cta{border:1px solid #bdb7a9;padding:13px 20px}.nav-cta span{margin-left:24px}.menu{display:none}.hero{height:min(820px,calc(100svh - 108px));min-height:620px;position:relative;color:white;background:var(--ink)}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 57%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,26,.82),rgba(8,18,26,.4) 52%,rgba(8,18,26,.03)),linear-gradient(0deg,rgba(8,18,26,.55),transparent 35%)}.hero-copy{position:absolute;top:12%;left:8%;max-width:670px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:500;margin:0 0 28px}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.05;letter-spacing:-1px;margin:0}h1{font-size:clamp(64px,6.6vw,108px)}h2{font-size:clamp(40px,4vw,65px)}h3{font-size:38px}em{font-style:italic;color:inherit}.hero h1 em{color:#e1cda8}.hero-copy>p:not(.eyebrow){font-size:15px;margin:25px 0 30px;color:#e7e7e2}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:17px 24px;border:0;cursor:pointer;font-size:12px}.gold{background:var(--gold);color:var(--ink)}.gold:hover{background:#e4cfa6}.navy{background:var(--ink);color:white}.button span{font-size:21px}.hero-foot{position:absolute;bottom:30px;left:8%;right:5%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2px}.hero-foot>a{font-size:26px}.section{padding:100px 8%}.intro{display:grid;grid-template-columns:1fr 3fr;gap:5%}.intro>.eyebrow{padding-top:13px}.intro-bottom{display:flex;align-items:end;gap:7%;margin-top:35px}.intro-bottom p{max-width:510px;color:var(--muted);margin:0}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid #a79572;padding-bottom:9px;white-space:nowrap}.text-link:hover{color:#87672e}.services{background:#eae6de}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service{padding:30px 36px 20px 0;border-top:1px solid #bcb7aa;position:relative}.service+.service{padding-left:36px;border-left:1px solid #c8c2b5}.number{font-size:9px;letter-spacing:1.6px}.service h3{margin-top:48px}.service p{max-width:280px;color:#565e61;font-size:13px;min-height:90px;margin:24px 0}.circle{border:1px solid #a59a87;border-radius:50%;display:flex;width:43px;height:43px;align-items:center;justify-content:center;font-size:23px;transition:.2s}.service:hover .circle{background:var(--ink);color:white;transform:rotate(8deg)}.split{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}figure{margin:0;position:relative;min-height:630px}figure img{width:100%;height:100%;object-fit:cover;position:absolute}figcaption{position:absolute;bottom:12px;left:18px;font-size:9px;color:white;background:#101c27aa;padding:3px 6px}.split-copy{padding:90px 16%;align-self:center}.split h2 em{color:var(--gold)}.split p:not(.eyebrow){color:#c1c6c9;font-size:14px;margin:32px 0}.cta{text-align:center;padding-top:100px;padding-bottom:110px}.cta h2{font-size:clamp(56px,6vw,90px);margin-bottom:40px}.cta em{color:#8e7243}footer{background:#0c1721;color:#eee9de;padding:65px 6% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:55px}.footer-top p{font-family:Georgia,serif;font-size:26px;line-height:1.4;color:#c5c7c4}.footer-top>a:last-child{font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:8px}.footer-bottom{display:flex;flex-wrap:wrap;gap:15px 30px;border-top:1px solid #34404a;padding-top:24px;font-size:10px;color:#bbc0c3}.footer-bottom a:last-child{margin-left:auto}.page-heading{background:var(--ink);color:var(--paper);padding-top:100px;padding-bottom:90px}.page-heading h1{font-size:clamp(62px,7vw,105px)}.page-heading em{color:var(--gold)}.lead{max-width:580px;font-size:17px;color:#d4d4cd;margin:35px 0 0}.rows article{display:grid;grid-template-columns:60px 1.2fr 1fr;gap:35px;border-top:1px solid #c7c0b3;padding:38px 0}.rows article>span{font-size:12px;color:#8d7448}.rows h2{font-size:39px}.rows p{margin:0;color:var(--muted)}.editorial{max-width:1060px;margin:auto}.editorial h2{font-size:40px;margin:0 0 24px}.editorial p{margin-bottom:40px;color:#535d62;font-size:16px}.editorial .related{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:60px}.related a{border-top:1px solid #b5a991;padding:25px 0;font:26px Georgia,serif}.related small{display:block;font:12px 'DM Sans',sans-serif;margin-top:15px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{font-size:43px}.contact p{color:#596166}.contact label{display:block;font-size:12px;margin-bottom:22px}input,textarea,select{display:block;width:100%;margin-top:9px;border:1px solid #bfb8aa;background:transparent;padding:12px;color:var(--ink);border-radius:0}textarea{resize:vertical}.fine{font-size:11px}#enquiry-result{border-top:1px solid #a9946f;margin-top:30px;padding-top:20px}#copy{margin:20px 0;padding:10px 15px;background:var(--ink);color:white;border:0;cursor:pointer}.skip{position:fixed;top:-100px;left:20px;background:white;color:black;padding:10px;z-index:100}.skip:focus{top:10px}@media(min-width:1600px){.hero-copy{top:15%}}@media(max-width:1100px){nav{gap:16px;font-size:10px}header{padding:0 4%}.brand{font-size:25px}.brand span{font-size:7px}.intro{grid-template-columns:1fr}.intro-bottom{align-items:start}.split-copy{padding:65px 12%}.service{padding-right:22px}.service+.service{padding-left:22px}.service h3{font-size:33px}}@media(max-width:760px){header{height:88px;padding:0 6%}.brand{font-size:24px}.brand span{font-size:6px;letter-spacing:1.5px}.menu{display:flex;gap:16px;align-items:center;background:none;border:0;font-size:11px;color:var(--ink);padding:10px 0}.menu span{font-size:22px}nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--paper);padding:25px 7% 35px;box-shadow:0 15px 20px #0002;flex-direction:column;align-items:stretch;font-size:15px;gap:0}nav.open{display:flex}nav a{padding:12px 0}nav a[aria-current]:after{display:none}.nav-cta{padding:12px 18px!important;margin-top:15px}.hero{min-height:610px;height:calc(100svh - 88px);max-height:820px}.hero>img{object-position:63% center}.hero-shade{background:linear-gradient(90deg,#08121bd9,#08121b55),linear-gradient(0deg,#08121bc9,transparent 60%)}.hero-copy{left:7%;right:7%;top:14%}.hero h1{font-size:67px;line-height:1.02}.hero .eyebrow{font-size:8px;letter-spacing:1.8px;max-width:260px}.hero-copy>p:not(.eyebrow){max-width:260px;font-size:13px}.hero-foot{left:7%;right:7%;font-size:8px;letter-spacing:1.3px}.hero-foot>span:nth-child(2){display:none}.section{padding:65px 7%}.eyebrow{font-size:9px}h2{font-size:43px}.intro-bottom{display:block;margin-top:25px}.intro-bottom .text-link{margin-top:30px}.section-head{display:block}.section-head .text-link{margin-top:28px}.service-grid{grid-template-columns:1fr}.service,.service+.service{border-left:0;padding:25px 0 30px}.service h3{margin-top:25px;font-size:38px}.service p{min-height:0;max-width:300px;margin:20px 0}.circle{position:absolute;right:0;bottom:35px}.service p{padding-right:35px}.split{grid-template-columns:1fr}figure{min-height:380px}.split-copy{padding:65px 7%}.split h2{font-size:51px}.split-copy p{max-width:340px}.cta{padding-top:70px;padding-bottom:75px}.cta h2{font-size:60px}.footer-top{display:block;padding-bottom:35px}.footer-top p{font-size:24px;margin:35px 0}.footer-bottom{display:block}.footer-bottom>*{display:block;margin:10px 0}.page-heading h1{font-size:62px}.lead{font-size:15px}.rows article{grid-template-columns:30px 1fr;gap:20px}.rows h2{font-size:35px}.rows p{grid-column:2}.editorial .related,.contact{grid-template-columns:1fr}.contact{gap:35px}.editorial h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
nav{gap:15px;font-size:10px}.business-units .related{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}@media(max-width:1200px){header .brand{font-size:22px}nav{gap:10px;font-size:9px}}@media(max-width:980px) and (min-width:761px){header{height:auto;min-height:108px;flex-wrap:wrap;padding:20px 4%;gap:20px}nav{flex-wrap:wrap}}@media(max-width:760px){.business-units .related{grid-template-columns:1fr}nav{font-size:15px;gap:0}}

/* Official Kimstates artwork, preserved without cropping or recolouring. */
header{background:#000;color:#f6f3ed;height:140px;border-bottom-color:#302d27}header .brand,.footer-top .brand{display:block;line-height:0;flex-shrink:0}header .brand img{display:block;width:130px;height:130px;object-fit:contain}header nav{color:#f6f3ed}header nav a:hover,header nav a[aria-current]{color:#d6bb80}header .nav-cta{border-color:#8b7857}.footer-top .brand img{display:block;width:175px;height:175px;object-fit:contain}.hero{height:min(820px,calc(100svh - 140px))}@media(max-width:980px) and (min-width:761px){header{height:auto;min-height:140px;padding-top:5px;padding-bottom:12px}}@media(max-width:760px){header{height:116px}.menu{color:#f6f3ed}header .brand img{width:108px;height:108px}header nav{top:116px;background:#080c12;color:#f6f3ed}.hero{height:calc(100svh - 116px)}.footer-top .brand img{width:155px;height:155px}}
/* Navigation typography increased by exactly 50% at each existing breakpoint. */
header nav{font-size:15px}
@media(max-width:1200px){header nav{font-size:13.5px}}
@media(max-width:760px){header nav{font-size:22.5px}}
/* Keep the larger navigation usable on tablet and narrow desktop widths. */
@media(min-width:761px) and (max-width:1350px){header{height:auto;min-height:140px;flex-wrap:wrap;padding-top:5px;padding-bottom:15px;gap:10px}header nav{flex-wrap:wrap}}

/* Navy palette and inverse navigation states. */
:root{--ink:#101e3d}
header{background:#101e3d;border-bottom-color:#293857;color:#f6f3ed}
header nav{color:#f6f3ed}
header nav>a{display:block;padding:10px 12px;transition:background-color .16s,color .16s}
header nav>a:hover,header nav>a:focus-visible{background:#f6f3ed;color:#101e3d}
header nav>a:hover::after,header nav>a:focus-visible::after{display:none}
header nav>a[aria-current="page"]{color:#e1cda8}
header nav>a[aria-current="page"]:hover,header nav>a[aria-current="page"]:focus-visible{color:#101e3d}
header .nav-cta:hover{border-color:#f6f3ed}
footer{background:#101e3d}
.skip{color:#101e3d}
@media(max-width:760px){header nav{background:#101e3d;color:#f6f3ed}header nav>a{padding:12px}.hero-copy>p:not(.eyebrow){max-width:320px}.hero{min-height:700px}}

/* Consistent gold interaction states across desktop, touch and keyboard input. */
header .nav-cta{border:0}
header nav>a[aria-current="page"],header nav>a:hover,header nav>a:focus-visible,header nav>a:active{background:var(--gold);color:var(--ink)}
header nav>a[aria-current="page"]::after{display:none}
a:not(.brand):not(.skip):hover,a:not(.brand):not(.skip):focus-visible,a:not(.brand):not(.skip):active,
button:hover,button:focus-visible,button:active,
#copy:hover,#copy:focus-visible,#copy:active,
.button:hover,.button:focus-visible,.button:active{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.service:hover h3,.service:hover p,.service:hover .number,.service:focus-visible h3,.service:focus-visible p,.service:focus-visible .number{color:var(--ink)}
.service:hover .circle,.service:focus-visible .circle{background:var(--gold);color:var(--ink);border-color:var(--ink);transform:none}
.business-units .related{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.business-units .related{grid-template-columns:1fr}header nav>a[aria-current="page"]{background:var(--gold);color:var(--ink)}}

.services-nav{position:relative}.services-toggle{border:0;background:transparent;color:inherit;padding:10px 12px;cursor:pointer;font:inherit;white-space:nowrap}.services-toggle span{margin-left:8px}.services-toggle.is-current{background:var(--gold);color:var(--ink)}.services-dropdown{position:absolute;top:100%;right:0;min-width:245px;background:var(--ink);color:var(--paper);padding:8px;box-shadow:0 12px 22px #101e3d33}.services-dropdown[hidden]{display:none}.services-dropdown a{display:block;padding:12px;font-size:14px;white-space:nowrap}.services-dropdown a[aria-current="page"]{background:var(--gold);color:var(--ink)}.director{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:9%;align-items:center;max-width:1400px;margin:auto}.director-portrait{background:#eae6de;line-height:0}.director-portrait img{width:100%;height:auto;max-height:610px;object-fit:contain;object-position:bottom}.director-role{color:#78643e;font-size:13px}.director p:not(.eyebrow){max-width:520px}.director h2{margin-bottom:20px}@media(max-width:760px){.services-nav{width:100%}.services-toggle{width:100%;text-align:left;padding:12px}.services-dropdown{position:static;box-shadow:none;min-width:0;margin:0 0 12px 12px;padding:4px;border-left:1px solid var(--gold)}.services-dropdown a{font-size:18px;white-space:normal}.director{grid-template-columns:1fr;gap:35px}.director-portrait{max-width:360px}.director-portrait img{max-height:470px}}

.audience-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:650px;margin-top:25px}.audience-choice{display:flex;flex-direction:column;gap:8px;padding:18px 22px;background:var(--ink);color:var(--paper);border:1px solid var(--gold)}.audience-choice strong{font-size:18px;font-weight:500}.audience-choice span{font-size:11px}.hero-copy{top:8%}.hero-copy>p:not(.eyebrow){max-width:540px}.audience-hub .related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:35px 0}.page-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:35px}@media(max-width:760px){.hero{min-height:830px}.hero-copy{top:8%}.audience-choices{grid-template-columns:1fr;gap:12px}.audience-choice{padding:14px 18px}.audience-hub .related{grid-template-columns:1fr}.page-heading h1{overflow-wrap:normal}}

/* About us: photograph first, biography alongside; stack in the same order on mobile. */
.director{grid-template-columns:minmax(280px,45%) minmax(0,1fr);align-items:start;gap:7%}.director-portrait{background:transparent}.director-portrait img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;object-position:top center}.director h2:not(:first-child){margin-top:28px}.director .eyebrow+h2{margin-top:0}.director p{color:var(--ink)}@media(max-width:760px){.director{grid-template-columns:1fr;gap:30px}.director-portrait{width:100%;max-width:420px;margin:0 auto}.director-portrait img{max-height:580px}}
