/* M3: approved company-pages spec; values from design/system/tokens.json. */
.elementor:has(.lp-sec) {
    display:flex;
    flex-direction:column;
    padding-block:48px;
    row-gap:48px;
    color:var(--lp-color-ink);
    background:var(--lp-color-cream);
    font-family:var(--lp-font-body);
    line-height:1.6;
}
.elementor .e-con.lp-sec {
    --lp-section-gutter:16px;
    --width:100%;
    --flex-direction:column;
    --container-widget-width:100%;
    --container-widget-flex-grow:0;
    --container-widget-align-self:stretch;
    width:100%;
    max-width:1200px;
    min-width:0;
    margin-inline:auto;
    padding:0 16px;
    flex-direction:column;
    gap:24px;
    overflow-wrap:anywhere;
}
.elementor .lp-sec > .e-con-inner {
    width:100%;
    max-width:none;
    min-width:0;
    padding:0;
    flex-direction:column;
    gap:24px;
}
.elementor .lp-sec .elementor-element { min-width:0; max-width:100%; }
.elementor .lp-sec .elementor-heading-title { color:var(--lp-color-ink); font-family:var(--lp-font-heading); line-height:1.15; }
.elementor .lp-sec h1.elementor-heading-title { font-size:var(--lp-fs-h1); }
.elementor .lp-sec h2.elementor-heading-title { font-size:var(--lp-fs-h2); }
.elementor .lp-sec h3 { font-size:var(--lp-fs-h3); line-height:1.15; }
.elementor .lp-sec p { margin:0; }
.elementor .lp-sec a { color:#C2255C; }
.elementor .lp-sec .elementor-button,
.lp-contact-form button[type="submit"] {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 24px;
    border:0;
    border-radius:14px;
    background:#C2255C;
    color:#FFFFFF;
    font:700 16px/1.5 var(--lp-font-body);
    white-space:normal;
}
.elementor .lp-sec .lp-btn--secondary .elementor-button { background:#FFE3EC; color:#C2255C; }
.lp-sec a:focus-visible,.lp-contact-form button:focus-visible { outline:2px solid #C2255C; outline-offset:3px; }
.lp-pillars,.lp-team-grid,.lp-facts { list-style:none; margin:0; padding:0; display:grid; gap:24px; }
.lp-pillars { grid-template-columns:minmax(0,1fr); }
.lp-pillars > li { background:#FFFFFF; padding:24px; border-radius:24px; box-shadow:0 2px 10px rgba(43,27,61,.08); }
.elementor .e-con.lp-sec.lp-sec--facts {
    background:var(--lp-color-cream-deep);
    max-width:none;
    padding-inline:max(var(--lp-section-gutter), calc((100% - 1200px) / 2 + var(--lp-section-gutter)));
    padding-block:48px;
}
.lp-fact__num { display:block; font:800 var(--lp-fs-h1)/1.15 var(--lp-font-heading); color:var(--lp-color-pink-deep); }
.lp-fact__label { font:700 16px/1.6 var(--lp-font-body); color:var(--lp-color-ink-soft); }
.lp-facts { text-align:center; }
.elementor .lp-sec--mission p { font-size:18px; max-width:60ch; }
.lp-sec--scope ul,.lp-sec--limits ul,.lp-sec--service ul { list-style:none; margin:0; padding:0; }
.lp-sec--scope li,.lp-sec--limits li,.lp-sec--service li { position:relative; padding-left:28px; margin-bottom:16px; }
.lp-sec--scope li::before,.lp-sec--service .elementor-widget-html:nth-last-child(2) li::before { content:'✓'; position:absolute; left:0; color:#2E9E6B; }
.lp-sec--limits li::before,.lp-sec--service .elementor-widget-html:last-child li::before { content:'−'; position:absolute; left:0; color:#5B4A6E; }
.lp-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
.lp-person { display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; min-width:0; }
.lp-person__name { overflow-wrap:anywhere; max-width:100%; line-height:1.4; }
.lp-person__title,.lp-sec--dept .elementor-widget-text-editor { color:#5B4A6E; }
.lp-initials { display:flex; align-items:center; justify-content:center; width:64px; height:64px; flex:none; border-radius:50%; font-size:24px; font-weight:700; }
.lp-dept--c1 .lp-initials { background:#FFE3EC; color:#C2255C; }
.lp-dept--c2 .lp-initials { background:#FFF1C9; color:#7A5300; }
.lp-dept--c3 .lp-initials { background:#DDF3E8; color:#1F7A50; }
.lp-dept--c4 .lp-initials { background:var(--lp-color-cream-deep); color:var(--lp-color-ink); }
.lp-contact-form,.lp-contact-success { box-sizing:border-box; width:100%; max-width:520px; margin-inline:auto; padding:24px; border-radius:24px; background:#FFFFFF; box-shadow:0 2px 10px rgba(43,27,61,.08); }
.lp-contact-field { margin-bottom:16px; }
.lp-contact-form label { display:block; font-size:14px; font-weight:700; margin-bottom:8px; color:var(--lp-color-ink); }
.lp-contact-form input:not([type="hidden"]),.lp-contact-form textarea {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:44px;
    border:1px solid #EADFCB;
    border-radius:14px;
    padding:10px 12px;
    background:#FFFFFF;
    color:var(--lp-color-ink);
    font:inherit;
}
.lp-contact-form textarea { min-height:120px; resize:vertical; }
.lp-contact-form input:focus-visible,.lp-contact-form textarea:focus-visible { border:2px solid #C2255C; outline:0; box-shadow:0 0 0 3px #FFE3EC; }
/* Match/exceed the input base and focus specificity; focus adds its shadow. */
.lp-contact-form input:not([type="hidden"])[aria-invalid="true"],.lp-contact-form textarea[aria-invalid="true"] { border:2px solid #C0262D; }
.lp-contact-error { color:#C0262D; font-size:14px; margin-top:8px !important; }
.lp-contact-error::before { content:'!'; display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border:1px solid currentColor; border-radius:50%; margin-right:8px; font-weight:700; }
.lp-contact-alert { border:2px solid #C0262D; border-radius:14px; color:#C0262D; padding:12px; margin-bottom:16px !important; }
.lp-contact-form[aria-busy="true"] button,.lp-contact-form button:disabled { background:#5B4A6E; color:#FFFFFF; cursor:wait; transform:none; }
.lp-contact-form button { width:100%; }
.elementor .lp-sec .lp-contact-form .lp-contact-privacy { font-size:14px; color:#5B4A6E; margin-top:16px; }
.lp-contact-success { background:#DDF3E8; }
.lp-contact-success::before { content:''; display:block; width:32px; height:32px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 16l8 9L29 6' fill='none' stroke='%232E9E6B' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/32px 32px no-repeat; }
.lp-contact-success h2 { color:#1F7A50; }
.lp-toc { display:flex; flex-wrap:wrap; gap:16px; }
.lp-toc a { display:inline-flex; align-items:center; min-height:44px; }
.elementor .lp-sec--privacy p { max-width:65ch; }
/* A local cover hides the right-edge shadow once the table reaches its end. */
.lp-table-scroll { overflow-x:auto; max-width:100%; min-width:0; background:linear-gradient(to left,var(--lp-color-cream) 30%,transparent) right/32px 100% no-repeat,linear-gradient(to left,rgba(43,27,61,.2),transparent) right/12px 100% no-repeat; background-attachment:local,scroll; }
.lp-table-scroll table { margin:0; }
body:has(.site-main .lp-table-scroll) { background:var(--lp-color-cream); }
.site-main:has(.lp-table-scroll) { box-sizing:border-box; width:100%; max-width:1200px; margin-inline:auto; padding:48px 16px; color:var(--lp-color-ink); background:var(--lp-color-cream); font:16px/1.6 var(--lp-font-body); }
.site-main:has(.lp-table-scroll) .page-header { text-align:left; }
.site-main:has(.lp-table-scroll) :is(h1,h2) { color:var(--lp-color-ink); font-family:var(--lp-font-heading); line-height:1.15; text-align:left; }
.site-main:has(.lp-table-scroll) h1 { font-size:var(--lp-fs-h1); }
.site-main:has(.lp-table-scroll) h2 { font-size:var(--lp-fs-h2); }
html.lp-js .lp-reveal { opacity:0; transform:translateY(24px); transition:opacity 500ms cubic-bezier(.2,.7,.2,1),transform 500ms cubic-bezier(.2,.7,.2,1); }
html.lp-js .lp-reveal.is-visible { opacity:1; transform:none; }
@media (min-width:768px) {
    .elementor:has(.lp-sec) { padding-block:96px; row-gap:96px; }
    .elementor .e-con.lp-sec { --lp-section-gutter:24px; padding:0 24px; }
    .elementor .lp-sec--hero > .e-con-inner { display:grid; grid-template-columns:max-content minmax(0,1fr); column-gap:16px; justify-content:start; }
    .elementor .lp-sec--hero > .e-con-inner > :not(.elementor-widget-button) { grid-column:1/-1; }
    .elementor .lp-sec--hero .elementor-widget-button { width:auto; }
    .elementor .lp-sec h1.elementor-heading-title { font-size:var(--lp-fs-h1); }
    .elementor .lp-sec h2.elementor-heading-title { font-size:var(--lp-fs-h2); }
    .lp-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .lp-team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .elementor .e-con.lp-sec.lp-sec--facts { padding-block:64px; }
    .lp-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .lp-contact-form button { width:auto; }
    .elementor:has(> .lp-sec--scope) { display:grid; grid-template-columns:repeat(2,minmax(0,600px)); justify-content:center; column-gap:0; }
    .elementor:has(> .lp-sec--scope) > .lp-sec { grid-column:1/-1; }
    .elementor:has(> .lp-sec--scope) > :is(.lp-sec--scope,.lp-sec--limits) { grid-column:auto; }
    .elementor .lp-sec--service > .e-con-inner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .lp-sec--service > .e-con-inner > :is(.elementor-widget-heading,.elementor-widget-text-editor) { grid-column:1/-1; }
    .site-main:has(.lp-table-scroll) { padding:96px 24px; }
    .site-main:has(.lp-table-scroll) h1 { font-size:var(--lp-fs-h1); }
    .site-main:has(.lp-table-scroll) h2 { font-size:var(--lp-fs-h2); }
}
@media (min-width:1280px) {
    .elementor .e-con.lp-sec { --lp-section-gutter:32px; padding-inline:32px; }
    .lp-pillars { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .lp-team-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .elementor:has(> .lp-sec--shipping-returns) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:96px 24px; box-sizing:border-box; width:100%; max-width:1200px; margin-inline:auto; padding-inline:32px; }
    .elementor:has(> .lp-sec--shipping-returns) > .lp-sec--intro { grid-column:1/-1; padding-inline:0; }
    .elementor .e-con:is(.lp-sec--shipping-returns,.lp-sec--privacy,.lp-sec--service) { background:#FFFFFF; border-radius:24px; padding:32px; }
    .elementor .lp-sec--service > .e-con-inner { display:flex; flex-direction:column; }
    .site-main:has(.lp-table-scroll) { padding-inline:32px; }
}
@media (prefers-reduced-motion:reduce) {
    html.lp-js .lp-reveal { opacity:1; transform:none; transition:none; transition-delay:0ms !important; }
}
