h1:focus{outline:none}:root{font-family:"IBM Plex Sans Thai","DM Sans",sans-serif;color:#1A1C20;background:#FAF9F6;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;left:-9999px;top:8px;background:#ffc52f;color:#090f1d;padding:8px;z-index:20}.skip-link:focus{left:8px}.site-header{background:#FAF9F6;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:10}.header-inner{height:78px;display:flex;align-items:center;gap:36px}.brand img{width:174px;display:block}.site-header nav{display:flex;align-items:center;gap:32px;margin-left:auto}.site-header nav a,.lang-link{color:#1A1C20;font-size:14px;font-weight:600;transition:color .2s}.site-header nav a:hover,.lang-link:hover{color:#ffc52f}.header-actions{display:flex;gap:20px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 22px;border-radius:3px;font-weight:700;font-size:15px;line-height:1.4;transition:transform .2s,background .2s,border-color .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button-small{padding:9px 15px;font-size:13px}.button-outline{border-color:#1A1C20;color:#1A1C20}.button-outline:hover{border-color:#ffc52f}.button-gold{background:#ffc52f;color:#101827}.button-gold:hover{background:#ffe46b}.button-dark{background:#101a2c;color:white}.text-link{color:#1A1C20;font-weight:700;display:inline-flex;gap:16px;align-items:center}.dark-link{font-weight:700;border-bottom:2px solid #e7aa10;padding-bottom:4px}.hero{background:#FAF9F6;color:#1A1C20;overflow:hidden;border-bottom:1px solid #E0DFD8}.hero-grid{display:grid;grid-template-columns:1fr 1.2fr;min-height:660px;align-items:center;gap:60px}.hero-copy{padding:80px 0}.eyebrow,.section-kicker{font-family:"DM Sans","IBM Plex Sans Thai",sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;color:#8b6200}.hero h1{font-size:clamp(38px,4.5vw,56px);letter-spacing:-.045em;line-height:1.2;margin:25px 0 24px;max-width:700px;text-wrap:balance}.lead{font-size:18px;line-height:1.85;color:#4b5b70;max-width:620px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:34px;flex-wrap:wrap}.hero-note{color:#8190aa;font-size:13px;margin-top:74px;letter-spacing:.04em}.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}.hero-visual img{width:100%;height:auto;object-fit:contain;border:1px solid #E0DFD8;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,0.05)}.visual-caption{position:absolute;bottom:24px;left:26px;color:#1A1C20;background:rgba(255,255,255,0.9);padding:8px 16px;border:1px solid #E0DFD8;font-size:14px;font-weight:600}.section-light{background:#FAF9F6;color:#0e192b;padding:110px 0}.section-dark{background:#FAF9F6;color:#1A1C20;padding:110px 0}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:end}.intro-grid h2,.section-heading h2,.process-grid h2,.cta-band h2,.page-head h1{font-size:clamp(34px,3.7vw,52px);line-height:1.25;letter-spacing:-.035em;margin:20px 0}.intro-grid p,.process-grid p{font-size:18px;line-height:1.9;color:#4b5b70}.intro-grid .dark-link{display:inline-block;margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-heading h2{max-width:760px}.section-heading .text-link{margin-bottom:23px;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{min-height:320px;padding:26px;background:#FFFFFF;border:1px solid #293951;display:flex;flex-direction:column;transition:background .2s,transform .2s}.service-card:hover{background:#1d2e4b;transform:translateY(-4px)}.service-card span{color:#ffc52f;font-family:"DM Sans";font-size:14px}.service-card h3{font-size:22px;line-height:1.4;margin:45px 0 10px}.service-card p{color:#b7c3d4;line-height:1.75;margin:0}.service-card b{color:#ffc52f;font-size:22px;margin-top:auto;align-self:end}.process-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.process-grid .button{margin-top:18px}.process-steps{border-top:1px solid #cbd1d9}.process-steps>div{display:grid;grid-template-columns:70px 1fr;gap:4px 24px;padding:26px 0;border-bottom:1px solid #cbd1d9}.process-steps span{grid-row:span 2;color:#c18c06;font-weight:700;font-family:"DM Sans";font-size:16px}.process-steps strong{font-size:23px}.process-steps small{font-size:15px;color:#657487}.cta-band{background:#162541;color:#1A1C20;padding:70px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{margin:12px 0}.cta-band p{color:#b9c8dc;line-height:1.8}.site-footer{background:#FAF9F6;color:#d0d8e5;padding:70px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-grid img{width:200px}.footer-grid p{max-width:330px;color:#96a4bb;line-height:1.8}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-grid strong{color:#1A1C20;margin-bottom:10px}.footer-grid a:hover{color:#ffc52f}.footer-bottom{border-top:1px solid #243047;margin-top:60px;padding-top:25px;font-size:12px;color:#8492a8}.page-head{background:#101b30;color:white;padding:95px 0 85px}.page-head h1{max-width:820px}.page-head p{font-size:18px;color:#b8c7d8;line-height:1.85;max-width:760px}.content-section{padding:90px 0;background:#FAF9F6}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.content-card{background:#fff;padding:34px;border:1px solid #dce1e8;min-height:250px}.content-card .number{font-family:"DM Sans";color:#b88700;font-size:14px;font-weight:700}.content-card h2{font-size:27px;line-height:1.4;margin:26px 0 12px}.content-card p{line-height:1.85;color:#4b5b70;margin:0}.single-column{max-width:810px}.single-column h2{font-size:34px;margin:0 0 16px}.single-column p,.single-column li{font-size:17px;line-height:1.95;color:#425269}.single-column li{margin:12px 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-info h2{font-size:34px}.contact-info p{line-height:1.85;color:#47586d}.contact-form{background:#fff;padding:38px;border:1px solid #dce1e8}.contact-form h2{margin:0 0 8px;font-size:28px}.contact-form .field{display:flex;flex-direction:column;gap:8px;margin:20px 0}.contact-form label{font-weight:600}.contact-form input,.contact-form textarea{border:1px solid #b9c3d1;border-radius:3px;padding:12px 14px;width:100%;background:#fff;color:#142238}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #d6a10e;outline-offset:1px}.contact-form textarea{min-height:130px;resize:vertical}.consent{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:14px;color:#435267}.consent input{width:auto;margin-top:5px}.validation-message{color:#a52727;font-size:13px}.form-status{padding:12px 16px;margin:16px 0;border-left:3px solid #b88700;background:#fff8e3}.form-status.error{border-color:#b23838;background:#fff0f0}.honeypot{position:absolute;left:-9999px}.blazor-error-boundary{background:#8f2828;color:#1A1C20;padding:1rem}.blazor-error-boundary:after{content:"An error has occurred."}@media(max-width:900px){.header-inner{height:auto;min-height:72px;flex-wrap:wrap;padding:14px 0}.site-header nav{order:3;width:100%;margin:0;justify-content:space-between;gap:12px;overflow-x:auto;padding-bottom:8px}.header-actions{margin-left:auto}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:75px 0 30px}.hero-visual{height:420px;margin-bottom:60px}.service-grid{grid-template-columns:repeat(2,1fr)}.intro-grid,.process-grid,.contact-grid{gap:45px}.footer-grid{gap:25px}}@media(max-width:650px){.container{width:min(100% - 32px,1180px)}.brand img{width:145px}.button-small{display:none}.site-header nav a{font-size:12px}.hero h1{font-size:41px}.lead{font-size:16px}.hero-note{margin-top:45px}.hero-visual{height:300px}.section-light,.section-dark,.content-section{padding:72px 0}.intro-grid,.process-grid,.content-grid,.contact-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card{min-height:245px}.service-card h3{margin-top:28px}.section-heading,.cta-inner{display:block}.section-heading .text-link{margin-top:14px}.cta-inner .button{margin-top:18px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.page-head{padding:70px 0}.contact-form{padding:24px}}

.section-light .section-kicker,.content-section .section-kicker{color:#8b6200}
.services-heading{margin-bottom:26px}.service-list-card{display:flex;flex-direction:column}.service-list-card h3{font-size:25px;line-height:1.4;margin:22px 0 10px}.service-list-card h3 a:hover{color:#a46f00}.service-list-card p{margin-bottom:24px}.service-list-card .service-keyword{font-size:12px;color:#617088;background:#f2f4f7;align-self:flex-start;padding:6px 10px;margin-top:auto;margin-bottom:18px}.service-list-card .dark-link{align-self:flex-start}.service-detail-head .button{margin-top:22px}.breadcrumbs{display:flex;gap:11px;flex-wrap:wrap;color:#b5c3d5;font-size:13px;margin-bottom:34px}.breadcrumbs a:hover{color:#ffc52f}.detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:82px}.detail-main section+section{border-top:1px solid #d6dce4;margin-top:45px;padding-top:45px}.detail-main h2{font-size:clamp(28px,3vw,39px);line-height:1.3;margin:14px 0 18px}.detail-main p{font-size:17px;line-height:1.95;color:#40516a}.scope-list{list-style:none;padding:0;margin:15px 0}.scope-list li{position:relative;padding:13px 0 13px 30px;border-bottom:1px solid #d6dce4;font-size:16px;line-height:1.75;color:#35455d}.scope-list li:before{content:"↗";position:absolute;left:0;color:#a27100;font-weight:700}.question-block{border-bottom:1px solid #d6dce4;padding:14px 0}.question-block h3{font-size:19px;margin:0 0 8px}.question-block p{margin:0 0 8px}.aside-panel{padding:30px;background:#fff;border:1px solid #d6dce4}.aside-panel h2{font-size:24px;line-height:1.4}.aside-panel p{color:#46566d;line-height:1.8}.aside-panel .button{margin-top:12px}.related-terms{margin-top:22px;padding:26px;background:#e9edf2}.related-terms strong{display:block;margin-bottom:12px}.related-terms ul{margin:0;padding-left:20px;color:#56677d;line-height:1.9}.related-services .service-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.detail-grid{grid-template-columns:1fr;gap:48px}.related-services .service-grid{grid-template-columns:1fr}}
.analytics-consent[hidden]{display:none}.analytics-consent{position:fixed;z-index:1000;left:16px;right:16px;bottom:16px;max-width:650px;margin:auto;background:#fff;color:#102039;border:1px solid #cbd3df;box-shadow:0 12px 45px #0005;padding:20px 24px}.analytics-consent p{margin:0 0 15px;line-height:1.7}.analytics-consent-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.analytics-consent-actions button{border:1px solid #102039;padding:9px 14px;background:#fff;color:#102039}.analytics-consent-actions button[data-analytics-choice=allow]{background:#102039;color:#fff}.footer-preferences{background:none;border:0;color:#b9c8dc;text-decoration:underline;cursor:pointer;margin-left:14px;padding:0}.footer-preferences:hover{color:#ffc52f}

.work-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:40px; }
@media(max-width:650px) { .work-grid { grid-template-columns:1fr; } }

/* Custom Overrides */
.brand img, .footer-grid img { height: auto !important; }
.hero-grid { min-height: 640px; }
.hero-copy { padding: 64px 0; }
.hero-visual { flex-direction: column; min-width: 0; height: auto; align-items: stretch; justify-content: flex-start; }
.hero-visual img { display: block; width: 100%; height: 420px; max-height: 420px; object-fit: contain; }
.studio-hero-visual { object-fit: cover !important; }
.visual-caption { position: static; bottom: auto; left: auto; margin-top: 12px; max-width: 100%; background: #FAF9F6; border: 1px solid #E0DFD8; color: #1A1C20; padding: 8px 16px; font-size: 14px; font-weight: 600; }
@media(max-width:900px) {
  .hero-grid { min-height: auto; }
  .hero-visual img { height: 340px; max-height: 340px; }
}
@media(max-width:650px) {
  .hero-copy { padding: 48px 0 28px; }
  .hero-visual img { height: 280px; max-height: 280px; }
}
.site-footer { background: #090f1d !important; color: #d0d8e5 !important; }
.site-footer strong { color: #fff !important; }
.cta-band h2 { color: #fff !important; }
.service-card { background: #fff; color: #1A1C20; }
.service-card h3 { color: #1A1C20; }
.service-card p { color: #4b5b70; }
.service-card:hover { background: #f1f3f5; color: #1A1C20; }
.service-card:hover h3 { color: #1A1C20; }
.service-card:hover p { color: #4b5b70; }
.page-head.service-detail-head { background: #FAF9F6; color: #1A1C20; }
.page-head.service-detail-head h1 { color: #1A1C20; }
.page-head.service-detail-head p { color: #4b5b70; }
.page-head.service-detail-head .breadcrumbs { color: #4b5b70; }
.page-head.service-detail-head .breadcrumbs a:hover { color: #8b6200; }
.work-page-head p { color: #4b5b70; }
.work-card { display: flex; flex-direction: column; text-decoration: none; color: #1A1C20; border: 1px solid #E0DFD8; padding: 24px; background: #fff; transition: transform 0.2s, border-color 0.2s; }
.work-card:hover, .work-card:focus-visible { border-color: #1A1C20; transform: translateY(-4px); }
.work-card-img-container { background: #f4f5f7; margin-bottom: 12px; overflow: hidden; border: 1px solid #E0DFD8; display: flex; align-items: center; justify-content: center; }
.work-card-img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: contain; display: block; }
.visual-caption-inline { font-size: 13px; color: #56677d; margin-bottom: 16px; }

/* Artwork Split */
.artwork-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.artwork-split > * { min-width: 0; }
@media(max-width: 900px) {
  .artwork-split { grid-template-columns: 1fr; gap: 32px; }
}

/* Specific About Page Visuals */
.about-stacked-visuals { display: flex; flex-direction: column; gap: 16px; align-items: flex-end; }
.about-secondary-visual { width: 75%; }
@media(max-width: 900px) {
    .about-stacked-visuals { align-items: stretch; }
    .about-secondary-visual { width: 100%; }
}

/* Status Illustrations (Error/NotFound) */
.status-illustration {
    display: block;
    width: min(100%, 360px);
    height: 240px;
    object-fit: cover;
    margin: 0 auto 24px auto;
    border-radius: 8px;
    border: 1px solid #E0DFD8;
}
@media(max-width: 650px) {
    .status-illustration { height: 220px; }
}

.page-head:not(.service-detail-head) .illustration-caption { color: #c5d0de !important; }

/* Studio Artwork Global */
.studio-illustration {
    margin: 0;
    width: 100%;
    height: auto;
}
.studio-illustration img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 360px;
    max-height: 420px;
    object-fit: cover;
}
@media (max-width: 900px) {
    .studio-illustration img {
        height: 240px;
    }
}
.studio-illustration figcaption {
    margin-top: 8px;
}
.page-head:not(.service-detail-head) .studio-illustration figcaption {
    color: #c5d0de;
}

.people-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.people-split > * { min-width: 0; }
.people-cta-copy { display: block; }
.people-cta-copy .button { margin-top: 20px; }
@media(max-width: 900px) { .people-split { grid-template-columns: 1fr; } }

/* Contact dock (Components/ContactDock.razor): desktop floating panel, mobile bottom bar. */
:root { --contact-bar-height: 64px; --contact-consent-offset: 0px; }
body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.contact-icon { display: block; width: 100%; height: 100%; }
.contact-icon-tile { display: inline-grid; place-items: center; flex: none; border-radius: 10px; }
.contact-channel-email .contact-icon-tile, .contact-channel-contact_form .contact-icon-tile { background: rgba(255, 197, 47, .14); color: #ffc52f; padding: 6px; }

.contact-dock-trigger { position: fixed; z-index: 900; right: max(24px, calc(env(safe-area-inset-right) + 16px)); bottom: calc(max(24px, calc(env(safe-area-inset-bottom) + 16px)) + var(--contact-consent-offset, 0px)); display: inline-flex; align-items: center; gap: 10px; padding: 8px 20px 8px 8px; border: 1px solid rgba(255, 197, 47, .55); border-radius: 999px; background: #090f1d; color: #fff; font: inherit; font-size: 15px; font-weight: 700; line-height: 1.2; cursor: pointer; box-shadow: 0 12px 32px rgba(9, 15, 29, .28); transition: border-color .2s, box-shadow .2s; }
.contact-dock-trigger:hover { border-color: #ffc52f; box-shadow: 0 14px 36px rgba(9, 15, 29, .36); }
.contact-dock-trigger-icon { display: grid; place-items: center; width: 36px; height: 36px; padding: 7px; border-radius: 50%; background: #ffc52f; color: #090f1d; }
.contact-dock-trigger-icon .contact-icon-close,
.contact-dock:is(.is-open, :has(.contact-dock-panel:popover-open)) .contact-dock-trigger-icon .contact-icon-chat { display: none; }
.contact-dock:is(.is-open, :has(.contact-dock-panel:popover-open)) .contact-dock-trigger-icon .contact-icon-close { display: block; }
.contact-dock-panel { position: fixed; z-index: 950; inset: auto; right: max(24px, calc(env(safe-area-inset-right) + 16px)); bottom: calc(max(24px, calc(env(safe-area-inset-bottom) + 16px)) + 64px + var(--contact-consent-offset, 0px)); margin: 0; width: min(344px, calc(100vw - 48px)); max-height: calc(100vh - 120px - var(--contact-consent-offset, 0px)); overflow: auto; padding: 20px; border: 1px solid rgba(255, 197, 47, .35); border-radius: 16px; background: #090f1d; color: #fff; box-shadow: 0 24px 60px rgba(9, 15, 29, .38); }
@supports not selector(:popover-open) { .contact-dock-panel:not(.is-open) { display: none; } }
.contact-dock-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.contact-dock-title { margin: 0; font-size: 18px; font-weight: 700; color: #fff; }
.contact-dock-close { display: grid; place-items: center; width: 34px; height: 34px; padding: 8px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .08); color: #d0d8e5; cursor: pointer; }
.contact-dock-close:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.contact-dock-note { margin: 4px 0 16px; font-size: 14px; color: #b9c8dc; }
.contact-dock-panel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.contact-dock-link { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; background: rgba(255, 255, 255, .04); color: #fff; text-decoration: none; transition: border-color .2s, background .2s; }
.contact-dock-link:hover { border-color: rgba(255, 197, 47, .7); background: rgba(255, 255, 255, .08); }
.contact-dock-link.contact-channel-line { border-color: rgba(255, 197, 47, .45); }
.contact-dock-link .contact-icon-tile { width: 38px; height: 38px; }
.contact-dock-text { display: grid; gap: 2px; min-width: 0; }
.contact-dock-text strong { font-size: 15px; color: #fff; }
.contact-dock-text small { font-size: 13px; color: #b9c8dc; overflow-wrap: anywhere; }
.contact-dock-arrow { margin-left: auto; color: #ffc52f; font-weight: 700; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.contact-actions .button { gap: 10px; }
.contact-actions .contact-icon-tile { width: 24px; height: 24px; border-radius: 6px; }

.contact-bar, .contact-bar-spacer { display: none; }
.contact-dock-trigger:focus-visible, .contact-dock-close:focus-visible, .contact-dock-link:focus-visible { outline: 3px solid #ffc52f; outline-offset: 3px; }
.contact-bar-item:focus-visible { outline: 3px solid #ffc52f; outline-offset: -3px; }

@media (max-width: 650px) {
    .contact-dock { display: none; }
    .contact-bar { position: fixed; z-index: 900; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); border-top: 1px solid rgba(255, 197, 47, .35); border-radius: 18px 18px 0 0; background: rgba(9, 15, 29, .97); box-shadow: 0 -10px 30px rgba(9, 15, 29, .22); }
    .contact-bar-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: calc(var(--contact-bar-height) - 12px); padding: 4px 2px; border-radius: 12px; color: #d0d8e5; font-size: 12px; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; -webkit-tap-highlight-color: transparent; }
    .contact-bar-item:active, .contact-bar-item[aria-current="page"] { background: rgba(255, 255, 255, .08); color: #fff; }
    .contact-bar-item.contact-channel-line { background: rgba(255, 197, 47, .12); color: #ffc52f; }
    .contact-bar-item .contact-icon-tile { width: 26px; height: 26px; border-radius: 8px; }
    .contact-bar-item.contact-channel-email .contact-icon-tile, .contact-bar-item.contact-channel-contact_form .contact-icon-tile { padding: 3px; background: none; }
    .contact-bar-label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .contact-bar-spacer { display: block; height: calc(var(--contact-bar-height) + env(safe-area-inset-bottom)); background: #090f1d; }
    .analytics-consent { bottom: calc(var(--contact-bar-height) + env(safe-area-inset-bottom) + 12px); max-height: calc(100vh - var(--contact-bar-height) - 40px); overflow: auto; }
    /* Hide the bar while a text field is focused (the on-screen keyboard is likely open). */
    body:has(input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):focus, textarea:focus, [contenteditable="true"]:focus) .contact-bar { display: none; }
}

@media (prefers-reduced-motion: no-preference) {
    .contact-dock-panel:is(.is-open, :popover-open) { animation: contact-dock-in .18s ease-out; }
    @keyframes contact-dock-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}

@media print { .contact-dock, .contact-bar, .contact-bar-spacer { display: none !important; } }
