/* Revision 2 — purposeful CTA placement and a little more Arrowverse personality.
   The original artwork, typefaces, palette and motion remain in their source files. */
:root{--cta-height:54px}
.own-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:border-box;min-height:var(--cta-height);max-width:100%;padding:14px 20px;text-align:left;line-height:1.35;white-space:normal;border:1px solid transparent;isolation:isolate}
.own-cta>.cta-label{font-size:inherit;line-height:inherit;min-width:0}
.own-cta>.cta-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;font-size:24px;line-height:1;transition:transform .22s ease}
.own-cta:hover{transform:none}.own-cta:hover>.cta-icon{transform:translate(2px,-2px)}
.own-cta:focus-visible,.button:focus-visible,.contact-dock a:focus-visible{outline:3px solid #d95631;outline-offset:4px}
.home-actions,.studio-actions,.review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px}
.home-actions{margin-top:28px}.home-actions>.own-cta,.home-actions>.own-work{margin:0}.home-actions>.own-work{display:inline-flex;align-items:center;min-height:44px;line-height:1.4}
.studio-actions .own-cta{padding:13px 20px;min-height:54px;margin:0;font-size:14px}
.studio-actions>a:last-child:not(.own-cta){display:inline-flex;align-items:center;min-height:44px;line-height:1.4;box-sizing:border-box}
.review-actions{justify-content:center;margin-top:24px}.google-reviews .review-actions>.own-cta,.review-actions>.review-enquiry{margin:0}
.contact-actions{display:grid;grid-template-columns:1fr;gap:12px;max-width:340px;margin-top:24px}
.contact-copy .contact-actions>.button{display:flex;align-items:center;justify-content:space-between;margin:0!important;min-height:54px;width:100%;box-sizing:border-box;gap:18px}
.quick-brief>button,.form-submit>.button{min-height:54px;align-items:center;line-height:1.35}
.quick-enquiry{border:1px solid #bdc9b0;border-radius:8px;padding:15px 18px;background:#faf8f3b8;max-width:540px;transition:background .2s ease}
.quick-enquiry[open]{background:#faf8f3}.quick-enquiry summary{gap:18px;line-height:1.45}.quick-enquiry summary span{flex-shrink:0}
.trust-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px;border-top:1px solid #bdc9b0;padding-top:22px}
.trust-notes>div{min-width:0}.trust-notes>div>span{font-size:11px;color:#c8512d;letter-spacing:.08em;display:block;margin-bottom:12px}
.trust-notes strong{display:block;font-family:'Outfit',sans-serif;font-size:17px;line-height:1.2;letter-spacing:-.02em}.about-grid .trust-notes p{font-size:12px;line-height:1.6;margin-top:8px;color:#55665b}
.brand-story .detail-steps{border-top:1px solid #bdc9b0;gap:0;border-bottom:1px solid #bdc9b0}
.brand-story .detail-steps article{padding:26px 28px 28px 0;position:relative;min-width:0}.brand-story .detail-steps article+article{border-left:1px solid #bdc9b0;padding-left:28px}
.brand-story .detail-steps article>span{color:#c8512d;font-size:11px;letter-spacing:.08em}.brand-story .detail-steps h3{font-size:25px;line-height:1.15;margin-top:18px}.brand-story .detail-steps p{font-size:14px;line-height:1.7}
.section-enquiry{margin-top:0;margin-bottom:0;padding-block:32px}
.enquiry-strip{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px 44px;align-items:center;background:#e9edda;border:1px solid #cbd5b8;border-radius:12px;padding:32px 36px;overflow:hidden}
.enquiry-strip:after{content:'↗';position:absolute;z-index:-1;right:24%;bottom:-105px;font-family:'Outfit',sans-serif;font-size:300px;font-weight:500;line-height:1;color:#a6b88124;pointer-events:none}
.enquiry-strip .eyebrow{font-size:9px;color:#986a37;letter-spacing:.14em}.enquiry-strip h2{font-family:'Outfit',sans-serif;font-size:clamp(26px,2.6vw,36px);line-height:1.12;letter-spacing:-.035em;margin:12px 0 10px}
.enquiry-strip h2 em{font-family:'DM Serif Display',serif;font-weight:400;color:#c65230}.enquiry-strip p{font-size:14px;line-height:1.7;max-width:55ch;color:#52664f;margin:0}
.enquiry-action{display:grid;gap:10px;justify-items:start;min-width:220px}.enquiry-action .own-cta{margin:0;min-width:220px}.enquiry-action small{font-size:11px;color:#627458}
.detail-page .page-callout,.service-studio .page-callout{display:flex;align-items:center;flex-wrap:nowrap;flex-direction:row;gap:32px}
.page-callout>div{min-width:0}.page-callout .own-cta{margin:0;min-width:200px;flex-shrink:0;white-space:normal}.detail-page .page-callout h2{font-size:clamp(30px,3.4vw,48px);text-wrap:balance}
/* One real flex group replaces independent fixed offsets for the two contact buttons. */
.contact-dock{position:fixed;right:22px;bottom:22px;z-index:25;display:flex;align-items:flex-end;gap:10px;max-width:calc(100vw - 28px)}
.contact-dock.dock-clear{visibility:hidden;opacity:0;pointer-events:none}
.contact-dock .call-companion,.contact-dock .whatsapp-companion{position:relative;inset:auto;margin:0;z-index:auto;flex-shrink:0}
.contact-dock .call-companion{height:50px;min-height:50px;padding:12px 17px;box-sizing:border-box;font-size:13px}
.contact-dock .whatsapp-pill{height:50px;box-sizing:border-box;padding:12px 17px;gap:10px}.contact-dock .call-companion svg{width:20px;height:20px}
.footer-new{padding-bottom:88px}
@media(max-width:1000px){.enquiry-strip{gap:24px;padding:28px}.detail-page .page-callout,.service-studio .page-callout{gap:26px}.page-callout>img{width:80px;height:120px}.page-callout .own-cta{min-width:180px}}
@media(max-width:760px){.enquiry-strip{grid-template-columns:1fr;padding:26px 24px;gap:22px}.enquiry-strip:after{right:-12px;bottom:-70px;font-size:250px}.enquiry-action{min-width:0;justify-items:stretch}.enquiry-action .own-cta{width:100%;min-width:0}.enquiry-action small{text-align:left}.detail-page .page-callout,.service-studio .page-callout{flex-direction:column;align-items:stretch;gap:24px}.page-callout .own-cta{width:100%;min-width:0}.page-callout>img{align-self:flex-start}.page-callout>div{margin:0!important}.page-callout .eyebrow{font-size:9px;max-width:none}.review-actions{flex-direction:column;align-items:stretch}.review-actions .own-cta{width:100%}.review-actions .text-link{align-self:center;justify-content:center;max-width:100%;text-align:center}.brand-story .detail-steps{grid-template-columns:1fr}.brand-story .detail-steps article,.brand-story .detail-steps article+article{padding:25px 0;border-left:0}.brand-story .detail-steps article+article{border-top:1px solid #bdc9b0}}
@media(max-width:600px){.home-actions{align-items:stretch;flex-direction:column;gap:10px}.home-actions .own-cta{width:100%}.home-actions .own-work{align-self:flex-start}.studio-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.studio-actions .own-cta{width:100%;justify-content:space-between}.studio-actions>a:last-child:not(.own-cta){justify-self:start}.quick-enquiry{padding:14px}.trust-notes{grid-template-columns:1fr;gap:16px}.trust-notes>div{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px}.trust-notes>div>span{grid-row:1 / 3;margin:3px 0 0}.trust-notes p{grid-column:2}.trust-notes strong{font-size:18px}.about-grid .trust-notes p{font-size:13px;margin-top:4px}.contact-dock{right:14px;bottom:14px}.contact-dock .call-companion{width:48px;height:48px;min-height:48px;justify-content:center;padding:12px}.contact-dock .call-companion span{display:none}.contact-dock .whatsapp-pill{height:48px;padding:12px}.contact-dock .whatsapp-pill>span{display:none}.contact-dock .whatsapp-pill>img{width:24px;height:24px}.contact-actions{max-width:none}}
@media(prefers-reduced-motion:reduce){.own-cta>.cta-icon,.quick-enquiry{transition:none}.own-cta:hover>.cta-icon{transform:none}}
/* One continuous row: each logo occupies one of five equal viewport slots.
   Both identical lists contain all 11 brands, so the -50% loop stays seamless. */
.ribbon-stage.single-logo-slider{position:relative;isolation:isolate;width:min(1280px,calc(100% - 112px));margin-inline:auto;--logo-edge:clamp(28px,7vw,92px)}
.single-logo-slider .logo-ribbon{width:100%;padding-block:8px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.clients-ribbons .single-logo-slider .ribbon-track{width:calc(var(--logo-count) * 40%);animation:ribbonTravel 44s linear infinite;animation-play-state:running}
.clients-ribbons.ribbons-paused .single-logo-slider .ribbon-track{animation-play-state:paused}
.clients-ribbons .ribbon-toggle{min-width:88px;white-space:nowrap;flex-shrink:0}
.single-logo-slider:before,.single-logo-slider:after{content:"";position:absolute;z-index:1;top:8px;bottom:8px;width:var(--logo-edge);pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.single-logo-slider:before{left:0;background:linear-gradient(90deg,#faf9f4e6,#faf9f400);-webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent)}
.single-logo-slider:after{right:0;background:linear-gradient(270deg,#faf9f4e6,#faf9f400);-webkit-mask-image:linear-gradient(270deg,#000,transparent);mask-image:linear-gradient(270deg,#000,transparent)}
.single-logo-slider .ribbon-track ul{width:50%;gap:0;padding:0;margin:0}
.single-logo-slider .ribbon-mark{width:calc(100% / var(--logo-count));height:122px;padding:14px clamp(6px,2vw,25px);min-width:0;overflow:hidden}
.single-logo-slider .ribbon-mark img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:700px){.ribbon-stage.single-logo-slider{width:calc(100% - 38px);--logo-edge:30px}.single-logo-slider .ribbon-mark{height:84px;padding:10px 5px}.single-logo-slider .ribbon-mark img{max-width:100%;max-height:64px}}
@media(prefers-reduced-motion:reduce){.clients-ribbons .single-logo-slider .ribbon-track{animation-play-state:paused}.clients-ribbons.logo-motion-allowed .single-logo-slider .ribbon-track{animation-play-state:running}}
