.elementor-3206 .elementor-element.elementor-element-7811c71{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:52px 52px;--row-gap:52px;--column-gap:52px;--flex-wrap:wrap;--overflow:hidden;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-3206 .elementor-element.elementor-element-7811c71:not(.elementor-motion-effects-element-type-background), .elementor-3206 .elementor-element.elementor-element-7811c71 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );background-image:url("https://norwooddental.dreamengineproject.com/wp-content/uploads/Norwood-Dental-Background-V1.svg");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-3206 .elementor-element.elementor-element-c805429{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:18px 18px;--row-gap:18px;--column-gap:18px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3206 .elementor-element.elementor-element-bb459e3 .elementor-heading-title{font-family:var( --e-global-typography-ndeyebrow-font-family ), Sans-serif;font-size:var( --e-global-typography-ndeyebrow-font-size );font-weight:var( --e-global-typography-ndeyebrow-font-weight );text-transform:var( --e-global-typography-ndeyebrow-text-transform );line-height:var( --e-global-typography-ndeyebrow-line-height );letter-spacing:var( --e-global-typography-ndeyebrow-letter-spacing );word-spacing:var( --e-global-typography-ndeyebrow-word-spacing );color:var( --e-global-color-accent );}.elementor-3206 .elementor-element.elementor-element-f982c6f .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-ndwhite );}.elementor-3206 .elementor-element.elementor-element-886f946{font-family:var( --e-global-typography-ndlead-font-family ), Sans-serif;font-size:var( --e-global-typography-ndlead-font-size );font-weight:var( --e-global-typography-ndlead-font-weight );line-height:var( --e-global-typography-ndlead-line-height );letter-spacing:var( --e-global-typography-ndlead-letter-spacing );word-spacing:var( --e-global-typography-ndlead-word-spacing );color:var( --e-global-color-ndwhite78 );}.elementor-3206 .elementor-element.elementor-element-8a0f73e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3206 .elementor-element.elementor-element-f51340e{width:auto;max-width:auto;}.elementor-3206 .elementor-element.elementor-element-f51340e .elementor-heading-title{color:var( --e-global-color-ndwhite );}.elementor-3206 .elementor-element.elementor-element-44ada36{width:auto;max-width:auto;}.elementor-3206 .elementor-element.elementor-element-44ada36 .elementor-heading-title{color:var( --e-global-color-ndwhite );}.elementor-3206 .elementor-element.elementor-element-4d65084{width:auto;max-width:auto;}.elementor-3206 .elementor-element.elementor-element-4d65084 .elementor-heading-title{color:var( --e-global-color-ndwhite );}.elementor-3206 .elementor-element.elementor-element-bb974b1 .elementor-icon-wrapper{text-align:center;}.elementor-3206 .elementor-element.elementor-element-bb974b1.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-accent );color:var( --e-global-color-primary );}.elementor-3206 .elementor-element.elementor-element-bb974b1.elementor-view-framed .elementor-icon, .elementor-3206 .elementor-element.elementor-element-bb974b1.elementor-view-default .elementor-icon{color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );}.elementor-3206 .elementor-element.elementor-element-bb974b1.elementor-view-framed .elementor-icon, .elementor-3206 .elementor-element.elementor-element-bb974b1.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-accent );}.elementor-3206 .elementor-element.elementor-element-bb974b1.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-3206 .elementor-element.elementor-element-bb974b1.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-3206 .elementor-element.elementor-element-bb974b1 .elementor-icon{font-size:18px;}.elementor-3206 .elementor-element.elementor-element-bb974b1 .elementor-icon svg{height:18px;}.elementor-3206 .elementor-element.elementor-element-8a40a66{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3206 .elementor-element.elementor-element-e44417a > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-3206 .elementor-element.elementor-element-e44417a img{width:100%;border-radius:28px 28px 28px 28px;box-shadow:0px 12px 40px 0px rgba(2,29,59,0.18);}.elementor-3206 .elementor-element.elementor-element-57bb131{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:56px 56px;--row-gap:56px;--column-gap:56px;--flex-wrap:wrap;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-3206 .elementor-element.elementor-element-57bb131:not(.elementor-motion-effects-element-type-background), .elementor-3206 .elementor-element.elementor-element-57bb131 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-ndsmoke );}.elementor-3206 .elementor-element.elementor-element-1378cdd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:18px 18px;--row-gap:18px;--column-gap:18px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3206 .elementor-element.elementor-element-9b21006 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );color:var( --e-global-color-primary );}.elementor-3206 .elementor-element.elementor-element-5ce90d3{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );color:var( --e-global-color-text );}.elementor-3206 .elementor-element.elementor-element-6d1d443 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-3206 .elementor-element.elementor-element-6d1d443 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-3206 .elementor-element.elementor-element-6d1d443{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-3206 .elementor-element.elementor-element-6d1d443 .elementor-icon-list-text{color:var( --e-global-color-text );transition:color 0.3s;}.elementor-3206 .elementor-element.elementor-element-dbf49c0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:28px 28px 28px 28px;box-shadow:0px 12px 40px 0px rgba(2,29,59,0.18);--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-3206 .elementor-element.elementor-element-dbf49c0:not(.elementor-motion-effects-element-type-background), .elementor-3206 .elementor-element.elementor-element-dbf49c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-ndwhite );}.elementor-3206 .elementor-element.elementor-element-a0e6825{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--overflow:hidden;--padding-top:50px;--padding-bottom:50px;--padding-left:100px;--padding-right:100px;}.elementor-3206 .elementor-element.elementor-element-a0e6825:not(.elementor-motion-effects-element-type-background), .elementor-3206 .elementor-element.elementor-element-a0e6825 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-ndwhite );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-3206 .elementor-element.elementor-element-7811c71{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-3206 .elementor-element.elementor-element-bb459e3 .elementor-heading-title{font-size:var( --e-global-typography-ndeyebrow-font-size );line-height:var( --e-global-typography-ndeyebrow-line-height );letter-spacing:var( --e-global-typography-ndeyebrow-letter-spacing );word-spacing:var( --e-global-typography-ndeyebrow-word-spacing );}.elementor-3206 .elementor-element.elementor-element-f982c6f .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-3206 .elementor-element.elementor-element-886f946{font-size:var( --e-global-typography-ndlead-font-size );line-height:var( --e-global-typography-ndlead-line-height );letter-spacing:var( --e-global-typography-ndlead-letter-spacing );word-spacing:var( --e-global-typography-ndlead-word-spacing );}.elementor-3206 .elementor-element.elementor-element-e44417a > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-3206 .elementor-element.elementor-element-e44417a img{border-radius:28px 28px 28px 28px;}.elementor-3206 .elementor-element.elementor-element-57bb131{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-3206 .elementor-element.elementor-element-9b21006 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-3206 .elementor-element.elementor-element-5ce90d3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-3206 .elementor-element.elementor-element-dbf49c0{--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-3206 .elementor-element.elementor-element-a0e6825{--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}}@media(max-width:767px){.elementor-3206 .elementor-element.elementor-element-7811c71{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:50px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-3206 .elementor-element.elementor-element-c805429{--width:100%;}.elementor-3206 .elementor-element.elementor-element-bb459e3 .elementor-heading-title{font-size:var( --e-global-typography-ndeyebrow-font-size );line-height:var( --e-global-typography-ndeyebrow-line-height );letter-spacing:var( --e-global-typography-ndeyebrow-letter-spacing );word-spacing:var( --e-global-typography-ndeyebrow-word-spacing );}.elementor-3206 .elementor-element.elementor-element-f982c6f .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-3206 .elementor-element.elementor-element-886f946{font-size:var( --e-global-typography-ndlead-font-size );line-height:var( --e-global-typography-ndlead-line-height );letter-spacing:var( --e-global-typography-ndlead-letter-spacing );word-spacing:var( --e-global-typography-ndlead-word-spacing );}.elementor-3206 .elementor-element.elementor-element-8a40a66{--width:100%;}.elementor-3206 .elementor-element.elementor-element-e44417a > .elementor-widget-container{margin:0px -15px -50px -15px;}.elementor-3206 .elementor-element.elementor-element-e44417a img{border-radius:0px 0px 0px 0px;}.elementor-3206 .elementor-element.elementor-element-57bb131{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:50px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-3206 .elementor-element.elementor-element-1378cdd{--width:100%;}.elementor-3206 .elementor-element.elementor-element-9b21006 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-3206 .elementor-element.elementor-element-5ce90d3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-3206 .elementor-element.elementor-element-dbf49c0{--width:100%;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-3206 .elementor-element.elementor-element-a0e6825{--padding-top:50px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}}@media(min-width:768px){.elementor-3206 .elementor-element.elementor-element-c805429{--width:49%;}.elementor-3206 .elementor-element.elementor-element-8a40a66{--width:45%;}.elementor-3206 .elementor-element.elementor-element-1378cdd{--width:45%;}.elementor-3206 .elementor-element.elementor-element-dbf49c0{--width:49%;}}@media(max-width:1024px) and (min-width:768px){.elementor-3206 .elementor-element.elementor-element-c805429{--width:100%;}.elementor-3206 .elementor-element.elementor-element-8a40a66{--width:100%;}.elementor-3206 .elementor-element.elementor-element-1378cdd{--width:100%;}.elementor-3206 .elementor-element.elementor-element-dbf49c0{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-dbf49c0 */.elementor-3206 .elementor-element.elementor-element-dbf49c0 { scroll-margin-top: 90px; }
@media (max-width: 767px) {
  .elementor-3206 .elementor-element.elementor-element-dbf49c0 input[type=text], .elementor-3206 .elementor-element.elementor-element-dbf49c0 input[type=tel], .elementor-3206 .elementor-element.elementor-element-dbf49c0 input[type=email], .elementor-3206 .elementor-element.elementor-element-dbf49c0 input[type=number], .elementor-3206 .elementor-element.elementor-element-dbf49c0 textarea, .elementor-3206 .elementor-element.elementor-element-dbf49c0 select { font-size: 16px !important; }
}/* End custom CSS */
/* Start custom CSS *//* ==========================================================================
   Norwood Dental — Design Your Experience (post 3206)
   Page CSS v2 = page body (v1.2) + Gravity Form 8 (.dye-form) + confirmation.
   Source of truth: /home/claude/norwood-dye/page-css.css -> page custom_css
   Every value that has a kit global uses var(--e-global-*).
   Literals only for tokens listed "page-CSS literal" in design-tokens.md.
   ========================================================================== */

/* --- Page-scoped design tokens (no kit global exists for these) ---------- */
.elementor-3206{
  --dye-pb80:#14365A;
  --dye-pac10:#F0F7F9;
  --dye-pac20:#E0EFF2;
  --dye-grey70:#BFC2C5;
  --dye-grey90:#E8E8E8;
  --dye-shadow-lg:0 4px 25px rgba(0,0,0,.12);
  --dye-shadow-xl:0 12px 40px rgba(2,29,59,.18);
  --dye-shadow-cta:0 8px 20px rgba(174,217,57,.35);
}

/* ==========================================================================
   S1 — Angular wedge strip
   ========================================================================== */
.nd-strip{background:var(--dye-pb80);align-items:stretch}
.nd-strip,
.nd-strip > .e-con-inner{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:0;height:100%}
/* Empty containers collapse to 0 without an explicit min-height. */
.nd-wedge-a,.nd-wedge-b,.nd-wedge-c{min-height:26px}
.nd-strip .nd-wedge-a,.nd-strip .nd-wedge-b,.nd-strip .nd-wedge-c{height:100%;align-self:stretch}
.nd-strip .nd-wedge-a{--width:auto;flex:1 1 auto;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
.nd-strip .nd-wedge-b{--width:110px;width:110px;flex:0 0 110px;margin-left:-16px;clip-path:polygon(24% 0,100% 0,76% 100%,0 100%)}
.nd-strip .nd-wedge-c{--width:80px;width:80px;flex:0 0 80px;margin-left:-12px;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}
@media (max-width:1024px){.nd-wedge-a,.nd-wedge-b,.nd-wedge-c{min-height:20px}}

/* ==========================================================================
   S2 — Hero
   ========================================================================== */
.nd-hero-lead{max-width:100%}
.nd-badge,
.e-con > .elementor-widget.nd-badge{--container-widget-width:auto;--container-widget-flex-grow:0;width:auto;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--e-global-color-ndborderdark);border-radius:999px;font-family:var(--e-global-typography-ndbutton-font-family),"Poppins",sans-serif;font-weight:600;font-size:12.5px;line-height:1.2}
.nd-badge::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--e-global-color-accent)}
.nd-badge .elementor-widget-container{display:inline-flex;align-items:center}
.nd-badge .elementor-heading-title{font-family:inherit;font-weight:inherit;font-size:inherit;line-height:inherit}

/* ==========================================================================
   S3 — Lime marquee ticker
   ========================================================================== */
.nd-marq{overflow:hidden}
.nd-marq > .e-con-inner{flex-wrap:nowrap;width:100%}
.nd-marq-track{--width:max-content;width:max-content;flex:0 0 auto;animation:nd-marq 28s linear infinite;will-change:transform}
.nd-marq-track,
.nd-marq-track > .e-con-inner{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:40px;width:max-content}
.nd-marq-run,
.e-con > .elementor-widget.nd-marq-run{--container-widget-width:auto;--container-widget-flex-grow:0;width:auto;flex:0 0 auto;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;font-family:var(--e-global-typography-ndbutton-font-family),"Poppins",sans-serif;font-weight:700;font-size:14px}
.nd-marq-run .elementor-heading-title{white-space:nowrap;font-family:inherit;font-weight:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit}
@keyframes nd-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.nd-marq-track{animation:none}}

/* ==========================================================================
   S4 — Intro column
   ========================================================================== */
.nd-intro-body{max-width:420px}
.nd-checks .elementor-icon-list-items{display:flex;flex-direction:column;gap:13px}
.nd-checks .elementor-icon-list-item{display:flex;align-items:flex-start;gap:13px;margin:0}
.nd-checks .elementor-icon-list-item:not(:last-child)::after{display:none}
.nd-checks .elementor-icon-list-icon{flex:none;width:22px;height:22px;border-radius:50%;background:var(--e-global-color-accent);display:flex;align-items:center;justify-content:center;margin-top:1px;padding:0}
.nd-checks .elementor-icon-list-icon i,
.nd-checks .elementor-icon-list-icon svg{color:var(--e-global-color-primary);fill:var(--e-global-color-primary);font-size:12px;width:12px;height:12px;line-height:1}
.nd-checks .elementor-icon-list-text{padding-left:0;color:var(--e-global-color-text)}
.nd-checks .elementor-icon-list-text strong{color:var(--e-global-color-primary);font-weight:700}
.nd-quote-card{max-width:420px}
.nd-quote-card .elementor-widget-icon,
.e-con.nd-quote-card > .elementor-widget-icon{--container-widget-width:auto;--container-widget-flex-grow:0;width:auto;flex:0 0 auto;line-height:0}
.nd-quote-card .elementor-widget-icon .elementor-icon svg,
.nd-quote-card .elementor-widget-icon .elementor-icon img{width:34px;height:34px;display:block}
.nd-quote-card .elementor-widget-text-editor,
.e-con.nd-quote-card > .elementor-widget-text-editor{flex:1 1 auto;min-width:0}
.nd-quote-card p{margin:0}
.nd-quote-card .nd-quote-attr{display:inline-block;color:var(--e-global-color-ndmuted);font-size:12.5px}

/* ==========================================================================
   GRAVITY FORM 8 — "Design Your Experience" (.dye-form)
   Wrapper renders as gravity-theme / gform-theme--no-framework (verified live).
   Selectors that collide with GF's own gravity-theme rules use the
   `.dye-form_wrapper form.dye-form` prefix to outrank them.
   ========================================================================== */
.dye-form_wrapper{
  --gf-ctrl-radius:16px;
  --gf-ctrl-border-color:var(--dye-grey90);
  --gf-ctrl-btn-radius:999px;
  margin:0;
}
.dye-form_wrapper form.dye-form .gform_fields{row-gap:16px}
.dye-form_wrapper form.dye-form .gfield_label,
.dye-form_wrapper form.dye-form legend.gfield_label{
  font-family:var(--e-global-typography-ndbutton-font-family),"Poppins",sans-serif;
  font-weight:600;font-size:13px;line-height:1.35;
  color:var(--e-global-color-primary);margin-bottom:7px;
}
/* Required indicator. Form 8 sets requiredIndicator:"asterisk" natively, so GF
   emits its own "*" and no "(Required)" text — we only colour it. GF nests two
   .gfield_required spans (outer wrapper + inner .gfield_required_asterisk), so
   the gap is applied to the outer one only, or it would double. */
.dye-form_wrapper form.dye-form .gfield_required{
  color:var(--e-global-color-secondary);
  font-size:13px;
  line-height:1;
}
.dye-form_wrapper form.dye-form label > .gfield_required,
.dye-form_wrapper form.dye-form legend > .gfield_required{
  margin-left:2px;
}
/* Asterisk mode also prints a '"*" indicates required fields' legend above the
   form. The design has no such line. Screen-reader-only rather than
   display:none so assistive tech keeps the explanation. */
.dye-form_wrapper .gform_required_legend{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.dye-form_wrapper .gform_heading{margin:0;padding:0}
.dye-form_wrapper form.dye-form .gfield_description{
  font-family:var(--e-global-typography-text-font-family),"Poppins",sans-serif;
  font-size:12px;line-height:1.45;color:var(--e-global-color-ndmuted);padding-top:6px;
}

/* --- Inputs: kit ships 12px radius, design calls for 16px --------------- */
.dye-form_wrapper form.dye-form input[type="text"],
.dye-form_wrapper form.dye-form input[type="email"],
.dye-form_wrapper form.dye-form input[type="tel"],
.dye-form_wrapper form.dye-form input[type="number"],
.dye-form_wrapper form.dye-form select,
.dye-form_wrapper form.dye-form textarea{
  background:var(--e-global-color-ndwhite)!important;
  border:1.5px solid var(--dye-grey90)!important;
  border-radius:16px!important;
  padding:13px 15px!important;
  font-family:var(--e-global-typography-text-font-family),"Poppins",sans-serif!important;
  font-size:15px!important;
  color:var(--e-global-color-primary)!important;
  box-shadow:none!important;
}
.dye-form_wrapper form.dye-form input[type="text"]:focus,
.dye-form_wrapper form.dye-form input[type="email"]:focus,
.dye-form_wrapper form.dye-form input[type="tel"]:focus,
.dye-form_wrapper form.dye-form input[type="number"]:focus,
.dye-form_wrapper form.dye-form select:focus,
.dye-form_wrapper form.dye-form textarea:focus{
  border-color:var(--e-global-color-secondary)!important;
  border-width:2px!important;
  outline:2px solid var(--e-global-color-ndpacific)!important;
  outline-offset:1px;
  box-shadow:none!important;
}
.dye-form_wrapper form.dye-form textarea{min-height:120px}

/* --- Shared choice mechanics (pills / cards / tiles) -------------------- */
.dye-form .dye-pills .gchoice,
.dye-form .dye-cards .gchoice,
.dye-form .dye-tiles .gchoice{position:relative;margin:0}
.dye-form .dye-pills .gchoice input[type="radio"],
.dye-form .dye-pills .gchoice input[type="checkbox"],
.dye-form .dye-cards .gchoice input[type="radio"],
.dye-form .dye-cards .gchoice input[type="checkbox"],
.dye-form .dye-tiles .gchoice input[type="radio"],
.dye-form .dye-tiles .gchoice input[type="checkbox"]{
  position:absolute;top:0;left:0;width:100%;height:100%;
  opacity:0;margin:0;cursor:pointer;
}
.dye-form .dye-pills .gchoice label,
.dye-form .dye-cards .gchoice label,
.dye-form .dye-tiles .gchoice label{
  display:block;margin:0;cursor:pointer;
  font-family:var(--e-global-typography-ndbutton-font-family),"Poppins",sans-serif;
  background:var(--e-global-color-ndwhite);
  border:1.5px solid var(--dye-grey90);
  color:var(--e-global-color-primary);
  transition:border-color .18s ease,background-color .18s ease;
}
.dye-form .dye-pills .gchoice:has(input:focus-visible) label,
.dye-form .dye-cards .gchoice:has(input:focus-visible) label,
.dye-form .dye-tiles .gchoice:has(input:focus-visible) label{
  outline:2px solid var(--e-global-color-ndpacific);outline-offset:2px;
}

/* --- Pills -------------------------------------------------------------- */
.dye-form .dye-pills .gfield_radio,
.dye-form .dye-pills .gfield_checkbox{display:flex;flex-wrap:wrap;gap:8px}
.dye-form .dye-pills .gchoice label{padding:9px 15px;border-radius:999px;font-weight:600;font-size:13px}
.dye-form .dye-pills .gchoice:has(input:checked) label{border-width:2px;border-color:var(--e-global-color-secondary);background:var(--dye-pac10);padding:8.5px 14.5px}
/* GF "other" free-text input is a SIBLING of the radio + label inside the same
   .gchoice (verified live). Style it as the design's dashed pill, and keep it
   hidden until its own radio is checked. The :not(:has(radio:checked)) form is
   deliberate: GF rewrites the radio's value to the typed text, so a
   [value="gf_other_choice"] body.elementor-page-3206 would stop matching once the user types.
   position:relative + z-index lifts it above the .gchoice-covering radio
   overlay so it can actually be clicked and focused. */
.dye-form_wrapper form.dye-form input.gchoice_other_control{
  position:relative!important;z-index:2;
  opacity:1!important;width:auto!important;height:auto!important;
  border:1.5px dashed var(--dye-grey70)!important;
  border-radius:999px!important;
  background:var(--e-global-color-ndwhite)!important;
  padding:9px 15px!important;
  font-family:var(--e-global-typography-ndbutton-font-family),"Poppins",sans-serif!important;
  font-size:13px!important;font-weight:600!important;
  color:var(--e-global-color-ndmuted)!important;
  margin-left:6px;
}
.dye-form_wrapper form.dye-form .gchoice:not(:has(input[type="radio"]:checked)) > input.gchoice_other_control{
  display:none;
}

/* --- Cards -------------------------------------------------------------- */
.dye-form .dye-cards .gfield_radio,
.dye-form .dye-cards .gfield_checkbox{display:flex;flex-direction:column;gap:9px}
.dye-form .dye-cards.dye-grid2 .gfield_radio,
.dye-form .dye-cards.dye-grid2 .gfield_checkbox{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.dye-form .dye-cards .gchoice label{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:13px 15px;border-radius:16px;font-weight:700;font-size:13.5px;line-height:1.35;
}
.dye-form .dye-cards.dye-grid2 .gchoice label{justify-content:center;text-align:center;padding:13px 10px;font-size:13px}
.dye-form .dye-cards .gchoice:has(input:checked) label{border-width:2px;border-color:var(--e-global-color-secondary);background:var(--dye-pac10);padding:12.5px 14.5px}
.dye-form .dye-cards.dye-grid2 .gchoice:has(input:checked) label{padding:12.5px 9.5px}

/* Radio circle indicator on STACKED card rows — Reason for visit ONLY.
   :has(input[type="radio"]) keeps the .dye-comfort CHECKBOX rows on their
   native boxes (the design uses a real checkbox there, not a circle).
   :not(.dye-loc) keeps the location rows clean: the design shows them as
   name-left / address-right with no indicator. Strict design parity. */
.dye-form_wrapper form.dye-form .dye-cards.dye-stack:not(.dye-loc) .gchoice:has(input[type="radio"]) label{
  justify-content:flex-start;
  gap:12px;
}
.dye-form_wrapper form.dye-form .dye-cards.dye-stack:not(.dye-loc) .gchoice:has(input[type="radio"]) label::before{
  content:"";
  flex:none;
  box-sizing:border-box;
  width:18px;height:18px;
  border-radius:50%;
  background:var(--e-global-color-ndwhite);
  border:1.5px solid var(--dye-grey70);
  transition:border .18s ease;
}
.dye-form_wrapper form.dye-form .dye-cards.dye-stack:not(.dye-loc) .gchoice:has(input[type="radio"]:checked) label::before{
  border:5px solid var(--e-global-color-accent);
}

/* Location sublabels — mobile only. No circle on these rows, so the address is
   a clean unindented second line under the clinic name. */
@media (max-width:700px){
  .dye-form .dye-loc .gchoice label{flex-direction:column;align-items:flex-start;gap:3px}
  .dye-form .dye-loc .gchoice:nth-child(1) label::after{content:"11660 95 St"}
  .dye-form .dye-loc .gchoice:nth-child(2) label::after{content:"11148 124th Street, 2nd Floor"}
  .dye-form .dye-loc .gchoice label::after{font-weight:400;font-size:12px;color:var(--e-global-color-ndmuted)}
}

/* Comfort sublabels — all breakpoints */
.dye-form .dye-comfort .gchoice label{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px}
.dye-form .dye-comfort .gchoice label::after{font-weight:400;font-size:12px;line-height:1.4;color:var(--e-global-color-ndmuted)}
.dye-form .dye-comfort .gchoice:nth-child(1) label::after{content:"Handed to you at the end"}
.dye-form .dye-comfort .gchoice:nth-child(2) label::after{content:"Or the weighted blanket"}
.dye-form .dye-comfort .gchoice:nth-child(3) label::after{content:"The light is bright, we know"}
.dye-form .dye-comfort .gchoice:nth-child(6) label::after{content:"Water or tea"}

/* --- Tiles -------------------------------------------------------------- */
.dye-form .dye-tiles .gfield_radio{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.dye-form .dye-tiles .gchoice label{padding:13px 10px;border-radius:16px;text-align:center;font-weight:700;font-size:13px}
.dye-form .dye-tiles .gchoice:has(input:checked) label{background:var(--e-global-color-accent);border-color:var(--e-global-color-accent);color:var(--e-global-color-primary)}

/* --- Scale rows (fields 18/19/20) + nerves anchors ----------------------
   Five equal pills in a single non-wrapping row. */
.dye-form .dye-scale .gfield_radio{flex-wrap:nowrap;gap:7px}
.dye-form .dye-scale .gchoice{flex:1 1 0;min-width:0}
.dye-form .dye-scale .gchoice label{padding:9px 6px;text-align:center;font-size:12.5px}
.dye-form .dye-scale .gchoice:has(input:checked) label{padding:8.5px 5.5px}

.dye-form .dye-nerves .ginput_container{position:relative;padding-bottom:20px}
.dye-form .dye-nerves .ginput_container::before,
.dye-form .dye-nerves .ginput_container::after{
  position:absolute;bottom:0;font-size:11.5px;color:var(--e-global-color-ndmuted);
}
.dye-form .dye-nerves .ginput_container::before{content:"Totally fine";left:0}
.dye-form .dye-nerves .ginput_container::after{content:"Dreading it";right:0}

/* --- Step heads, progress bar, titles ----------------------------------- */
.dye-form .dye-step-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.dye-form .dye-step-label,
.dye-form .dye-eyebrow{
  font-family:var(--e-global-typography-ndbutton-font-family),"Poppins",sans-serif;
  font-weight:700;font-size:11px;letter-spacing:.25em;text-transform:uppercase;
  color:var(--e-global-color-secondary);
}
.dye-form .dye-eyebrow{display:block;margin-bottom:10px}
.dye-form .dye-step-time{font-size:11.5px;color:var(--e-global-color-ndmuted)}
.dye-form .dye-step-bar{display:flex;gap:5px;margin-bottom:18px}
.dye-form .dye-step-bar span{flex:1;height:5px;border-radius:99px;background:var(--dye-grey90)}
.dye-form .dye-step-bar span.on{background:var(--e-global-color-accent)}
.dye-form .dye-step-title{
  font-family:var(--e-global-typography-secondary-font-family),"Filosofia",serif;
  font-weight:700;font-size:28px;line-height:1.12;letter-spacing:-.03em;
  color:var(--e-global-color-primary);margin:0 0 6px;
}
.dye-form .dye-step-sub{
  font-family:var(--e-global-typography-text-font-family),"Poppins",sans-serif;
  font-size:14px;line-height:1.55;color:var(--e-global-color-ndmuted);margin:0 0 20px;
}
.dye-form .dye-eyebrow-label .gfield_label{
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--e-global-color-secondary);
}
/* "Anything specific?" tucks under the streaming tiles, label visually hidden */
.dye-form .dye-merge-up{margin-top:-6px}
.dye-form .dye-merge-up .gfield_label{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

/* --- Info box + reassurance note ---------------------------------------- */
.dye-form .dye-info{display:flex;align-items:flex-start;gap:12px;background:var(--dye-pac10);border-radius:16px;padding:14px 16px}
.dye-form .dye-info img{flex:none;width:26px;height:26px;display:block}
.dye-form .dye-info p{margin:0;font-size:13px;line-height:1.5;color:var(--e-global-color-primary)}
.dye-form .dye-info strong{font-weight:700;color:var(--e-global-color-primary)}
.dye-form .dye-reassure{margin:0;background:var(--dye-pac10);border-radius:16px;padding:11px 13px;font-size:13px;line-height:1.5;color:var(--e-global-color-primary)}

/* --- Buttons ------------------------------------------------------------ */
.dye-form_wrapper form.dye-form .gform_page_footer,
.dye-form_wrapper form.dye-form .gform_footer{
  display:flex;flex-direction:column-reverse;gap:6px;margin-top:10px;padding:0;border:0;
}
.dye-form_wrapper form.dye-form .gform_next_button,
.dye-form_wrapper form.dye-form input[type="submit"]:not(.gform_previous_button),
.dye-form_wrapper form.dye-form .gform_button{
  width:100%!important;
  background:var(--e-global-color-accent)!important;
  color:var(--e-global-color-primary)!important;
  font-family:var(--e-global-typography-ndbutton-font-family),"Poppins",sans-serif!important;
  font-weight:600!important;font-size:15px!important;
  border:none!important;border-radius:999px!important;
  padding:14px 36px!important;cursor:pointer;
  box-shadow:var(--dye-shadow-cta);
  transition:background-color .2s ease,transform .2s ease;
}
.dye-form_wrapper form.dye-form .gform_next_button:hover,
.dye-form_wrapper form.dye-form input[type="submit"]:not(.gform_previous_button):hover,
.dye-form_wrapper form.dye-form .gform_button:hover{
  background:var(--e-global-color-ndlimehov)!important;transform:translateY(-1px);
}
.dye-form_wrapper form.dye-form .gform_previous_button{
  width:100%!important;
  background:none!important;background-color:transparent!important;
  color:var(--e-global-color-secondary)!important;
  font-family:var(--e-global-typography-ndbutton-font-family),"Poppins",sans-serif!important;
  font-weight:600!important;font-size:13px!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:10px 0!important;text-align:center;transform:none!important;
}
.dye-form_wrapper form.dye-form .gform_previous_button:hover{
  color:var(--e-global-color-ndpacifichov)!important;background:none!important;
}
/* Closing microcopy under the submit button on the last page only.
   order:-1 inside column-reverse places it visually last. */
.dye-form_wrapper form.dye-form .gform_page:last-of-type .gform_page_footer::after{
  content:"We'll call you back to lock in a time. Open 7 days, evenings and weekends.";
  order:-1;display:block;text-align:center;margin-top:4px;
  font-family:var(--e-global-typography-text-font-family),"Poppins",sans-serif;
  font-size:12px;line-height:1.5;color:var(--e-global-color-ndmuted);
}

/* --- Review card (page 5) ----------------------------------------------- */
.dye-form .dye-review-card{background:var(--e-global-color-ndwhite);border-radius:28px;box-shadow:var(--dye-shadow-lg);overflow:hidden}
.dye-form .dye-review-head{position:relative;background:var(--e-global-color-primary);padding:22px 18px 16px}
.dye-form .dye-review-kicker{margin:0 0 4px;color:var(--e-global-color-accent);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.dye-form .dye-review-title{margin:0;font-family:var(--e-global-typography-secondary-font-family),"Filosofia",serif;font-size:19px;line-height:1.2;color:var(--e-global-color-ndwhite)}
.dye-form .dye-review-rows{padding:4px 18px 8px}
.dye-form .dye-review-rows > div{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--dye-grey90)}
.dye-form .dye-review-rows > div:last-child{border-bottom:0}
.dye-form .dye-review-rows > div > span:first-child{flex:none;color:var(--e-global-color-ndmuted);font-size:12.5px;font-weight:600}
.dye-form .dye-review-rows > div > span:last-child{text-align:right;color:var(--e-global-color-primary);font-size:13px;font-weight:600}

/* Mini wedge strip shared by review head + confirmation card */
.dye-form .dye-wedges,
.dye-confirm .dye-wedges{position:absolute;top:0;left:0;right:0;display:flex;overflow:hidden;background:var(--dye-pb80)}
.dye-form .dye-wedges{height:9px}
.dye-confirm .dye-wedges{height:20px}
.dye-form .dye-wa,.dye-confirm .dye-wa{flex:1;background:var(--e-global-color-secondary)}
.dye-form .dye-wb,.dye-confirm .dye-wb{background:var(--e-global-color-accent)}
.dye-form .dye-wc,.dye-confirm .dye-wc{background:var(--e-global-color-ndpacific)}
.dye-form .dye-wa{clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
.dye-form .dye-wb{width:56px;margin-left:-8px;clip-path:polygon(24% 0,100% 0,76% 100%,0 100%)}
.dye-form .dye-wc{width:40px;margin-left:-6px;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}
.dye-confirm .dye-wa{clip-path:polygon(0 0,100% 0,84% 100%,0 100%)}
.dye-confirm .dye-wb{width:70px;margin-left:-12px;clip-path:polygon(26% 0,100% 0,74% 100%,0 100%)}
.dye-confirm .dye-wc{width:52px;margin-left:-9px;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}

/* --- Consent ------------------------------------------------------------ */
.dye-form .dye-consent .gfield_label{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}
.dye-form .dye-consent .gchoice{display:flex;align-items:flex-start;gap:10px}
.dye-form_wrapper form.dye-form .dye-consent input[type="checkbox"]{
  flex:none;width:22px;height:22px;accent-color:var(--e-global-color-accent);margin:0;
}
.dye-form .dye-consent .gchoice label{
  font-family:var(--e-global-typography-text-font-family),"Poppins",sans-serif;
  font-weight:400;font-size:13px;line-height:1.45;color:var(--e-global-color-primary);margin:0;
}

/* ==========================================================================
   Confirmation card (replaces the form in the same wrapper after submit)
   ========================================================================== */
.elementor-3206 .gform_confirmation_message{
  background:none!important;border:0!important;padding:0!important;border-radius:0!important;
}
.dye-confirm{
  position:relative;overflow:hidden;text-align:center;
  background:var(--e-global-color-primary);border-radius:28px;
  padding:48px 24px 40px;color:var(--e-global-color-ndwhite);
}
.dye-confirm .dye-confirm-mark{display:block;width:68px;height:68px;margin:0 auto 18px}
.dye-confirm h2{
  margin:0 0 10px;
  font-family:var(--e-global-typography-secondary-font-family),"Filosofia",serif;
  font-weight:700;font-size:30px;line-height:1.14;letter-spacing:-.03em;
  color:var(--e-global-color-ndwhite);
}
.dye-confirm p{
  margin:0 auto;max-width:460px;
  font-family:var(--e-global-typography-text-font-family),"Poppins",sans-serif;
  font-size:15px;line-height:1.6;color:var(--e-global-color-ndwhite78);
}
.dye-confirm .dye-confirm-box{
  max-width:460px;margin:22px auto 0;padding:18px 20px;
  background:rgba(255,255,255,.08);
  border:1px solid var(--e-global-color-ndborderdark);
  border-radius:24px;
}
.dye-confirm .dye-confirm-kicker{
  margin:0 0 6px;color:var(--e-global-color-accent);
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
}
.dye-confirm .dye-confirm-box p:last-child{color:var(--e-global-color-ndwhite);font-size:14px}
.dye-confirm .dye-confirm-phone{margin-top:20px;color:rgba(255,255,255,.55);font-size:12.5px}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width:1025px){
  .nd-hero-lead{max-width:440px}
}
@media (max-width:900px){
  .nd-intro-body,.nd-quote-card{max-width:100%}
}
@media (max-width:767px){
  .nd-hero-photo img{box-shadow:none;border-radius:0}
  .nd-hero-photo.elementor-widget{margin:0 -15px -50px}
}
@media (max-width:700px){
  .nd-strip .nd-wedge-a{clip-path:polygon(0 0,100% 0,84% 100%,0 100%)}
  .nd-strip .nd-wedge-b{--width:70px;width:70px;flex:0 0 70px;margin-left:-12px;clip-path:polygon(26% 0,100% 0,74% 100%,0 100%)}
  .nd-strip .nd-wedge-c{--width:52px;width:52px;flex:0 0 52px;margin-left:-9px;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
  .nd-marq-run{font-size:12px}
  .nd-marq-track,.nd-marq-track > .e-con-inner{gap:32px}
  .nd-badge{font-size:12px;padding:5px 11px}
  .dye-form .dye-step-title{font-size:26px}
  .dye-form .dye-scale .gchoice label{font-size:11.5px;padding:9px 3px}
  .dye-form .dye-review-rows > div{gap:10px}
}

/* ==========================================================================
   Specificity backstop — VERIFIED live: GF's gravity-theme stylesheet declares
   .gchoice label{font-size:15px;display:inline-block} at equal specificity and
   loads after the Elementor page CSS, so the choice-label typography/layout
   above loses the tie. Re-declared here at higher specificity.
   ========================================================================== */
/* ROOT CAUSE of the pill-overflow bug (measured, all 8 QA widths): gravity-theme
   ships `.gfield-choice-input + label{max-width:calc(100% - 32px)}` to reserve room
   for the native input. We hide that input and draw the pill oval ON the label, so
   the oval was capped 32px narrower than its slot and the text rendered OUTSIDE it
   (single-word pills spilled 16px sideways; multi-word pills were forced to wrap and
   read as text under the oval). max-width:none is the fix; the flex centering below
   keeps any wrapped line inside the oval. */
.dye-form_wrapper form.dye-form .dye-pills .gchoice label,
.dye-form_wrapper form.dye-form .dye-cards .gchoice label,
.dye-form_wrapper form.dye-form .dye-tiles .gchoice label{max-width:none}

.dye-form_wrapper form.dye-form .dye-pills .gchoice label{
  display:inline-flex;align-items:center;justify-content:center;
  text-align:center;white-space:normal;overflow-wrap:break-word;
  height:auto;min-height:38px;line-height:1.25;
  padding:9px 15px;border-radius:999px;box-sizing:border-box;
  font-size:13px;font-weight:600;
}
.dye-form_wrapper form.dye-form .dye-pills .gchoice:has(input:checked) label{padding:8.5px 14.5px}
.dye-form_wrapper form.dye-form .dye-cards .gchoice label{display:flex;font-size:13.5px;font-weight:700}
.dye-form_wrapper form.dye-form .dye-cards.dye-grid2 .gchoice label{font-size:13px}
.dye-form_wrapper form.dye-form .dye-tiles .gchoice label{display:block;font-size:13px;font-weight:700}
/* .dye-scale must follow .dye-pills: same specificity, later wins for fields 18/19/20.
   These pills fill an equal-width slot, so they stretch instead of hugging. */
.dye-form_wrapper form.dye-form .dye-scale .gchoice label{
  display:flex;width:100%;padding:9px 6px;
  font-size:12.5px;font-weight:600;word-break:break-word;
}
.dye-form_wrapper form.dye-form .dye-scale .gchoice:has(input:checked) label{padding:8.5px 5.5px}
.dye-form_wrapper form.dye-form .dye-consent .gchoice label{display:block;font-size:13px;font-weight:400}
.dye-form_wrapper form.dye-form .dye-comfort .gchoice label{flex-direction:column;align-items:flex-start}
@media (max-width:700px){
  .dye-form_wrapper form.dye-form .dye-loc .gchoice label{flex-direction:column;align-items:flex-start}
  .dye-form_wrapper form.dye-form .dye-scale .gchoice label{font-size:11.5px;padding:9px 3px}
  .dye-form_wrapper form.dye-form .dye-scale .gchoice:has(input:checked) label{padding:8.5px 2.5px}
}/* End custom CSS */