/* DNAxis — the three public pages (home 3359, About 6765, Contact 3952) restyled in place.
 * CSS ONLY: the Elementor pages are untouched, so every word of the outward-facing copy stays
 * exactly as it is today (Brad, 16 Sep 2026: nothing new on the outside). Type, colour,
 * buttons and spacing move into the Data Sheet system; the existing hero image stays.
 * Ninja, 16 September 2026.
 */

/* ---- home (3359) — the hero container is left exactly as Elementor lays it out (an earlier
   align-items rule here collapsed the carousel to its content width; removed) ---- */
.elementor-3359 .elementor-element-701960fa .tp-heading-title,
.elementor-3359 .elementor-element-701960fa h1,.elementor-3359 .elementor-element-701960fa h2,
.elementor-3359 .elementor-element-701960fa .tp-heading-title-wrapper *{
  font-family:var(--dsx-sans)!important;font-weight:600!important;letter-spacing:-.015em!important;line-height:1.1!important;text-transform:none!important;
}
.elementor-3359 .elementor-element-3aedac1d .elementor-icon-list-text{font-family:var(--dsx-mono)!important;font-size:13px!important;letter-spacing:.06em;text-transform:uppercase;font-weight:500!important}
.elementor-3359 .elementor-element-3aedac1d .elementor-icon-list-icon{display:none!important}
.elementor-3359 .elementor-widget-button .elementor-button{
  border-radius:0!important;font-family:var(--dsx-sans)!important;font-weight:600!important;font-size:14px!important;letter-spacing:.02em!important;
  padding:14px 20px!important;box-shadow:none!important;text-transform:none!important;
}
.elementor-3359 .elementor-element-ca86e17 .elementor-button,.elementor-3359 .elementor-element-c2d8a44 .elementor-button{background:var(--dsx-navy)!important;color:#fff!important;border:0!important}
.elementor-3359 .elementor-element-ca86e17 .elementor-button:hover,.elementor-3359 .elementor-element-c2d8a44 .elementor-button:hover{background:var(--dsx-cyan-ink)!important}
.elementor-3359 .elementor-element-b51dac7 .elementor-button,.elementor-3359 .elementor-element-d5f1b88 .elementor-button{background:rgba(255,255,255,.92)!important;color:var(--dsx-ink)!important;border:1px solid #fff!important}
.elementor-3359 .elementor-element-b51dac7 .elementor-button:hover,.elementor-3359 .elementor-element-d5f1b88 .elementor-button:hover{color:var(--dsx-cyan-ink)!important}
.elementor-3359 .elementor-widget-button .elementor-button-icon{display:none!important}
/* the hero keeps its own height (Brad, 4:02 AM: a full-screen hero is "way too big"); the band
   below is what fills the page. The slide container is left exactly as Elementor lays it out. */

/* the hero's own buttons (logged out: Request Clinic Access / Learn About Our Model; signed in:
   Order Products / Your Account) are hidden — Brad, 16 Sep 2026 4:27 AM: the band's box beneath the
   hero carries the same two actions and "it looks way cleaner". Container 349ead4 holds all four. */
.elementor-3359 .elementor-element-349ead4{display:none!important}

/* the "who we are" band beneath the hero — rendered by dnaxis-chrome.php. Every word on it already
   exists on the outside: the About page's paragraph (read live from page 6765) and the hero's own
   button labels and destinations. */
.dsx-homeband{background:var(--dsx-white);border-top:1px solid var(--dsx-rule);font-family:var(--dsx-sans);color:var(--dsx-text)}
.dsx-homeband-in{max-width:1240px;margin:0 auto;padding:64px 24px 72px;display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,4fr);gap:48px;align-items:start}
.dsx-homeband .dsx-eyebrow{font-family:var(--dsx-mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--dsx-cyan-ink);font-weight:500;margin:0 0 14px}
.dsx-homeband p.dsx-lede{font-family:var(--dsx-sans);font-size:22px;line-height:1.45;color:var(--dsx-ink);margin:0;max-width:30em;letter-spacing:-.005em;text-wrap:pretty}
.dsx-homeband .dsx-access{border:1px solid var(--dsx-rule);border-top:3px solid var(--dsx-cyan);background:var(--dsx-white);padding:18px 22px 22px}
.dsx-homeband .dsx-access .dsx-k{font-family:var(--dsx-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dsx-muted);margin:0 0 14px}
.dsx-homeband .dsx-access a{display:block;text-align:center;text-decoration:none;font-family:var(--dsx-sans);font-weight:600;font-size:14px;letter-spacing:.02em;padding:13px 18px;border-radius:0;line-height:1.3}
.dsx-homeband .dsx-access a.dsx-primary{background:var(--dsx-navy);color:#fff}
.dsx-homeband .dsx-access a.dsx-primary:hover,.dsx-homeband .dsx-access a.dsx-primary:focus-visible{background:var(--dsx-cyan-ink);color:#fff}
.dsx-homeband .dsx-access a.dsx-ghost{background:var(--dsx-white);color:var(--dsx-ink);border:1px solid var(--dsx-rule);margin-top:8px}
.dsx-homeband .dsx-access a.dsx-ghost:hover,.dsx-homeband .dsx-access a.dsx-ghost:focus-visible{color:var(--dsx-cyan-ink);border-color:var(--dsx-cyan-ink)}
@media (max-width:900px){.dsx-homeband-in{grid-template-columns:1fr;gap:28px;padding:44px 16px 52px}.dsx-homeband p.dsx-lede{font-size:19px}}

/* ---- about (6765) — the reading page in the Data Sheet system (Brad, 4:28 AM: "restyled in the new
   style"). Copy untouched; the image widget carries the new clinic-tray render. ---- */
.elementor-6765 .site-content,.elementor-6765 .ast-container{background:var(--dsx-paper)}
.elementor-6765 .elementor-element-19790f26{max-width:1240px!important;padding:56px 24px 72px!important;gap:56px!important;align-items:start!important}
.elementor-6765 .elementor-element-58129ff5{width:44%!important;max-width:44%!important;padding:0!important}
.elementor-6765 .elementor-element-48e28240{width:56%!important;max-width:56%!important;padding:0!important;border-top:2px solid var(--dsx-ink);padding-top:22px!important}
.elementor-6765 .elementor-element-48e28240{align-items:flex-start!important;justify-content:flex-start!important}
.elementor-6765 .elementor-element-48e28240>.elementor-element{align-self:flex-start!important;width:100%!important;max-width:100%!important}
.elementor-6765 .elementor-element-bf71993{--align:flex-start;width:auto!important}
.elementor-6765 .elementor-element-bf71993 .elementor-widget-container{text-align:left!important;display:block!important}
.elementor-6765 .elementor-element-bf71993 .elementor-button-wrapper{text-align:left!important;display:block!important}
.elementor-6765 .elementor-element-bf71993 .elementor-button{display:inline-block!important;width:auto!important;height:auto!important;line-height:1.3!important}
.elementor-6765 .elementor-element-1d458ba7{margin:0!important}
.elementor-6765 .elementor-element-1d458ba7 .elementor-widget-container{background:var(--dsx-white);border:1px solid var(--dsx-rule);padding:12px}
.elementor-6765 .elementor-element-1d458ba7 img{display:block;width:100%!important;height:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.elementor-6765 .elementor-element-1d458ba7 .elementor-widget-container::after{content:"DNAxis · Licensed professionals";display:block;text-align:center;font-family:var(--dsx-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dsx-muted);margin-top:10px}
.elementor-6765 .elementor-element-518112c1 .tp-heading-title,.elementor-6765 .elementor-element-518112c1 *{
  font-family:var(--dsx-mono)!important;font-size:12px!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:var(--dsx-cyan-ink)!important;font-weight:500!important;
}
.elementor-6765 .elementor-element-518112c1{margin-bottom:10px!important}
.elementor-6765 .elementor-element-bb92fdd .tp-heading-title,.elementor-6765 .elementor-element-bb92fdd *{
  font-family:var(--dsx-sans)!important;font-size:40px!important;font-weight:600!important;letter-spacing:-.015em!important;line-height:1.12!important;color:var(--dsx-ink)!important;text-transform:none!important;text-align:left!important;
}
.elementor-6765 .elementor-element-bb92fdd{margin-bottom:18px!important}
.elementor-6765 .elementor-element-be5826e{font-family:var(--dsx-sans)!important;font-size:18px!important;line-height:1.6!important;color:var(--dsx-text)!important;max-width:60ch;text-align:left!important}
.elementor-6765 .elementor-element-be5826e p{margin:0 0 14px}
.elementor-6765 .elementor-element-bf71993{margin-top:22px!important;text-align:left!important}
.elementor-6765 .elementor-element-bf71993 .elementor-button-wrapper{text-align:left!important;display:flex;justify-content:flex-start!important}
.elementor-6765 .elementor-element-bf71993 .elementor-widget-container{text-align:left!important}
.elementor-6765 .elementor-element-bf71993 .elementor-button{
  background:var(--dsx-navy)!important;color:#fff!important;border:0!important;border-radius:0!important;
  font-family:var(--dsx-sans)!important;font-weight:600!important;font-size:14px!important;letter-spacing:.02em!important;padding:14px 22px!important;box-shadow:none!important;text-transform:none!important;
}
.elementor-6765 .elementor-element-bf71993 .elementor-button:hover{background:var(--dsx-cyan-ink)!important}
.elementor-6765 .elementor-element-bf71993 .elementor-button-icon{display:none!important}
@media (max-width:900px){
  .elementor-6765 .elementor-element-19790f26{padding:36px 16px 52px!important;gap:28px!important}
  .elementor-6765 .elementor-element-58129ff5,.elementor-6765 .elementor-element-48e28240{width:100%!important;max-width:100%!important}
  .elementor-6765 .elementor-element-bb92fdd .tp-heading-title,.elementor-6765 .elementor-element-bb92fdd *{font-size:30px!important}
}

/* ---- contact (3952) — "Clinic Access Request" as a Data Sheet panel (Brad, 4:28 AM). Copy untouched. ---- */
.elementor-3952 .site-content,.elementor-3952 .ast-container{background:var(--dsx-paper)}
.elementor-3952 .elementor-element-9f9c91d{max-width:860px!important;padding:52px 24px 72px!important;gap:0!important}
.elementor-3952 .elementor-element-335924d{margin-bottom:22px!important}
.elementor-3952 .elementor-element-335924d .elementor-heading-title{
  font-family:var(--dsx-sans)!important;font-size:40px!important;font-weight:600!important;letter-spacing:-.015em!important;line-height:1.12!important;color:var(--dsx-ink)!important;text-transform:none!important;text-align:left!important;margin:0!important;
}
.elementor-3952 .elementor-element-335924d .elementor-heading-title::before{content:"CONTACT · CLINIC ACCESS";display:block;font-family:var(--dsx-mono);font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--dsx-cyan-ink);margin-bottom:12px}
.elementor-3952 .elementor-element-ee64b22>.elementor-widget-container{
  background:var(--dsx-white)!important;border:1px solid var(--dsx-rule)!important;border-top:3px solid var(--dsx-cyan)!important;border-radius:0!important;
  padding:26px 28px 28px!important;box-shadow:none!important;
}
.elementor-3952 .elementor-element-ee64b22 .elementor-form-fields-wrapper{gap:0!important}
/* the child theme wraps the form in a grey rounded card of its own; the panel above is the only frame */
.elementor-3952 .elementor-element-ee64b22 .elementor-form,.elementor-3952 .elementor-element-ee64b22 form{background:none!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
.elementor-3952 .elementor-element-ee64b22 .elementor-field-label{
  font-family:var(--dsx-mono)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--dsx-muted)!important;font-weight:500!important;margin-bottom:6px!important;
}
.elementor-3952 .elementor-element-ee64b22 .elementor-field-textual{
  border:1px solid var(--dsx-rule)!important;border-radius:0!important;background:var(--dsx-white)!important;padding:11px 12px!important;
  font-family:var(--dsx-sans)!important;font-size:15px!important;color:var(--dsx-ink)!important;box-shadow:none!important;
}
.elementor-3952 .elementor-element-ee64b22 .elementor-field-textual:focus{border-color:var(--dsx-cyan)!important;box-shadow:0 0 0 3px rgba(58,190,255,.18)!important}
.elementor-3952 .elementor-element-ee64b22 .elementor-field-group{margin-bottom:16px;padding-left:8px!important;padding-right:8px!important}
.elementor-3952 .elementor-element-ee64b22 .elementor-field-type-submit{margin-top:6px}
.elementor-3952 .elementor-element-ee64b22 .elementor-button{
  background:var(--dsx-navy)!important;color:#fff!important;border:0!important;border-radius:0!important;width:100%;
  font-family:var(--dsx-sans)!important;font-weight:600!important;font-size:15px!important;letter-spacing:.02em!important;padding:15px 20px!important;box-shadow:none!important;text-transform:none!important;
}
.elementor-3952 .elementor-element-ee64b22 .elementor-button:hover{background:var(--dsx-cyan-ink)!important}
.elementor-3952 .elementor-element-ee64b22 .elementor-message{font-family:var(--dsx-sans);border-radius:0}
@media (max-width:640px){.elementor-3952 .elementor-element-9f9c91d{padding:36px 16px 52px!important}.elementor-3952 .elementor-element-335924d .elementor-heading-title{font-size:30px!important}.elementor-3952 .elementor-element-ee64b22>.elementor-widget-container{padding:18px 16px 20px!important}}

/* the "Name" field: the child theme relabels it "Representative Name & Title" through a ::before and
   hides the native word with font-size:0; the label rule above un-hid it ("… & TITLE NAME"). The
   native text goes back to 0 and the ::before takes the label styling. */
.elementor-3952 .elementor-element-ee64b22 label[for="form-field-name"]{font-size:0!important;line-height:0!important;letter-spacing:0!important}
.elementor-3952 .elementor-element-ee64b22 label[for="form-field-name"]::before{display:block;font-family:var(--dsx-mono)!important;font-size:11px!important;line-height:1.6;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--dsx-muted)!important;font-weight:500!important}

/* ------------------------------------------------------------------------------------------
   Home hero (page 3359, container 213db31a) — phone and tablet legibility, 16 Sep 2026.

   The hero photograph is a lab corridor: dark glass on the left, a bright white counter with
   vials on the right. On desktop the headline sits left, over the dark side, under a navy
   gradient that clears to nothing on the right so the vials and the helix stay visible.

   On a phone the headline centres and the frame narrows, so that bright counter ends up
   directly behind white type and the words wash out. Elementor cannot express this: the
   responsive keys for a gradient OVERLAY are not emitted (only the desktop gradient reaches
   the generated CSS), which is why this lives here rather than in the page settings.

   So at tablet and below: pull the dark corridor side of the photograph into frame, and lay
   the navy veil top-to-bottom instead of left-to-right. Desktop is untouched.
   ------------------------------------------------------------------------------------------ */
@media (max-width:1024px){
  .elementor-3359 .elementor-element.elementor-element-213db31a:not(.elementor-motion-effects-element-type-background){
    background-position:left center!important;
  }
  .elementor-3359 .elementor-element.elementor-element-213db31a::before{
    background-image:linear-gradient(180deg, rgba(15,74,130,.92) 0%, rgba(15,74,130,.74) 55%, rgba(15,74,130,.62) 100%)!important;
    opacity:1!important;
  }
}
