/* LegalJini site UI (lj-site-ui): the services menu, every enquiry form and the acknowledgement that replaces a form
   once it is sent. One file, loaded site-wide by the plugin and by the review preview.
   Plan: clients/legaljini/site-ui/DESIGN-PLAN.md. Everything is scoped under .ljui-* so the Astra theme, Elementor and
   the landing-page CSS (.ljs-*) cannot reach in, and nothing here reaches out. Selectors are doubled where the theme or
   the Essential Addons CF7 widget set the same property with higher specificity. */

.ljui-mm,.ljui-form,.ljui-sheet,.ljui-sent{
  --ljui-ink:#003955; --ljui-blue:#00618C; --ljui-green:#147A57; --ljui-green-d:#0F6447; --ljui-mint:#EAF4EF;
  --ljui-mint-line:#C9E2D5; --ljui-line:#D9E1E5; --ljui-text:#3C474B; --ljui-muted:#66737A; --ljui-soft:#F3F7F9;
  --ljui-err:#B3261E; --ljui-on-ink:#FFFFFF; --ljui-on-ink-soft:#BFD2DC;
  --ljui-font:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --ljui-ease:cubic-bezier(.23,1,.32,1);
  font-family:var(--ljui-font);
}
.ljui-mm *,.ljui-form *,.ljui-sheet *,.ljui-sent *{box-sizing:border-box}

/* =====================================================================================================================
   1. Services menu ([lj_mega_menu])
   ===================================================================================================================== */
.ljui-mm{display:grid;grid-template-columns:minmax(250px,290px) 1fr;gap:24px;width:100%;max-width:1240px;margin:0 auto;
  max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain;
  padding:18px;background:#fff;border:2px solid var(--ljui-ink);border-radius:16px;
  box-shadow:none;color:var(--ljui-text);text-align:left}
.ljui-mm a{text-decoration:none!important;box-shadow:none!important}
.ljui-mm ul{list-style:none!important;margin:0!important;padding:0!important}
.ljui-mm li{margin:0!important;padding:0!important}
.ljui-mm li::before,.ljui-mm li::marker{content:none!important}
.ljui-mm h3,.ljui-mm summary{font-family:var(--ljui-font)!important;letter-spacing:0!important;text-transform:none!important}

/* the foreign-company panel: the one dark surface in the menu */
.ljui-mm__feature{display:flex;flex-direction:column;padding:16px 16px 14px;border-radius:12px;background:var(--ljui-ink);color:var(--ljui-on-ink)}
.ljui-mm__feature h3{margin:0 0 4px!important;font-size:17px!important;line-height:1.3!important;font-weight:700!important;color:#fff!important}
.ljui-mm__feature > p{margin:0 0 8px!important;font-size:13.5px;line-height:1.4;color:var(--ljui-on-ink-soft)}
.ljui-mm__feature ul{display:flex;flex-direction:column;gap:0;margin:0 -10px 12px!important}
.ljui-mm__feature li a{display:block;padding:6px 10px;border-radius:10px;transition:background-color 160ms ease}
.ljui-mm__feature li a strong{display:block;font-size:14.5px;line-height:1.25;font-weight:600;color:#fff}
.ljui-mm__feature li a span{display:block;margin-top:1px;font-size:13px;line-height:1.35;color:var(--ljui-on-ink-soft)}
.ljui-mm__feature li a:hover{background:rgba(255,255,255,.08)}
.ljui-mm__feature li a:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.ljui-mm__cta{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;
  border:2px solid #fff;border-radius:10px;background:var(--ljui-green);box-shadow:3px 4px 0 #52B08B;color:#fff!important;font-size:15px;font-weight:700;line-height:1.2;
  transition:transform 140ms var(--ljui-ease),box-shadow 140ms var(--ljui-ease)}
.ljui-mm__cta:hover{transform:translate(1px,1px);box-shadow:2px 3px 0 #52B08B}
.ljui-mm__cta:active{transform:translate(3px,4px);box-shadow:0 0 0 #52B08B}
.ljui-mm__cta:focus-visible{outline:2px solid #fff;outline-offset:2px}

.ljui-mm__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;align-content:start}
.ljui-mm__group{margin:0;padding:0;border:0}
.ljui-mm__group > summary{display:block;list-style:none;cursor:default;margin:2px 0 6px;padding:0 10px 7px;
  font-size:16px;line-height:1.3;font-weight:800;color:var(--ljui-ink);letter-spacing:-.01em;border-bottom:2px solid var(--ljui-ink)}
.ljui-mm__group > summary::-webkit-details-marker{display:none}
.ljui-mm__group > summary::marker{content:''}
.ljui-mm__group ul{display:flex;flex-direction:column;gap:1px}
.ljui-mm__group li a{display:block;padding:6px 10px;border-radius:10px;transition:background-color 160ms ease}
.ljui-mm__group li a strong{display:block;font-size:14.5px;line-height:1.25;font-weight:600;color:var(--ljui-ink);transition:color 160ms ease}
.ljui-mm__group li a span{display:block;margin-top:1px;font-size:13px;line-height:1.35;color:var(--ljui-muted)}
.ljui-mm__group li a:hover{background:var(--ljui-soft)}
.ljui-mm__group li a:hover strong{color:var(--ljui-blue)}
.ljui-mm__group li a:focus-visible{outline:2px solid var(--ljui-blue);outline-offset:-2px}
.ljui-mm__group li a[aria-current="page"] strong{color:var(--ljui-blue)}

.ljui-mm__foot{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-top:2px;padding:14px 10px 0;border-top:2px solid var(--ljui-ink)}
.ljui-mm__foot p{margin:0!important;font-size:14px;line-height:1.4;color:var(--ljui-text)}
.ljui-mm__foot p strong{color:var(--ljui-ink);font-weight:800}
.ljui-mm__foot .ljui-hl{color:var(--ljui-green);font-weight:800}
.ljui-mm__all{font-size:14.5px;font-weight:600;color:var(--ljui-blue)!important;padding:6px 2px;border-bottom:1.5px solid transparent;transition:border-color 160ms ease}
.ljui-mm__all:hover{border-bottom-color:currentColor}
.ljui-mm__all:focus-visible{outline:2px solid var(--ljui-blue);outline-offset:2px;border-radius:4px}

/* the promise closes the navy panel; "See all services" closes the last column */
.ljui-mm__promise{margin:12px 0 0!important;font-size:13.5px;line-height:1.4;color:var(--ljui-on-ink-soft)}
.ljui-mm__promise strong{color:#fff;font-weight:800}
.ljui-mm__promise .ljui-hl{color:#52B08B;font-weight:800}
.ljui-mm__allitem{margin-top:6px!important;padding:8px 10px 0!important;border-top:1px solid var(--ljui-line)}
.ljui-mm .ljui-mm__allitem a.ljui-mm__all{display:inline-block;padding:4px 0;font-size:14.5px;font-weight:700}
.ljui-mm .ljui-mm__allitem a.ljui-mm__all::after{content:'';display:inline-block;width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);vertical-align:1px}

/* tablet: the feature panel goes on top, groups stay as columns */
@media (max-width:1180px){
  .ljui-mm{grid-template-columns:1fr}
  .ljui-mm__feature ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* phone and the slide-out menu: one column, groups become accordions (the script closes them on a small screen) */
@media (max-width:820px){
  .ljui-mm{padding:0;gap:14px;border:0;border-radius:0;box-shadow:none;background:transparent;max-height:none;overflow:visible}
  .ljui-mm__feature{padding:18px 16px 16px}
  .ljui-mm__feature ul{display:flex;margin-bottom:14px!important}
  .ljui-mm__groups{grid-template-columns:1fr;gap:0}
  .ljui-mm__group{border-top:1px solid var(--ljui-line)}
  .ljui-mm__group:last-child{border-bottom:1px solid var(--ljui-line)}
  .ljui-mm__group > summary{position:relative;cursor:pointer;margin:0;padding:17px 44px 17px 4px;font-size:16.5px;font-weight:800;color:var(--ljui-ink);border-bottom:0}
  .ljui-mm__group > summary::after{content:'';position:absolute;right:10px;top:50%;width:9px;height:9px;margin-top:-7px;
    border-right:2px solid var(--ljui-ink);border-bottom:2px solid var(--ljui-ink);transform:rotate(45deg);transition:transform 200ms var(--ljui-ease)}
  .ljui-mm__group[open] > summary::after{transform:rotate(-135deg);margin-top:-2px}
  .ljui-mm__group > summary:focus-visible{outline:2px solid var(--ljui-blue);outline-offset:-2px}
  .ljui-mm__group ul{padding:0 0 10px!important}
  .ljui-mm__group li a{padding:11px 4px}
  .ljui-mm__foot{flex-direction:column;align-items:flex-start;padding:14px 4px 0;border-top:0}
}

/* =====================================================================================================================
   2. Enquiry forms (CF7 5736, 300, 613, 1496; newsletter 796): the markup wraps fields in .ljui-form
   ===================================================================================================================== */
.ljui-form.ljui-form{display:block;width:100%;margin:0;padding:0;color:var(--ljui-text);text-align:left}
.ljui-form .ljui-intro{margin:0 0 18px!important;font-size:15px;line-height:1.5;color:var(--ljui-muted)}
.ljui-form .ljui-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.ljui-form .ljui-f{display:block;margin:0 0 16px;padding:0;font-weight:400}
.ljui-form .ljui-l{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 6px;
  font-size:14.5px;line-height:1.3;font-weight:600;color:var(--ljui-ink)}
.ljui-form .ljui-l em{font-style:normal;font-weight:400;font-size:13px;color:var(--ljui-muted)}
.ljui-form .wpcf7-form-control-wrap{display:block;position:relative}
.ljui-form p{margin:0!important;padding:0!important}
/* if Contact Form 7's autop still wraps fields in <p> (the plugin turns it off for these forms), the wrapper steps out
   of the layout so a two-column row keeps its two columns */
.ljui-form .ljui-row > p,.ljui-form .ljui-send > p,.ljui-form details.ljui-more > p,.ljui-form > p:not(.ljui-note):not(.ljui-intro){display:contents!important}
/* the Essential Addons CF7 widget on the service pages runs with "labels-hide" on (.labels-hide .wpcf7-form label) */
.wpcf7 .wpcf7-form .ljui-form label.ljui-f,.wpcf7 .wpcf7-form .ljui-form .ljui-chips label{display:block!important;visibility:visible!important}
.wpcf7 .wpcf7-form .ljui-form .ljui-l{display:flex!important;font-family:var(--ljui-font)!important;font-size:14.5px!important;font-weight:600!important;line-height:1.3!important;color:var(--ljui-ink)!important;text-transform:none!important;letter-spacing:0!important}
/* the theme's FAQ accordion styles every <summary> on a landing page (size, weight, padding, its own "+") */
.wpcf7 .wpcf7-form .ljui-form details.ljui-more{padding:0!important;background:none!important;border-radius:0!important;box-shadow:none!important;border-left:0!important;border-right:0!important;border-bottom:0!important}
.wpcf7 .wpcf7-form .ljui-form details.ljui-more > summary{font:600 14.5px/1.35 var(--ljui-font)!important;color:var(--ljui-blue)!important;padding:14px 0 4px!important;margin:0!important;background:none!important;border:0!important;min-height:0!important;letter-spacing:0!important;text-transform:none!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;text-align:left!important;width:100%!important}
.wpcf7 .wpcf7-form .ljui-form details.ljui-more[open] > summary{margin-bottom:14px!important}
.ljui-form br{display:none}

.wpcf7 .ljui-form.ljui-form.ljui-form input[type=text],.wpcf7 .ljui-form.ljui-form.ljui-form input[type=email],.wpcf7 .ljui-form.ljui-form.ljui-form input[type=tel],
.wpcf7 .ljui-form.ljui-form.ljui-form select,.wpcf7 .ljui-form.ljui-form.ljui-form textarea{
  display:block;width:100%!important;max-width:none!important;height:48px!important;margin:0!important;padding:0 14px!important;
  border:1px solid var(--ljui-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;
  font:400 16px/1.4 var(--ljui-font)!important;color:var(--ljui-ink)!important;letter-spacing:0!important;
  transition:border-color 160ms ease,box-shadow 160ms ease;-webkit-appearance:none;appearance:none}
.wpcf7 .ljui-form.ljui-form.ljui-form textarea{height:112px!important;min-height:88px!important;padding:12px 14px!important;resize:vertical}
.wpcf7 .ljui-form.ljui-form.ljui-form select{padding-right:40px!important;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23003955' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 15px center!important}
.wpcf7 .ljui-form.ljui-form.ljui-form ::placeholder{color:#8A969C;opacity:1}
.wpcf7 .ljui-form.ljui-form.ljui-form input:hover,.wpcf7 .ljui-form.ljui-form.ljui-form select:hover,.wpcf7 .ljui-form.ljui-form.ljui-form textarea:hover{border-color:#A9BAC2!important}
.wpcf7 .ljui-form.ljui-form.ljui-form input:focus,.wpcf7 .ljui-form.ljui-form.ljui-form select:focus,.wpcf7 .ljui-form.ljui-form.ljui-form textarea:focus{
  outline:none!important;border-color:var(--ljui-blue)!important;box-shadow:0 0 0 3px rgba(0,97,140,.16)!important}
.wpcf7 .ljui-form.ljui-form.ljui-form .wpcf7-not-valid{border-color:var(--ljui-err)!important}
.wpcf7 .ljui-form.ljui-form.ljui-form .wpcf7-not-valid:focus{box-shadow:0 0 0 3px rgba(179,38,30,.14)!important}
.ljui-form .wpcf7-not-valid-tip{display:block;margin:6px 0 0;font:500 13.5px/1.4 var(--ljui-font);color:var(--ljui-err)}

/* service choice as chips (CF7 [radio service ...]); same field name and values as the old select */
.ljui-form .ljui-chips .wpcf7-radio{display:flex;flex-wrap:wrap;gap:8px}
.ljui-form .ljui-chips .wpcf7-list-item{display:block;margin:0!important}
.ljui-form .ljui-chips .wpcf7-list-item label{position:relative;display:block;margin:0;cursor:pointer}
.ljui-form .ljui-chips input[type=radio]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ljui-form .ljui-chips .wpcf7-list-item-label{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;
  border:1px solid var(--ljui-line);border-radius:999px;background:#fff;font-size:14.5px;line-height:1.25;font-weight:500;color:var(--ljui-ink);
  transition:border-color 160ms ease,background-color 160ms ease,color 160ms ease}
.ljui-form .ljui-chips label:hover .wpcf7-list-item-label{border-color:#A9BAC2}
.ljui-form .ljui-chips input:checked + .wpcf7-list-item-label{border-color:var(--ljui-blue);background:#E7F0F5;color:var(--ljui-ink);font-weight:600}
.ljui-form .ljui-chips input:checked + .wpcf7-list-item-label::before{content:'';width:10px;height:6px;margin:-3px 1px 0 0;
  border-left:2px solid var(--ljui-blue);border-bottom:2px solid var(--ljui-blue);transform:rotate(-45deg)}
.ljui-form .ljui-chips input:focus-visible + .wpcf7-list-item-label{outline:2px solid var(--ljui-blue);outline-offset:2px}
.ljui-form .ljui-chips .wpcf7-not-valid .wpcf7-list-item-label{border-color:var(--ljui-err)}

/* the landing pages set the service from the page itself (build-lp.mjs), so the choice stays hidden there (SR-12) */
.ljs-formcard .ljui-form .ljs-svc,.ljs-formcard .wpcf7 .wpcf7-form .ljui-form label.ljui-f.ljs-svc{display:none!important}
.ljui-form .ljui-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* the optional block */
.ljui-form details.ljui-more{margin:2px 0 16px;border-top:1px solid var(--ljui-line)}
.ljui-form details.ljui-more > summary{display:flex;align-items:center;gap:10px;padding:14px 0 4px;cursor:pointer;list-style:none;
  font-size:14.5px;line-height:1.35;font-weight:600;color:var(--ljui-blue)}
.ljui-form details.ljui-more > summary::-webkit-details-marker{display:none}
.ljui-form details.ljui-more > summary::after{content:none!important;display:none!important}
.ljui-form details.ljui-more > summary::before{content:'';flex:none;width:18px;height:18px;border-radius:50%;
  background:#E7F0F5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M5 1v8M1 5h8' stroke='%2300618C' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;
  transition:transform 200ms var(--ljui-ease)}
.ljui-form details.ljui-more[open] > summary::before{transform:rotate(45deg)}
.ljui-form details.ljui-more > summary:focus-visible{outline:2px solid var(--ljui-blue);outline-offset:2px;border-radius:4px}
.ljui-form details.ljui-more[open] > summary{margin-bottom:14px}

/* the button, its sending state and the line under it */
.ljui-form .ljui-send{position:relative;margin:4px 0 0}
.wpcf7 .ljui-form.ljui-form.ljui-form input[type=submit]{display:block;width:100%!important;height:52px!important;margin:0!important;padding:0 20px!important;
  border:0!important;border-radius:10px!important;background:var(--ljui-green)!important;color:#fff!important;cursor:pointer;
  font:700 16.5px/1 var(--ljui-font)!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;
  transition:background-color 160ms ease,transform 160ms var(--ljui-ease)}
.wpcf7 .ljui-form.ljui-form.ljui-form input[type=submit]:hover{background:var(--ljui-green-d)!important}
.wpcf7 .ljui-form.ljui-form.ljui-form input[type=submit]:active{transform:scale(.985)}
.wpcf7 .ljui-form.ljui-form.ljui-form input[type=submit]:focus-visible{outline:2px solid var(--ljui-blue)!important;outline-offset:3px}
.ljui-form .wpcf7-spinner{display:none!important}
.ljui-form .ljui-send::after{content:'';position:absolute;left:10px;right:10px;bottom:0;height:3px;border-radius:3px;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent) 0 0/40% 100% no-repeat}
.wpcf7-form.submitting .ljui-form .ljui-send::after{opacity:1;animation:ljui-progress 1.1s linear infinite}
.wpcf7 .wpcf7-form.submitting .ljui-form.ljui-form.ljui-form input[type=submit]{background:var(--ljui-green-d)!important;cursor:progress}
@keyframes ljui-progress{from{background-position:-40% 0}to{background-position:140% 0}}
.ljui-form .ljui-note{margin:12px 0 0!important;font-size:13.5px;line-height:1.5;color:var(--ljui-muted)}
.ljui-form .ljui-note strong{font-weight:600;color:var(--ljui-ink)}
.ljui-form .ljui-note a{color:var(--ljui-blue)!important;text-decoration:underline!important;text-underline-offset:2px}

/* CF7's own message line: only for a problem (the success is the acknowledgement below) */
.wpcf7 form .wpcf7-response-output{margin:14px 0 0!important;padding:11px 14px!important;border:1px solid #E8C9A0!important;border-radius:10px!important;
  background:#FFF7EC;font:500 14px/1.5 var(--ljui-font);color:#6B4E00}
.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output,.wpcf7 form.ljui-done .wpcf7-response-output{display:none!important}
.wpcf7 form.ljui-done{display:none!important}

/* newsletter (796): one line, inline button; stacks when its column is narrow (footer widgets vary) */
.ljui-form.ljui-news{container-type:inline-size}
.ljui-form.ljui-news .ljui-row{grid-template-columns:1fr auto;gap:10px;align-items:start}
.ljui-form.ljui-news .ljui-f{margin:0}
.wpcf7 .ljui-form.ljui-news.ljui-news input[type=submit]{width:auto!important;height:48px!important}
@container (max-width:400px){.ljui-form.ljui-news .ljui-row{grid-template-columns:1fr}.wpcf7 .ljui-form.ljui-news.ljui-news input[type=submit]{width:100%!important}}

@media (max-width:560px){
  .ljui-form .ljui-row{grid-template-columns:1fr}
  .ljui-form.ljui-news .ljui-row{grid-template-columns:1fr}
}

/* =====================================================================================================================
   3. The phone field (intl-tel-input, self-hosted): flag and dial code inside our 48px field
   ===================================================================================================================== */
.ljui-form .iti{display:block;width:100%}
.wpcf7 .ljui-form.ljui-form.ljui-form .iti input[type=tel]{padding-left:var(--ljui-iti-pad,96px)!important}
.ljui-form .iti__country-container{padding:0 0 0 2px}
.ljui-form .iti__selected-country{border-radius:10px 0 0 10px;padding:0 6px 0 12px!important;font:500 16px/1 var(--ljui-font)!important;color:var(--ljui-ink)!important}
.ljui-form .iti__selected-country:hover,.ljui-form .iti__selected-country:focus-visible{background:var(--ljui-soft)!important}
.ljui-form .iti__selected-dial-code{margin-left:6px;font-variant-numeric:tabular-nums}
.iti__dropdown-content{border-radius:12px!important;border:1px solid #D9E1E5!important;box-shadow:0 18px 40px -20px rgba(0,57,85,.35)!important;font-family:'DM Sans',Arial,sans-serif}
.iti__search-input{height:44px!important;padding:0 12px!important;border:0!important;border-bottom:1px solid #D9E1E5!important;font:400 16px 'DM Sans',Arial,sans-serif!important}
.iti__country{padding:10px 12px!important;font-size:15px}
.iti__country.iti__highlight{background:#EEF4F7!important}

/* =====================================================================================================================
   4. "Your file is open": the full-screen page after a send
   ===================================================================================================================== */
html.ljui-locked,html.ljui-locked body{overflow:hidden!important}
.ljui-sheet{position:fixed;inset:0;z-index:2147483000;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:var(--ljui-text);
  -webkit-font-smoothing:antialiased;opacity:0;transition:opacity 220ms ease}
.ljui-sheet.is-in{opacity:1}
.ljui-sheet.is-out{opacity:0}
.ljui-sheet h2,.ljui-sheet p,.ljui-sheet blockquote,.ljui-sheet figure,.ljui-sheet figcaption{margin:0;padding:0;letter-spacing:0;text-transform:none;font-family:var(--ljui-font)}
.ljui-sheet button{font-family:var(--ljui-font)}
/* the theme styles every blockquote and button on the site; the page answers both */
.ljui-sheet blockquote{border:0!important;margin:0!important;padding:0!important;background:none!important;quotes:none;font-style:normal!important}
.ljui-sheet blockquote::before,.ljui-sheet blockquote::after{content:none!important}
.ljui-sheet .ljui-link{background:none!important;border:0!important;box-shadow:none!important;padding:6px 0!important;min-height:0!important;color:var(--ljui-muted)!important;font:500 15px/1.3 var(--ljui-font)!important;text-transform:none!important;letter-spacing:0!important}
.ljui-sheet .ljui-btn{background:var(--ljui-green)!important;color:#fff!important;border:0!important;box-shadow:none!important;font:700 16px/1 var(--ljui-font)!important;text-transform:none!important;letter-spacing:0!important}
.ljui-sheet .ljui-btn:hover{background:var(--ljui-green-d)!important}
.ljui-sheet .ljui-sheet__close{border:0!important;padding:0!important;min-height:0!important}
.ljui-sheet__close{position:fixed;top:16px;right:16px;z-index:3;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;
  background:rgba(0,43,65,.82);box-shadow:0 2px 10px rgba(0,0,0,.18);cursor:pointer;transition:background-color 160ms ease}
.ljui-sheet__close svg{width:18px;height:18px;stroke:#fff;stroke-width:2;stroke-linecap:round;fill:none}
.ljui-sheet__close:hover{background:#003955}
.ljui-sheet__close:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* the desk: LegalJini navy under one warm lamp, a leather blotter, the file on it */
.ljui-desk{position:relative;display:flex;align-items:flex-end;justify-content:center;height:380px;overflow:hidden;
  background:radial-gradient(60% 90% at 32% 8%,rgba(255,233,190,.20),rgba(255,233,190,0) 60%),linear-gradient(#00405F,#002B41)}
.ljui-desk__pad{position:relative;width:min(640px,94%);height:300px;margin-bottom:-40px;border-radius:14px 14px 0 0;
  background:linear-gradient(#123B52,#0E3247);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  outline:1px dashed rgba(255,255,255,.12);outline-offset:-9px}
.ljui-folder{position:absolute;left:50%;bottom:74px;width:420px;height:250px;margin-left:-210px}
.ljui-folder::after{content:'';position:absolute;left:6%;right:6%;bottom:-14px;height:22px;border-radius:50%;background:rgba(0,0,0,.35);filter:blur(10px);z-index:-1}
.ljui-folder__back{position:absolute;left:0;right:0;top:30px;bottom:0;border-radius:6px;background:linear-gradient(#D6B271,#CBA562)}
.ljui-folder__tab{position:absolute;left:22px;top:-28px;height:34px;width:250px;padding:6px 12px 0;border-radius:8px 8px 0 0;background:#D6B271}
.ljui-folder__label{display:block;height:22px;padding:0 10px;border-radius:2px;background:#FBF8F1;box-shadow:0 1px 0 rgba(0,0,0,.08);
  font:700 13.5px/22px var(--ljui-font);color:var(--ljui-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ljui-folder__paper{position:absolute;left:30px;right:30px;top:46px;height:170px;padding:14px 16px;border-radius:3px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.18)}
.ljui-folder__paper b{display:block;margin-bottom:10px;font:700 11px/1 var(--ljui-font);color:var(--ljui-ink)}
.ljui-folder__paper i{display:block;height:5px;margin:0 0 8px;border-radius:3px;background:#E4EAED}
.ljui-folder__paper i.short{width:55%}
.ljui-folder__front{position:absolute;left:0;right:0;bottom:0;height:168px;border-radius:5px 5px 6px 6px;
  background:linear-gradient(#ECD196,#E2C384);box-shadow:0 -1px 0 rgba(255,255,255,.5) inset,0 -6px 14px -10px rgba(0,0,0,.35);
  transform-origin:50% 100%;transform:perspective(700px) rotateX(9deg)}
/* the inward stamp: the rubber stamp every Indian office puts on what comes in */
.ljui-stamp{position:absolute;right:30px;top:30px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 14px 8px;
  border:2.5px solid #33449A;border-radius:6px;box-shadow:inset 0 0 0 2px #E6C78A,inset 0 0 0 3.5px #33449A;color:#33449A;
  transform:rotate(-7deg);opacity:.88;mix-blend-mode:multiply;text-align:center;font-family:var(--ljui-font)}
.ljui-stamp__firm{font:800 10.5px/1.1 var(--ljui-font);letter-spacing:.14em;text-transform:uppercase}
.ljui-stamp__word{font:800 17px/1.05 var(--ljui-font);letter-spacing:.12em;text-transform:uppercase}
.ljui-stamp__date{font:700 11.5px/1.2 var(--ljui-font);letter-spacing:.04em}
.ljui-stamp__ref{font:700 10.5px/1.2 var(--ljui-font);letter-spacing:.06em;font-variant-numeric:tabular-nums}

/* the letter */
.ljui-letter{position:relative;max-width:640px;margin:0 auto;padding:44px 24px 64px}
.ljui-letter h2{font:800 40px/1.08 var(--ljui-font)!important;letter-spacing:-.02em!important;color:var(--ljui-ink)!important;outline:none}
.ljui-letter__when{margin-top:16px!important;font-size:20px;line-height:1.5;color:var(--ljui-text)}
.ljui-letter__when strong{font-weight:800;color:var(--ljui-green)}
.ljui-letter__when strong.ljui-email{font-weight:600;color:var(--ljui-ink);overflow-wrap:anywhere}
.ljui-letter > p:not(.ljui-letter__when){margin-top:16px!important;font-size:17px;line-height:1.65}
.ljui-note-from{margin-top:32px;padding-top:24px;border-top:1px solid var(--ljui-line)}
.ljui-note-from p{font-size:17px;line-height:1.65}
.ljui-note-from__sig{margin-top:12px!important;display:flex;flex-direction:column}
.ljui-note-from__sig b{font-weight:700;color:var(--ljui-ink)}
.ljui-note-from__sig span{font-size:14.5px;color:var(--ljui-muted)}
.ljui-tbc{display:inline-block;margin-bottom:10px;padding:2px 8px;border:1px dashed #E2B33C;border-radius:4px;background:#FFF4D6;font:600 12.5px/1.5 var(--ljui-font);color:#6B4E00}
.ljui-sheet .ljui-proof{margin-top:32px!important;padding:24px;border-radius:14px;background:#F3F7F9}
.ljui-proof__lead{font:600 14px/1.3 var(--ljui-font);color:var(--ljui-muted)}
.ljui-proof__logos{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin:14px 0 18px}
.ljui-proof__logos img{display:block;height:26px;width:auto;max-width:120px;object-fit:contain;filter:grayscale(1);opacity:.75}
.ljui-proof blockquote{font:500 17px/1.55 var(--ljui-font);color:var(--ljui-ink)}
.ljui-proof figcaption{margin-top:8px!important;font-size:14px;color:var(--ljui-muted)}
.ljui-letter__foot{margin-top:32px;padding-top:22px;border-top:1px solid var(--ljui-line)}
.ljui-letter__ref{font-size:15px;line-height:1.5}
.ljui-letter__ref b{font-weight:700;color:var(--ljui-ink);letter-spacing:.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.ljui-letter__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:18px}
.ljui-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:0;border-radius:10px;background:var(--ljui-green);
  color:#fff;font:700 16px/1 var(--ljui-font);cursor:pointer;transition:background-color 160ms ease,transform 160ms var(--ljui-ease)}
.ljui-btn:hover{background:var(--ljui-green-d)}
.ljui-btn:active{transform:scale(.98)}
.ljui-btn:focus-visible,.ljui-link:focus-visible{outline:2px solid var(--ljui-blue);outline-offset:3px}
.ljui-link{padding:6px 0;border:0;background:none;font:500 15px/1.3 var(--ljui-font);color:var(--ljui-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ljui-link:hover{color:var(--ljui-ink)}

/* the one orchestrated moment: the file rises, the enquiry goes in, the label is written, the stamp comes down */
.ljui-sheet.is-in .ljui-folder{animation:ljui-rise 620ms var(--ljui-ease) 120ms both}
.ljui-sheet.is-in .ljui-folder__paper{animation:ljui-file 560ms cubic-bezier(.5,0,.2,1) 560ms both}
.ljui-sheet.is-in .ljui-folder__label{animation:ljui-write 520ms steps(18,end) 980ms both}
.ljui-sheet.is-in .ljui-stamp{animation:ljui-stamp 320ms cubic-bezier(.2,.9,.25,1.25) 1520ms both}
.ljui-sheet.is-in .ljui-folder__front{animation:ljui-jolt 260ms ease-out 1640ms}
.ljui-sheet.is-in .ljui-letter{animation:ljui-up 560ms var(--ljui-ease) 1700ms both}
@keyframes ljui-rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes ljui-file{from{transform:translateY(-120px)}to{transform:none}}
@keyframes ljui-write{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes ljui-stamp{from{opacity:0;transform:rotate(-12deg) scale(1.9)}to{opacity:.88;transform:rotate(-7deg) scale(1)}}
@keyframes ljui-jolt{0%{transform:perspective(700px) rotateX(9deg)}40%{transform:perspective(700px) rotateX(9deg) translateY(2px)}100%{transform:perspective(700px) rotateX(9deg)}}
@keyframes ljui-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* after the page closes: the form's place says it was sent */
.ljui-sent{padding:16px 18px;border-radius:12px;background:#EAF4EF;border:1px solid #C9E2D5;font-family:var(--ljui-font)}
.ljui-sent p{margin:0 0 6px!important;font-size:15.5px;line-height:1.5;color:var(--ljui-ink)}
.ljui-sent p b{font-weight:700}
.ljui-sent--news p{margin:0!important}
body.ljui-sent-page .ljs-stickybar{display:none!important}

@media (max-width:600px){
  .ljui-desk{height:290px}
  .ljui-desk__pad{height:228px}
  .ljui-folder{transform:scale(.78);transform-origin:50% 100%;bottom:52px}
  .ljui-sheet.is-in .ljui-folder{animation-name:ljui-rise-s}
  @keyframes ljui-rise-s{from{opacity:0;transform:translateY(60px) scale(.78)}to{opacity:1;transform:scale(.78)}}
  .ljui-letter{padding:32px 20px 56px}
  .ljui-letter h2{font-size:31px!important}
  .ljui-letter__when{font-size:18px}
  .ljui-letter > p:not(.ljui-letter__when),.ljui-note-from p{font-size:16px}
  .ljui-sheet .ljui-proof{padding:18px}
  .ljui-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .ljui-sheet,.ljui-sheet *{animation:none!important;transition:none!important}
  .ljui-mm *,.ljui-form *{transition:none!important}
  .wpcf7-form.submitting .ljui-form .ljui-send::after{animation:none}
}
