/* Evie's photo is the fallback until the interactive WebGL portrait is ready. */
.hero-portrait > img { display: block !important; object-fit: contain; object-position: center bottom; clip-path: none !important; }
.hero-portrait:not(.is-live) > canvas, .hero-portrait:not(.is-live) > .plush-hit { display: none !important; }
.hero-portrait > .plush-fly, .hero-portrait > .plush-ghost { display: none !important; }
.hero-portrait .plush-frame { display: block !important; background: var(--evie-accent, #fa5b01); }
.hero-portrait { overflow: visible; }
/* Seat Evie's shoulders deeper into the orange disc. */
.hero-portrait > img, .hero-portrait > .plush-hit { top: 9% !important; }
.hero-portrait > canvas { top: calc(var(--plush-pad) * -100% + 9%) !important; }

.evie-projects .product-mark { display:flex; justify-content:center; align-items:center; }
.evie-projects .product-mark img { width:auto; height:auto; max-width:86%; max-height:132px; object-fit:contain; }
.evie-projects .product-name { overflow-wrap:anywhere; }

.enquiry-form { display:grid; gap:9px; }
.enquiry-form label { font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.enquiry-form input, .enquiry-form textarea { display:block; width:100%; box-sizing:border-box; border:2px solid #111; border-radius:5px; padding:12px 14px; background:#fff; color:#111; font:inherit; }
.enquiry-form textarea { resize:vertical; min-height:120px; }
.enquiry-form button { justify-self:start; margin-top:6px; }
.enquiry-feedback { margin-top:10px; color:inherit; font-weight:700; }
.enquiry-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media (max-width:650px) { .evie-projects .product-mark img { max-height:100px; } }

/* Evie Kelly agency refresh */
html { scroll-behavior:smooth; }
.evie-eyebrow { display:inline-flex; align-items:center; gap:9px; margin:0 0 18px; font-size:11px; font-weight:900; letter-spacing:.12em; line-height:1.4; }
.evie-status-dot { display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--evie-accent, #fa5b01); box-shadow:0 0 0 5px rgba(250,91,1,.14); }
.evie-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; }
.evie-text-link { font-size:13px; font-weight:900; text-decoration:none; border-bottom:2px solid currentColor; padding:5px 0; }
.evie-services { margin-top:34px; overflow:hidden; }
.evie-strip-chip { margin-left:auto; align-self:center; font-size:10px; font-weight:900; letter-spacing:.08em; color:var(--evie-accent, #fa5b01); }
.evie-services-intro { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr); gap:40px; align-items:end; padding:45px clamp(22px,5vw,72px) 35px; }
.evie-kicker { font-size:11px; letter-spacing:.2em; font-weight:900; color:var(--evie-accent, #ee590b); margin:0 0 14px; }
.evie-services-intro h2 { margin:0; font-size:clamp(36px,5vw,68px); line-height:1.03; font-weight:900; letter-spacing:-.055em; max-width:690px; }
.evie-services-intro h2 em { font-style:normal; background:linear-gradient(transparent 62%, var(--evie-accent, #fa5b01) 62%); }
.evie-services-intro > p { font-size:clamp(15px,1.4vw,18px); line-height:1.65; max-width:360px; margin:0 0 5px; }
.evie-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0 clamp(16px,3vw,42px) 24px; }
.evie-service-card { position:relative; min-height:270px; display:flex; flex-direction:column; padding:24px; overflow:hidden; text-decoration:none; color:#111; background:#f4f0e9; border:2px solid #171717; border-radius:10px; box-shadow:4px 4px 0 #171717; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.evie-service-card:nth-child(2),.evie-service-card:nth-child(5) { background:#f5e8db; }
.evie-service-card:nth-child(3) { background:var(--evie-accent, #fa5b01); }
.evie-service-card:hover,.evie-service-card:focus-visible { transform:translateY(-5px); box-shadow:7px 9px 0 #171717; background:#ffb783; }
.evie-service-number { font-size:10px; font-weight:900; letter-spacing:.12em; }
.evie-service-symbol { font-family:Arial,sans-serif; position:absolute; right:21px; top:22px; font-size:32px; line-height:1; opacity:.8; transition:transform .2s ease; }
.evie-service-card:hover .evie-service-symbol { transform:rotate(20deg) scale(1.12); }
.evie-service-card h3 { margin:42px 0 12px; font-size:clamp(21px,2vw,29px); line-height:1.05; letter-spacing:-.045em; font-weight:900; }
.evie-service-card p { font-size:14px; line-height:1.55; margin:0 0 22px; }
.evie-service-arrow { margin-top:auto; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.evie-services-cta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; border-top:1px dashed #b7afa4; padding:22px clamp(24px,5vw,72px) 28px; font-size:15px; font-weight:800; }
.enquiry-band .newsletter-title { max-width:530px; }
.enquiry-band .newsletter-lede { max-width:480px; }
.enquiry-form input:focus,.enquiry-form textarea:focus { outline:3px solid var(--evie-accent, #fa5b01); outline-offset:2px; }
:root[data-finish="black"] .evie-service-card { color:#111; }
:root[data-finish="black"] .evie-services-intro h2 em { color:inherit; }
@media(max-width:900px) { .evie-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .evie-services-intro { grid-template-columns:1fr; gap:20px; } }
@media(max-width:620px) { .evie-service-grid { grid-template-columns:1fr; } .evie-service-card { min-height:225px; } .evie-service-card h3 { margin-top:26px; } .evie-services-intro { padding:32px 22px; } .evie-strip-chip { display:none; } .evie-eyebrow { font-size:9px; } .evie-hero-actions { align-items:stretch; flex-direction:column; gap:10px; } .evie-hero-actions .key { max-width:100%; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .evie-service-card,.evie-service-symbol { transition:none; } }
@media(max-width:620px) { .masthead-tabs { gap:0; } .masthead-tabs .tab { padding:12px 9px; font-size:10px; } .site-brand-handle { font-size:13px; } }

/* Restore the logos' actual brand colours, rather than the source site's black silhouettes. */
.evie-projects .product { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto 178px auto auto; grid-template-areas:"top top" "mark mark" "name go" "does go"; align-items:start; row-gap:7px; }
.evie-projects .product-mark { width:100%; height:170px; display:flex; align-items:center; justify-content:center; padding:12px; box-sizing:border-box; background:#fff; border:1px solid #e2dfda; border-radius:7px; overflow:hidden; }
.evie-projects .product-mark img, :root[data-finish="black"] .evie-projects .product-mark img { display:block; filter:none !important; width:auto; height:auto; max-width:100%; max-height:145px; object-fit:contain; }
.evie-projects .product:nth-child(2) .product-mark img { max-width:225px; }
.evie-projects .product:nth-child(3) .product-mark img { max-height:115px; }
.evie-projects .product-name { margin-top:8px; }

/* Live accent-colour experiments. Teal is the recommended alternative. */
:root { --evie-accent:#fa5b01; --evie-on-accent:#111; }
:root[data-accent="orange"] { --evie-accent:#fa5b01; --evie-on-accent:#111; --color-orange:#fa5b01; --color-orange-deep:#d44d00; --color-orange-soft:#ff8a3d; --color-on-orange:#0a0a0a; }
:root[data-accent="teal"] { --evie-accent:#0b8c87; --evie-on-accent:#fff; --color-orange:#0b8c87; --color-orange-deep:#076864; --color-orange-soft:#56c3ba; --color-on-orange:#fff; }
:root[data-accent="blue"] { --evie-accent:#345cdf; --evie-on-accent:#fff; --color-orange:#345cdf; --color-orange-deep:#2445ab; --color-orange-soft:#829cf5; --color-on-orange:#fff; }
:root[data-accent="pink"] { --evie-accent:#f06292; --evie-on-accent:#111; --color-orange:#f06292; --color-orange-deep:#d94477; --color-orange-soft:#ff9fbe; --color-on-orange:#111; }
.evie-service-card:nth-child(3) { color:var(--evie-on-accent); }
.evie-palette { display:flex; align-items:center; gap:9px; margin:22px 0 0; }
.evie-palette > span { margin-right:4px; font-size:10px; letter-spacing:.12em; font-weight:900; }
.evie-palette button { width:24px; height:24px; padding:0; border-radius:50%; border:2px solid #fff; outline:1px solid #999; cursor:pointer; transition:transform .18s ease; }
.evie-palette button[data-palette="orange"] { background:#fa5b01; }
.evie-palette button[data-palette="teal"] { background:#0b8c87; }
.evie-palette button[data-palette="blue"] { background:#345cdf; }
.evie-palette button[data-palette="pink"] { background:#f06292; }
.evie-palette button[aria-pressed="true"] { outline:2px solid currentColor; outline-offset:2px; transform:scale(1.12); }
@media(max-width:620px) { .evie-projects .product { grid-template-rows:auto 150px auto auto; } .evie-projects .product-mark { height:145px; } .evie-projects .product-mark img { max-height:125px; } }

/* Floating contact menu */
.evie-contact-widget { position:fixed; bottom:22px; right:22px; z-index:9999; display:flex; align-items:flex-end; flex-direction:column; gap:13px; font-family:var(--font-sans,Arial,sans-serif); }
.evie-contact-panel { width:min(340px,calc(100vw - 32px)); box-sizing:border-box; background:#fff; color:#16161b; padding:18px 13px 12px; border:1px solid #e7e6ec; border-radius:18px; box-shadow:0 20px 55px rgba(14,16,25,.24),0 3px 12px rgba(14,16,25,.08); transform-origin:bottom right; animation:evie-contact-pop .22s cubic-bezier(.2,.8,.2,1) both; }
.evie-contact-panel[hidden] { display:none !important; }
.evie-contact-heading { display:flex; justify-content:space-between; gap:10px; padding:0 9px 12px; margin:0; color:#6b6d80; font-size:10px; line-height:1.5; font-weight:800; letter-spacing:.12em; }
.evie-contact-heading span { color:var(--evie-accent,#fa5b01); }
.evie-contact-option { display:flex; align-items:center; gap:12px; padding:12px 9px; text-decoration:none; color:#15151c; border-radius:10px; transition:background .18s ease,transform .18s ease; }
.evie-contact-option:hover,.evie-contact-option:focus-visible { background:#f4f4f8; transform:translateX(2px); }
.evie-contact-option > span:nth-child(2) { flex:1; min-width:0; }
.evie-contact-option strong { font-weight:800; font-size:14px; line-height:1.25; display:block; }
.evie-contact-option small { font-size:11px; line-height:1.55; color:#727587; display:block; margin-top:2px; }
.evie-contact-icon { flex:0 0 39px; width:39px; height:39px; display:grid; place-items:center; background:#f0efff; color:#465af6; border-radius:11px; }
.evie-contact-icon svg { width:21px; height:21px; }
.evie-contact-icon.evie-whatsapp { color:#19ad58; background:#e8f9ee; }
.evie-contact-chevron { font-size:17px; color:#8e8e9a; font-weight:700; }
.evie-contact-trigger { min-width:60px; height:60px; display:flex; justify-content:center; align-items:center; gap:9px; padding:0 18px; border:0; border-radius:35px; background:var(--evie-accent,#fa5b01); color:var(--evie-on-accent,#111); box-shadow:0 10px 25px rgba(0,0,0,.22); font-size:13px; line-height:1; font-weight:900; letter-spacing:.01em; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.evie-contact-trigger:hover { transform:translateY(-3px); box-shadow:0 15px 30px rgba(0,0,0,.25); }
.evie-contact-trigger svg { width:23px; height:23px; flex:none; }
.evie-contact-trigger .evie-trigger-close,.evie-contact-widget.is-open .evie-trigger-chat { display:none; }
.evie-contact-widget.is-open .evie-trigger-close { display:block; }
.evie-contact-trigger:focus-visible { outline:3px solid #111; outline-offset:4px; }
@keyframes evie-contact-pop { from { opacity:0; transform:translateY(12px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(max-width:620px) { .evie-contact-widget { bottom:15px; right:15px; } .evie-contact-panel { width:min(340px,calc(100vw - 30px)); } .evie-contact-trigger { height:56px; min-width:56px; } }
@media(prefers-reduced-motion:reduce) { .evie-contact-panel { animation:none; } .evie-contact-trigger,.evie-contact-option { transition:none; } }
