/* Local implementation refinements. Reference visual tokens remain authoritative. */
/* DJI hero: retain the entrance and facade while showing more of the forecourt. */
.design-v4 .hero-photo-dji{object-position:60% 58%}
@media(max-width:650px){.design-v4 .hero-visual:has(.hero-photo-dji){height:auto;min-height:0;aspect-ratio:16/10;max-height:320px}.design-v4 .hero-photo-dji{object-position:65% 55%}.design-v4 .hero-visual:has(.hero-photo-dji) :is(.photo-caption,.hero-volume-mark){display:none}}
[hidden]{display:none!important}html{scrollbar-gutter:stable}img{max-width:100%}.org-prototype{font-size:12px}.org-type,.org-status,.org-category-pill,.org-article-text>small{font-size:12px}.org-filter,.org-filter-select,.org-tabs a,.org-side-nav a,.org-contact-row p,.org-contact-row strong,.org-note-link,.org-card-end,.org-guide-card p,.org-service-card p{font-size:14px}.org-panel p,.org-hero p,.org-article-text p{font-size:16px}.org-contact-foot{font-size:12px}.org-service-card,.org-guide-card,.org-article-text,.org-hero>div{min-width:0;overflow-wrap:break-word}.org-mobile-contact{margin-top:22px}.org-mobile-contact a{display:inline-flex;align-items:center;gap:8px;font-weight:700}.org-mobile-contact>span{font-size:14px}.org-search{min-width:min(280px,100%)}.org-no-results{margin-top:18px}.search-dialog .search-results:empty{display:none}.search-dialog .search-results small{font-size:14px}.search-dialog .search-results a{min-height:64px}.news-empty{padding:26px;color:#526975;background:#eff5f2;border-radius:14px}.local-assistant-launch{position:fixed;right:26px;bottom:24px;z-index:55;display:flex;align-items:center;gap:11px;min-height:56px;padding:15px 20px;border:1px solid #5eaa8c;border-left:4px solid #dcb365;border-radius:18px;background:linear-gradient(135deg,#086653,#084f49);color:#fff;box-shadow:0 5px 0 #063f3522,0 10px 25px #0b294338;font-weight:600;font-size:14px}#local-assistant{position:fixed;inset:auto 24px 92px auto;margin:0;padding:0;width:392px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 120px);border:1px solid #abc9b9;border-top:3px solid #dcb365;border-radius:22px;box-shadow:0 24px 70px #082f4955;color:#0b2943}#local-assistant::backdrop{background:#0b294329}.assistant-head{display:flex;align-items:center;justify-content:space-between;background:#0b3947;color:white;padding:20px 22px}.assistant-head h2{font-size:19px}.assistant-head p{font-size:12px;color:#d4e6dd;margin-top:3px}.assistant-head .icon-button:hover{background:#ffffff22}.assistant-body{padding:24px;background:#f5f8f4}.assistant-body h3{font-size:23px;margin:18px 0 10px}.assistant-body p{font-size:15px;line-height:1.75}.assistant-choices{display:grid;gap:10px;margin:20px 0}.assistant-choices a{display:flex;align-items:center;gap:10px;padding:13px;background:#fff;border:1px solid #d3e1d8;border-radius:11px;font-size:14px}.assistant-choices a svg:last-child{margin-left:auto}.assistant-note{font-size:12px!important;color:#5c6e73}.error-page{font-family:'Segoe UI',sans-serif;background:#f5f8f4;color:#0b2943;display:grid;place-items:center;min-height:90vh}.error-page main{max-width:600px;padding:32px}.error-page a{color:#086653}.demo-document{opacity:.9}.desktop-nav a[aria-current=page]{color:#086653}.form-status{padding:18px;background:#edf5f0;border:1px solid #b8d7c7;border-radius:12px;margin-top:18px}.map-placeholder iframe{width:100%;height:100%;min-height:230px;border:0}.header-inner{gap:18px}.org-hero-help p{font-size:14px}.org-phone{font-size:clamp(20px,2vw,25px)}
@media(max-width:800px){.org-mobile-contact{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:18px;background:#e6f0e9;border:1px solid #cfdfd5;border-radius:12px}.org-hero h1{overflow-wrap:break-word}.org-phone{white-space:normal}.org-filter-select{max-width:100%;width:100%}.org-tabs a{font-size:13px}.org-article-card{gap:12px}.org-article-text h3{font-size:19px}}
@media(max-width:600px){.local-assistant-launch{right:14px;bottom:15px;padding:14px;border-radius:50%;width:56px;height:56px}.local-assistant-launch span{display:none}#local-assistant{right:12px;bottom:82px}.org-results-count{align-items:flex-start;flex-direction:column;gap:5px}.org-prototype .shell{text-align:center;line-height:1.6}.org-article-open{width:30px;height:30px}.org-toolbar{margin-top:26px}.org-hero p{font-size:15px}.org-tabs{flex-wrap:wrap}.org-tabs a{white-space:normal}.org-service-card p{font-size:15px}.org-section-heading h2{font-size:24px}.org-article-card .org-card-icon{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.topbar,.org-prototype,.local-assistant-launch,#local-assistant,.org-aside,.org-mobile-contact,footer,.org-article-metadata button{display:none!important}.org-body-grid{display:block}.org-page,.org-reader{background:white;box-shadow:none;border:0}.org-reader section{break-inside:avoid}}

/* Reference v06.1 launcher; the existing information dialog remains local. */
.local-assistant-launch {
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  width: 224px;
  max-width: calc(100vw - 32px);
  height: auto;
  min-height: 80px;
  padding: 12px 16px 12px 14px;
  gap: 12px;
  border: 1px solid #83c5b655;
  border-left: 3px solid #dcb365;
  border-radius: 22px;
  background: linear-gradient(130deg, #126e61, #075449);
  color: #fff;
  box-shadow: inset 0 1px #fff3, 0 4px 0 #043b3224, 0 12px 28px #0b294336;
  text-align: left;
  transition: transform .18s, box-shadow .18s;
}

.local-assistant-launch:hover {
  transform: translateY(-3px);
  box-shadow: inset 0 1px #fff3, 0 5px 0 #043b3224, 0 16px 30px #0b294344;
}

.local-assistant-launch:focus-visible {
  outline: 3px solid #bc8b30;
  outline-offset: 4px;
}

.local-assistant-launch .local-assistant-mark {
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border: 1px solid #ffffff2b;
  border-radius: 15px;
  background: #ffffff12;
  color: #e8f5e9;
}

.local-assistant-launch .local-assistant-label {
  display: block;
  min-width: 0;
}

.local-assistant-label strong {
  display: block;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.025em;
  white-space: nowrap;
}

.local-assistant-label small {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  color: #d1e9dd;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .025em;
  white-space: nowrap;
}

.local-assistant-label small::before {
  content: '';
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e5bf78;
}

@media (max-width: 600px) {
  .local-assistant-launch {
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Conversation panel; launcher appearance is defined separately above. */
#local-assistant {
  inset: auto max(24px, env(safe-area-inset-right)) max(116px, calc(env(safe-area-inset-bottom) + 92px)) auto;
  width: 420px;
  height: min(660px, calc(100dvh - 140px));
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 40px);
  overflow: hidden;
  background: #f5f8f4;
}
#local-assistant[open] { display: flex; flex-direction: column; }
#local-assistant .assistant-head { flex: 0 0 auto; padding: 17px 20px; }
#local-assistant .assistant-head h2 { margin: 0; line-height: 1.3; }
#local-assistant .assistant-head p { margin-bottom: 0; }
#local-assistant .assistant-head button { flex: 0 0 40px; min-height: 40px; }
.assistant-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 21px 20px; scrollbar-gutter: stable; }
.assistant-welcome h3 { margin: 0 0 9px; font-size: 21px; line-height: 1.35; }
.assistant-welcome p { margin: 0; font-size: 14px; line-height: 1.7; color: #465f65; }
.assistant-suggestions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.assistant-suggestions button, [data-chat-retry] { border: 1px solid #c3d7cc; border-radius: 12px; background: #fff; color: #145d50; padding: 9px 12px; font: inherit; font-size: 12px; font-weight: 600; line-height: 1.4; cursor: pointer; }
.assistant-suggestions button:hover, [data-chat-retry]:hover { border-color: #57927e; background: #eef5ef; }
.assistant-suggestions button:disabled, [data-chat-retry]:disabled { opacity: .55; cursor: wait; }
.assistant-transcript { display: flex; flex-direction: column; gap: 14px; }
.assistant-transcript:not(:empty) { margin-top: 22px; }
.assistant-message { max-width: 95%; padding: 14px 15px; border: 1px solid #d9e4dc; border-radius: 15px 15px 15px 4px; background: #fff; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.assistant-message-user { align-self: flex-end; border-color: #d1e3d8; border-radius: 15px 15px 4px 15px; background: #e6f0e8; }
.assistant-message-author { display: block; margin-bottom: 6px; color: #426359; font-size: 11px; letter-spacing: .03em; }
.assistant-message p { margin: 0 0 10px; white-space: pre-wrap; }
.assistant-message p:last-child { margin-bottom: 0; }
.assistant-message a { color: #086653; text-decoration: underline; text-underline-offset: 3px; }
.assistant-message-error { border-color: #ddcda7; background: #fffaf0; }
.assistant-message-error [data-chat-retry] { margin-top: 3px; }
.assistant-sources { display: grid; gap: 7px; border-top: 1px solid #e1e8e2; margin-top: 12px; padding-top: 11px; font-size: 12px; line-height: 1.5; }
.assistant-sources strong { color: #526968; font-size: 11px; }
.assistant-message .assistant-contact { margin-top: 12px; font-weight: 600; }
.assistant-composer { flex: 0 0 auto; padding: 12px 18px 15px; border-top: 1px solid #d4e2d8; background: #fff; }
.assistant-composer label { display: block; margin-bottom: 6px; color: #244c47; font-size: 12px; font-weight: 600; }
.assistant-input-row { display: flex; align-items: stretch; gap: 8px; }
.assistant-input-row textarea { width: 100%; min-width: 0; min-height: 58px; max-height: 120px; resize: vertical; border: 1px solid #bdcfc5; border-radius: 12px; padding: 10px 11px; background: #f9fbf8; color: #0b2943; font: inherit; font-size: 16px; line-height: 1.4; }
.assistant-input-row textarea:focus { outline: 2px solid #338970; outline-offset: 1px; }
.assistant-input-row textarea[readonly] { background: #edf2ed; }
.assistant-submit { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 3px; flex: 0 0 61px; border: 1px solid #0e6552; border-radius: 12px; padding: 8px; background: #0e6552; color: #fff; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.assistant-submit:hover { background: #084d40; }
.assistant-submit:disabled { opacity: .55; cursor: wait; }
.assistant-composer .assistant-input-help { margin: 5px 0 8px; color: #647774; font-size: 10px; line-height: 1.5; }
.assistant-composer .assistant-note { margin: 0; color: #526968; font-size: 11px !important; line-height: 1.55; }
.assistant-note a { color: #075a4b; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.assistant-send-status { margin: 0; color: #186653; font-size: 12px; line-height: 1.5; }
.assistant-send-status:not(:empty) { margin-bottom: 8px; }
#local-assistant button:focus-visible, #local-assistant a:focus-visible { outline: 3px solid #bc8b30; outline-offset: 3px; }
@media (max-width: 600px), (max-height: 650px) {
  #local-assistant {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    width: 420px;
    height: min(690px, calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    max-width: calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));
    max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    border-radius: 18px;
  }
  .assistant-scroll { padding: 17px 15px; }
  .assistant-composer { padding: 10px 13px 13px; }
  .assistant-welcome h3 { font-size: 19px; }
}
.language-switch{display:flex;align-items:center;gap:5px;white-space:nowrap}
.language-switch a{font-size:12px;font-weight:750;padding:5px 2px;color:var(--muted,#59716e);text-decoration:none}
.language-switch a.selected{color:var(--teal,#0d7769);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.language-switch a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}
