/* Review proposal only, 21 September. Does not update the approved palette. */
:root{--kee-stone:#F7F6F0;--kee-warm-white:#FFFFFF;--kee-cyan:#14B8C8;--aqua:#14B8C8;--blue:#14B8C8;--paper:#F7F6F0;--spring-edge:#DFE2D8;--kee-soft-radius:6px;--kee-lime:#CBE65A}
body{background:var(--paper)}
/* A clean yellow-undertone ivory, with genuinely white surfaces. */
.ticker-group>a,.summary-grid article,.middle,.glimpse:not(.back):not(.front){background:#FFFFFF}
.ticker-group>a,.summary-grid article,.offer-package{box-shadow:inset 0 0 0 1px var(--spring-edge)}
/* One restrained curve across cards, fields and actions. Circular controls remain circles. */
.ticker-group>a{min-width:168px;min-height:82px;justify-content:center;text-align:center;border-radius:var(--kee-soft-radius);padding:18px 22px;font-size:19px;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}
.offer-card,
.summary-grid article,
.contact-link,
.offer-button,
.channel-tile,
.discipline-grid span,
.stage,
.offer-package,
.cta,
.service-card,
.experience-facts>div,
.enquiry-card,
.home-enquiry-form input,
.home-enquiry-form textarea,
.home-enquiry-form select,
.enquiry-form input,
.enquiry-form textarea,
.enquiry-action,
.cookie-banner__btn{border-radius:var(--kee-soft-radius)}
.ticker-group>a:hover,.ticker-group>a:focus-visible{background:#111110;color:#FFFFFF;box-shadow:inset 0 -4px 0 #14B8C8}
.featured-work{background:#FFFFFF}
.offer-card{box-shadow:0 0 0 1px #11111014}
.offer-package{background:#FFFFFF}
/* Compact cookie controls share the site's fonts, square buttons and aqua. */
.cookie-banner,.cookie-banner *{--font-body:Work,Arial,sans-serif;--teal:#14B8C8}
.cookie-banner{background:#111110;color:#F7F6F0;border-top:1px solid #ffffff38;padding:18px var(--gutter,32px);gap:28px;font-family:Work,Arial,sans-serif;font-size:13px;line-height:1.55;transition:none}
.cookie-banner__text{margin:0;max-width:68ch}
.cookie-banner__text a{color:#14B8C8;text-underline-offset:3px}
.cookie-banner__actions{gap:10px}
.cookie-banner__btn{min-width:112px;min-height:44px;padding:11px 20px;font:500 14px/1.3 Work,Arial,sans-serif;letter-spacing:0;text-transform:none;border-color:#ffffff90;color:#F7F6F0;transition:background-color .15s ease,color .15s ease}
.cookie-banner__btn--accept{background:#14B8C8;border-color:#14B8C8;color:#111110}
.cookie-banner__btn:hover{background:#FFFFFF;color:#111110;border-color:#FFFFFF}
.cookie-banner__btn--accept:hover{background:#CBE65A;border-color:#CBE65A;color:#111110;opacity:1}
.cookie-banner__btn:focus-visible,.cookie-banner__text a:focus-visible{outline:2px solid #CBE65A;outline-offset:4px}
@media(max-width:768px){.cookie-banner{padding:18px 24px;gap:16px}.cookie-banner__actions{width:100%}.cookie-banner__btn{flex:1}}
@media(max-width:760px){.ticker-group>a{min-width:138px;min-height:70px;padding:15px 18px;font-size:17px}}
@media(prefers-reduced-motion:reduce){.cookie-banner__btn{transition:none}}

/* Review option: three clear colour jobs at the close of the homepage. */
.service-overview{background:#252523;color:#FFFFFF;padding-top:52px}
.service-overview .ticker-head button{color:#FFFFFF;border-color:#FFFFFF80}
.service-overview .ticker-hint{color:#D8D8D2}
.service-overview .ticker-group>a{background:#FFFFFF;color:#111110;box-shadow:none}
.service-overview .ticker-group>a:hover,
.service-overview .ticker-group>a:focus-visible{background:#14B8C8;color:#111110;box-shadow:none}
.service-overview .service-intro{padding-bottom:64px}
.service-overview .support{color:#D8D8D2}
.service-overview mark{background:var(--kee-lime);color:#111110;padding:0 .08em .05em}
.featured-offer{padding-top:54px;padding-bottom:80px}

/* Kee lime supplies the quiet editorial emphasis; aqua keeps the action role. */
.home-hero mark,
.heading-highlight,
.word-highlight{background-color:var(--kee-lime);color:#111110}
.highlight-ready .heading-highlight,
.highlight-ready .word-highlight{background-color:transparent}
.highlight-ready .heading-highlight.is-visible,
.highlight-ready .word-highlight.is-visible{background-color:var(--kee-lime);color:#111110}

.home-enquiry{background:#14B8C8;color:#111110}
.home-enquiry .studio-heading em{color:#111110}
.home-enquiry .studio-heading>p,
.home-enquiry-form label,
.home-enquiry-form .form-help,
.home-enquiry-form .form-status,
.home-enquiry-form .optional{color:#111110}
.home-enquiry-form input,
.home-enquiry-form textarea,
.home-enquiry-form select{background:#FFFFFF;color:#111110;border-color:#11111066;color-scheme:light}
.home-enquiry-form textarea::placeholder{color:#62635A}
.home-enquiry-form input:focus,
.home-enquiry-form textarea:focus,
.home-enquiry-form select:focus{background:#FFFFFF;border-color:#111110;box-shadow:0 0 0 3px #FFFFFF80;outline:0}
.home-enquiry-form .form-help a{color:#111110}
.home-enquiry-form .enquiry-action{background:#111110;color:#FFFFFF}
.home-enquiry-form .enquiry-action:hover:not(:disabled){box-shadow:inset 0 0 0 2px #FFFFFF}
.home-enquiry .studio-word-mask{display:none}

.studio-footer-panel{background:#111110;color:#FFFFFF;margin-top:0}
.studio-footer-panel .studio-copy>a{background:transparent;color:#FFFFFF;border-bottom:1px solid #FFFFFF70;padding:0 0 12px}
.studio-footer-panel .studio-word{color:#FFFFFF}
.legal-footer{background:var(--paper);color:#111110;display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px var(--gutter) 32px}
.legal-footer>a img{filter:none}
.legal-footer p{color:#60635A;font-size:12px;width:auto}
.legal-footer p a{text-decoration:none}
.legal-footer p a:hover{text-decoration:underline;text-underline-offset:4px}
.legal-footer .footer-email{font-size:15px;justify-self:end}
.legal-footer .footer-email span{margin-left:24px}
@media(max-width:760px){
  .service-overview{padding-top:38px}
  .service-overview .service-intro{padding-bottom:48px}
  .featured-offer{padding-top:42px}
  .legal-footer{grid-template-columns:1fr auto;padding-top:25px}
  .legal-footer p{grid-column:1/-1;grid-row:2;margin-top:4px}
  .legal-footer .footer-email{grid-column:2;grid-row:1}
}
@media(prefers-reduced-motion:reduce){
  .highlight-ready .heading-highlight,
  .highlight-ready .word-highlight{background-color:var(--kee-lime);color:#111110}
}

/* Five calm service families beneath the quick-moving service index. */
.service-families{padding:8px 0 78px}
.service-families-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:24px}
.service-families-head h3{font:700 clamp(34px,4vw,58px)/1.05 Syne,Arial,sans-serif;letter-spacing:-.05em;margin:12px 0 0;color:#FFFFFF}
.service-family-controls{display:flex;gap:8px;flex:none}
.service-family-controls button{width:46px;height:46px;border:1px solid #FFFFFF80;border-radius:50%;background:transparent;color:#FFFFFF;font:400 21px/1 Work,Arial,sans-serif;cursor:pointer}
.service-family-controls button:hover,.service-family-controls button:focus-visible{background:#14B8C8;color:#111110;border-color:#14B8C8;outline:0}
.service-family-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,31vw);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:0 var(--gutter) 16px;scrollbar-color:#14B8C8 #3b3b38}
.service-family-track:focus-visible{outline:2px solid #CBE65A;outline-offset:-2px}
.service-family-card{scroll-snap-align:start;aspect-ratio:1/1;min-height:390px;background:#FFFFFF;color:#111110;border-radius:6px;padding:28px;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px #11111014}
.service-family-card>span{font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.service-family-card h3{font:700 clamp(27px,2.25vw,38px)/1.08 Syne,Arial,sans-serif;letter-spacing:-.045em;margin:32px 0 20px}
.service-family-card p{font-size:15px;line-height:1.5;max-width:38ch}
.service-family-card a{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #D8D8D2;margin-top:auto;padding-top:18px;font-size:14px}
.service-family-card a b{font-size:22px;font-weight:400}
.service-family-card a:hover,.service-family-card a:focus-visible{color:#007C88;outline:0}
@media(max-width:760px){
  .service-families{padding-bottom:54px}
  .service-families-head{align-items:center;margin-bottom:20px}
  .service-families-head h3{font-size:34px}
  .service-family-controls button{width:42px;height:42px}
  .service-family-track{grid-auto-columns:minmax(278px,84vw);gap:12px}
  .service-family-card{aspect-ratio:auto;min-height:390px;padding:24px}
  .service-family-card h3{font-size:29px;margin-top:26px}
}
