/* naset-series: the newsletter popup, restyled (TODO 00012.o, s40o).
 * Her Elementor Pro popup 16852 ("get special ed insights every Friday!" + Gravity Forms "Newsletter Signup (Popup)")
 * is left as she built it; this sheet only restyles it in the new home's language and animates it. Every selector is
 * scoped to its modal, #elementor-popup-modal-16852. Classes np-* are added by assets/naset-popup.js:
 *   np-pop (enhanced), np-in (playing the entrance), np-landed (plane has landed), np-sent (form submitted).
 * Spacing: one scale, 8 / 12 / 16 / 24 / 32 / 48 (home tokens r1..r6). Motion: spring pop-in card (sheet on phones),
 * plane flight + trail, staggered rows. prefers-reduced-motion: a plain fade, plane and trail shown still. */

@font-face{font-family:"Atkinson Hyperlegible";src:url(home/fonts/atkinsonhyperlegible-regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(home/fonts/atkinsonhyperlegible-bold.ttf) format("truetype");font-weight:700;font-display:swap}

#elementor-popup-modal-16852{
  --np-ink:#1D1D16;--np-olive:#414132;--np-blue:#93B3FF;--np-blue-d:#7FA2F5;--np-pink:#FFA9CC;--np-lime:#C5FB5D;
  --np-paper:#F7F6EF;--np-white:#FFFFFF;--np-line:#E4E2D8;--np-field:#CFCDBF;--np-blue-soft:#E0E8FF;--np-pink-soft:#FFE3EE;
  --np-pad:48px;--np-art:340px;--np-radius:28px;
  --np-spring:cubic-bezier(.34,1.45,.55,1);--np-ease:cubic-bezier(.2,.8,.2,1);
  background-color:rgba(29,29,22,.62);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  padding:24px;box-sizing:border-box;
  font-family:"Atkinson Hyperlegible",system-ui,sans-serif;color:var(--np-ink);
}
#elementor-popup-modal-16852 *,#elementor-popup-modal-16852 *::before,#elementor-popup-modal-16852 *::after{box-sizing:border-box}
/* Elementor shows it with inline display:block on a second open: keep the flex centring (its hide is display:none) */
#elementor-popup-modal-16852:not([style*="none"]){display:flex!important}

/* ---------- the card ---------- */
#elementor-popup-modal-16852 .dialog-widget-content{
  position:relative;width:min(880px,100%);border-radius:var(--np-radius);background:var(--np-white);
  box-shadow:0 40px 80px -24px rgba(29,29,22,.45),0 0 0 1px rgba(29,29,22,.06);overflow:visible;
}
#elementor-popup-modal-16852 .dialog-message{width:100%;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;border-radius:var(--np-radius);overscroll-behavior:contain}
#elementor-popup-modal-16852 .elementor-16852>.e-con{
  --padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--border-radius:var(--np-radius);
  padding:0;background:transparent;border-radius:var(--np-radius);
}
#elementor-popup-modal-16852 .elementor-16852>.e-con>.e-con-inner{
  display:grid;grid-template-columns:minmax(0,1fr) var(--np-art);gap:0;align-items:stretch;max-width:none;width:100%;padding:0;
}
#elementor-popup-modal-16852 .e-con-inner>.e-con{--width:auto;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;width:auto;max-width:none;min-width:0;padding:0}

/* form column */
#elementor-popup-modal-16852 .e-con-inner>.e-con:has(.gform_wrapper,.gform_confirmation_wrapper){
  display:flex;flex-direction:column;justify-content:center;gap:0;padding:var(--np-pad);
}
#elementor-popup-modal-16852 .elementor-widget{margin:0}
#elementor-popup-modal-16852 .np-kicker{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:0 0 16px;padding:6px 14px 6px 10px;border-radius:999px;
  background:var(--np-blue);color:var(--np-ink);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;
}
#elementor-popup-modal-16852 .np-kicker svg{width:18px;height:18px;flex:none}
#elementor-popup-modal-16852 .elementor-widget-heading{text-align:left}
#elementor-popup-modal-16852 .elementor-widget-heading .elementor-heading-title{
  margin:0;text-align:left;font-family:"Atkinson Hyperlegible",system-ui,sans-serif;font-size:clamp(28px,1.56rem + .76vw,36px);font-weight:700;
  line-height:1.15;letter-spacing:-.01em;color:var(--np-ink);text-transform:none;text-wrap:balance;
}
#elementor-popup-modal-16852 .elementor-widget-heading .elementor-heading-title::first-letter{text-transform:uppercase}
#elementor-popup-modal-16852 .elementor-widget-heading .elementor-heading-title .np-hl{
  background:linear-gradient(transparent 62%,var(--np-blue) 62%,var(--np-blue) 92%,transparent 92%);
  background-size:0 100%;background-repeat:no-repeat;transition:background-size .7s var(--np-ease) .75s;
}
#elementor-popup-modal-16852.np-in .elementor-widget-heading .elementor-heading-title .np-hl{background-size:100% 100%}
#elementor-popup-modal-16852 .elementor-widget-shortcode{margin-top:24px}

/* ---------- Gravity Forms fields ---------- */
#elementor-popup-modal-16852 .gform_wrapper{margin:0;padding:0}
#elementor-popup-modal-16852 .gform_wrapper .gform_heading{display:none}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_fields{row-gap:12px;grid-row-gap:12px}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield input[type=text],
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield input[type=email],
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield select{
  display:block;width:100%;min-height:56px;margin:0;padding:0 18px;border:1.5px solid var(--np-field);border-radius:14px;
  background-color:var(--np-paper);color:var(--np-ink);font-family:inherit;font-size:18px;line-height:1.3;box-shadow:none;
  transition:border-color .15s,background-color .15s,box-shadow .15s;
}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield select{
  -webkit-appearance:none;appearance:none;padding-right:48px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1D16' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:20px 20px;
}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield select:invalid,
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield select:has(option.gf_placeholder:checked){color:#6E6C5E}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield input::placeholder{color:#6E6C5E;opacity:1}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield input:hover,
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield select:hover{border-color:var(--np-olive)}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield input:focus,
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield select:focus{
  outline:0;border-color:var(--np-ink);background-color:var(--np-white);box-shadow:0 0 0 4px var(--np-lime);
}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_footer{margin:16px 0 0;padding:0}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_footer .gform_button{
  position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;margin:0;padding:0 24px;
  border:0;border-radius:999px;background:var(--np-ink);color:var(--np-white);font-family:inherit;font-size:18px;font-weight:700;
  line-height:1.2;letter-spacing:0;text-transform:none;cursor:pointer;box-shadow:0 6px 0 -2px var(--np-blue);
  transition:transform .18s var(--np-spring),box-shadow .18s,background-color .15s;
}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_footer .gform_button::after{
  content:"";width:20px;height:20px;flex:none;background:currentColor;transition:transform .25s var(--np-spring);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5 11.2 21 3.5l-4.6 17-5.2-6.3-2.9 3.3-.4-4.9 9-8.3-11 6.6z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5 11.2 21 3.5l-4.6 17-5.2-6.3-2.9 3.3-.4-4.9 9-8.3-11 6.6z'/%3E%3C/svg%3E") center/contain no-repeat;
}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_footer .gform_button:hover{background:var(--np-olive);transform:translateY(-2px);box-shadow:0 8px 0 -2px var(--np-blue)}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_footer .gform_button:hover::after{transform:translate(4px,-4px) rotate(-8deg)}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_footer .gform_button:active{transform:translateY(1px);box-shadow:0 2px 0 -1px var(--np-blue)}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_footer .gform_button:focus-visible{outline:3px solid var(--np-blue);outline-offset:3px}
/* validation */
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_validation_errors{margin:0 0 16px;padding:12px 16px;border:0;border-radius:14px;background:var(--np-pink-soft);box-shadow:none}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_validation_errors h2{margin:0;font-family:inherit;font-size:16px;font-weight:700;color:var(--np-ink)}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_validation_errors h2 .gform-icon{display:none}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield_error input,
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield_error select{border-color:#C2185B;background-color:var(--np-white)}
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield_validation_message,
#elementor-popup-modal-16852 .gform_wrapper.gravity-theme .validation_message{margin:6px 0 0;padding:0;border:0;background:none;color:#A3134C;font-size:15px;font-weight:700}
/* thank-you */
#elementor-popup-modal-16852 .gform_confirmation_message{
  display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:18px;background:var(--np-blue-soft);
  color:var(--np-ink);font-family:inherit;font-size:20px;font-weight:700;line-height:1.35;
}
#elementor-popup-modal-16852 .gform_confirmation_message::before{
  content:"";flex:none;width:40px;height:40px;border-radius:50%;
  background:var(--np-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1D16' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/22px no-repeat;
  animation:np-stamp .6s var(--np-spring) both;
}

/* ---------- art column (her photo) ---------- */
#elementor-popup-modal-16852 .e-con-inner>.e-con:has(.elementor-widget-image){
  position:relative;display:block;margin:16px 16px 16px 0;border-radius:20px;background:var(--np-blue);overflow:hidden;isolation:isolate;
}
#elementor-popup-modal-16852 .elementor-widget-image,
#elementor-popup-modal-16852 .elementor-widget-image .elementor-widget-container{position:absolute;inset:0;height:100%}
#elementor-popup-modal-16852 .elementor-widget-image img{
  /* her photo has a transparent strip along its bottom (968 of 1024 px opaque): 106% tall, anchored top, so the strip
     falls outside the rounded panel */
  position:absolute;top:0;left:0;right:auto;bottom:auto;width:100%!important;height:106%!important;max-width:none;max-height:none;
  object-fit:cover;object-position:50% 0;border-radius:0;
  -webkit-mask:linear-gradient(#000,#000);mask:linear-gradient(#000,#000);
}
/* the spinning "every friday" sticker, on the photo's lower left */
#elementor-popup-modal-16852 .np-sticker{
  position:absolute;z-index:2;left:16px;bottom:16px;width:104px;height:104px;border-radius:50%;background:var(--np-white);
  box-shadow:0 10px 24px -10px rgba(29,29,22,.5);display:grid;place-items:center;pointer-events:none;
}
#elementor-popup-modal-16852 .np-sticker svg{position:absolute;inset:0;width:100%;height:100%}
#elementor-popup-modal-16852 .np-sticker .np-ring{transform-origin:50% 50%;animation:np-spin 14s linear infinite}
#elementor-popup-modal-16852 .np-sticker .np-env{position:relative;width:40px;height:40px}
#elementor-popup-modal-16852 .np-sticker text{font:700 11.5px "Atkinson Hyperlegible",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;fill:var(--np-ink)}

/* ---------- close button ---------- */
#elementor-popup-modal-16852 .dialog-close-button{
  display:grid;place-items:center;position:absolute;z-index:6;top:16px;right:16px;inset-inline-end:16px;width:44px;height:44px;margin:0;
  border-radius:50%;background:var(--np-white);color:var(--np-ink);font-size:18px;box-shadow:0 2px 10px -2px rgba(29,29,22,.35);
  transition:transform .2s var(--np-spring),background-color .15s;cursor:pointer;
}
#elementor-popup-modal-16852 .dialog-close-button svg{width:18px;height:18px;fill:var(--np-ink)}
#elementor-popup-modal-16852 .dialog-close-button:hover{background:var(--np-paper);transform:rotate(90deg)}
#elementor-popup-modal-16852 .dialog-close-button:focus-visible{outline:3px solid var(--np-blue);outline-offset:2px}

/* ---------- the plane overlay ---------- */
#elementor-popup-modal-16852 .np-sky{position:absolute;inset:0;z-index:5;width:100%;height:100%;overflow:visible;pointer-events:none}
#elementor-popup-modal-16852 .np-trail{fill:none;stroke:var(--np-olive);stroke-width:2;stroke-dasharray:2 9;stroke-linecap:round;opacity:.55}
#elementor-popup-modal-16852 .np-trail-mask{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round}
#elementor-popup-modal-16852 .np-bob{transform-box:fill-box;transform-origin:50% 50%}
#elementor-popup-modal-16852.np-landed .np-bob{animation:np-bob 2.6s ease-in-out infinite}
#elementor-popup-modal-16852 .np-spark{opacity:0;transform-box:fill-box;transform-origin:50% 50%}
#elementor-popup-modal-16852.np-landed .np-spark{animation:np-spark .7s var(--np-ease) both;animation-delay:calc(var(--d,0) * 40ms)}
#elementor-popup-modal-16852 .np-out{transition:transform .9s cubic-bezier(.5,0,.75,0),opacity .9s}
#elementor-popup-modal-16852.np-sent .np-out{transform:translate(520px,-520px) rotate(-12deg);opacity:0}
#elementor-popup-modal-16852.np-landed .np-trail{opacity:0;transition:opacity 1.2s ease .5s} /* skywriting: the trail fades once the plane lands */
#elementor-popup-modal-16852.np-sent .np-trail{opacity:0;transition:opacity .4s}

/* ---------- entrance ---------- */
#elementor-popup-modal-16852.np-in{animation:np-fade .3s ease-out both}
#elementor-popup-modal-16852.np-in .dialog-widget-content{animation:np-pop .7s var(--np-spring) both}
#elementor-popup-modal-16852.np-in .np-row{animation:np-rise .55s var(--np-ease) both;animation-delay:calc(250ms + var(--i,0) * 70ms)}
#elementor-popup-modal-16852.np-in .e-con-inner>.e-con:has(.elementor-widget-image){animation:np-tilt .8s var(--np-spring) .15s both}
#elementor-popup-modal-16852.np-in .np-sticker{animation:np-stamp .6s var(--np-spring) .7s both}
#elementor-popup-modal-16852.np-in .dialog-close-button{animation:np-stamp .45s var(--np-spring) .45s both}

@keyframes np-fade{from{background-color:rgba(29,29,22,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
@keyframes np-pop{0%{opacity:0;transform:translateY(48px) scale(.86) rotate(-2.5deg)}45%{opacity:1}100%{opacity:1;transform:none}}
@keyframes np-sheet{0%{transform:translateY(105%)}100%{transform:none}}
@keyframes np-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes np-tilt{0%{opacity:0;transform:rotate(7deg) scale(.85)}100%{opacity:1;transform:none}}
@keyframes np-stamp{0%{opacity:0;transform:scale(.3) rotate(-25deg)}100%{opacity:1;transform:none}}
@keyframes np-spin{to{transform:rotate(360deg)}}
@keyframes np-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-4deg)}}
@keyframes np-spark{0%{opacity:0;transform:translate(0,0) scale(.2)}35%{opacity:1}100%{opacity:0;transform:translate(var(--x,0),var(--y,0)) scale(1)}}

/* ---------- tablet ---------- */
@media (max-width:1023px){
  #elementor-popup-modal-16852{--np-pad:40px;--np-art:260px}
  #elementor-popup-modal-16852 .dialog-widget-content{width:min(720px,100%)}
}

/* ---------- 800 and under: one column. Her own custom CSS hides the photo column and centres the heading at <=800px
   (display:none / text-align:center !important); we follow it: centred label and heading, narrower card. ---------- */
@media (max-width:800px){
  #elementor-popup-modal-16852 .dialog-widget-content{width:min(560px,100%)}
  #elementor-popup-modal-16852 .elementor-16852>.e-con>.e-con-inner{grid-template-columns:minmax(0,1fr)}
  #elementor-popup-modal-16852 .e-con-inner>.e-con:has(.elementor-widget-image){display:none}
  #elementor-popup-modal-16852 .np-kicker{align-self:center}
  #elementor-popup-modal-16852 .elementor-widget-heading,
  #elementor-popup-modal-16852 .elementor-widget-heading .elementor-heading-title{text-align:center}
}

/* ---------- phone: bottom sheet ---------- */
@media (max-width:767px){
  #elementor-popup-modal-16852{--np-pad:24px;--np-radius:28px;align-items:flex-end;padding:0}
  #elementor-popup-modal-16852 .dialog-widget-content{width:100%;max-width:none;border-radius:var(--np-radius) var(--np-radius) 0 0;box-shadow:0 -20px 60px -20px rgba(29,29,22,.5)}
  #elementor-popup-modal-16852 .dialog-message{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);border-radius:var(--np-radius) var(--np-radius) 0 0}
  #elementor-popup-modal-16852 .elementor-16852>.e-con{border-radius:var(--np-radius) var(--np-radius) 0 0}
  #elementor-popup-modal-16852 .e-con-inner>.e-con:has(.gform_wrapper,.gform_confirmation_wrapper){padding:40px var(--np-pad) calc(var(--np-pad) + env(safe-area-inset-bottom,0px))}
  /* sheet skirt: the spring overshoot never shows a gap under the sheet */
  #elementor-popup-modal-16852 .dialog-widget-content::after{content:"";position:absolute;left:0;right:0;top:100%;height:96px;background:var(--np-white)}
  #elementor-popup-modal-16852 .dialog-widget-content::before{content:"";position:absolute;z-index:6;top:10px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:5px;background:var(--np-line)}
  #elementor-popup-modal-16852 .dialog-close-button{top:12px;right:12px;inset-inline-end:12px}
  #elementor-popup-modal-16852 .elementor-widget-heading .elementor-heading-title{font-size:28px;padding:0 8px}
  #elementor-popup-modal-16852 .np-kicker{margin-bottom:12px}
  #elementor-popup-modal-16852 .elementor-widget-shortcode{margin-top:16px}
  #elementor-popup-modal-16852.np-in .dialog-widget-content{animation:np-sheet .65s var(--np-spring) both}
}
@media (max-width:767px) and (max-height:600px){
  #elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield input[type=text],
  #elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield input[type=email],
  #elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gfield select,
  #elementor-popup-modal-16852 .gform_wrapper.gravity-theme .gform_footer .gform_button{min-height:48px}
}

/* ---------- reduced motion: a plain fade, everything else still ---------- */
@media (prefers-reduced-motion:reduce){
  #elementor-popup-modal-16852 *,#elementor-popup-modal-16852 *::before,#elementor-popup-modal-16852 *::after{animation:none!important;transition:none!important}
  #elementor-popup-modal-16852.np-in{animation:np-fade .2s linear both!important}
  #elementor-popup-modal-16852.np-in .dialog-widget-content{animation:np-rm .2s linear both!important}
  #elementor-popup-modal-16852 .elementor-widget-heading .elementor-heading-title .np-hl{background-size:100% 100%}
  #elementor-popup-modal-16852 .np-spark{display:none}
}
@keyframes np-rm{from{opacity:0}to{opacity:1}}
/* 1.18.2 (s40-AUD-ui HIGH): sit above the CookieScript banner (z-index 999997) so the form is reachable on phones. Her banner settings are untouched. */
#elementor-popup-modal-16852{z-index:1000000!important}
