
:root{
  --nc-green:#1f4d3a;
  --nc-green-2:#2c644e;
  --nc-ink:#17211c;
  --nc-muted:#68726c;
  --nc-line:#dfe5e1;
  --nc-soft:#f4f8f6;
  --nc-white:#fff;
}
.nest-contact-shell{
  position:relative;width:100%;max-width:100%;margin:0;overflow:hidden;
  background:#fff;color:var(--nc-ink);font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.nest-contact-shell *{box-sizing:border-box}
.nest-contact-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.nest-contact-atmosphere:before,.nest-contact-atmosphere:after{
  content:"";position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--nc-line),transparent);opacity:.7
}
.nest-contact-atmosphere:before{left:17%}.nest-contact-atmosphere:after{right:13%}
.nest-contact-atmosphere span{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#bfd1c7,transparent);animation:nestContactSweep 9s linear infinite;opacity:.6}
.nest-contact-atmosphere span:nth-child(1){top:18%;left:-25%;width:55%}
.nest-contact-atmosphere span:nth-child(2){top:52%;left:-35%;width:70%;animation-delay:-3s}
.nest-contact-atmosphere span:nth-child(3){top:82%;left:-20%;width:45%;animation-delay:-6s}
@keyframes nestContactSweep{0%{transform:translateX(0)}100%{transform:translateX(240%)}}

.nest-contact-intro{
  position:relative;z-index:1;max-width:1420px;margin:0 auto;min-height:720px;
  display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:center;padding:72px 44px 80px
}
.nest-contact-intro-copy{max-width:520px;padding-bottom:26px}
.nest-contact-kicker,.nest-contact-step{
  font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--nc-green)
}
.nest-contact-intro-copy h1{
  font-size:clamp(44px,5.3vw,80px);line-height:.98;letter-spacing:-.055em;font-weight:800;margin:18px 0 22px;max-width:720px
}
.nest-contact-lead{font-size:17px;line-height:1.72;color:var(--nc-muted);max-width:500px;margin:0}
.nest-contact-signal{display:flex;gap:14px;align-items:flex-start;border-top:1px solid var(--nc-line);padding-top:22px;margin-top:42px}
.nest-contact-signal-dot{width:11px;height:11px;border-radius:50%;background:var(--nc-green);margin-top:4px;box-shadow:0 0 0 7px rgba(31,77,58,.08);animation:nestContactPulse 2.4s ease-in-out infinite}
@keyframes nestContactPulse{0%,100%{box-shadow:0 0 0 6px rgba(31,77,58,.08)}50%{box-shadow:0 0 0 12px rgba(31,77,58,0)}}
.nest-contact-signal strong,.nest-contact-signal small{display:block}.nest-contact-signal strong{font-size:13px}.nest-contact-signal small{font-size:11px;color:var(--nc-muted);margin-top:4px;line-height:1.5}

.nest-contact-stage{position:relative;max-width:760px;width:100%;justify-self:end}
.nest-contact-card{
  position:relative;background:rgba(255,255,255,.96);border:1px solid var(--nc-line);padding:32px;
  box-shadow:0 22px 70px rgba(22,42,32,.08);animation:nestContactRise .5s ease both
}
@keyframes nestContactRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.nest-contact-card:before{content:"";position:absolute;left:-1px;top:-1px;width:86px;height:3px;background:var(--nc-green)}
.nest-contact-card h2{font-size:30px;line-height:1.08;letter-spacing:-.035em;margin:10px 0 8px}
.nest-contact-card>p,.nest-contact-form-head p{color:var(--nc-muted);font-size:13px;line-height:1.6;margin:0 0 24px}
.nest-contact-card label{display:block;font-size:11px;font-weight:800;margin-bottom:15px;color:var(--nc-ink)}
.nest-contact-card label>span{font-weight:500;color:var(--nc-muted)}
.nest-contact-card input,.nest-contact-card select,.nest-contact-card textarea{
  width:100%;margin-top:7px;border:1px solid #cfd8d3;background:#fff;padding:12px 13px;
  font:inherit;font-size:14px;color:var(--nc-ink);outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease
}
.nest-contact-card textarea{resize:vertical;line-height:1.6}
.nest-contact-card input:focus,.nest-contact-card select:focus,.nest-contact-card textarea:focus{
  border-color:var(--nc-green);box-shadow:0 0 0 3px rgba(31,77,58,.08)
}
.nest-contact-card label small{display:block;font-weight:500;color:var(--nc-muted);font-size:10px;margin-top:5px;text-align:right}
.nest-contact-primary{
  border:0;background:var(--nc-green);color:#fff;min-height:48px;padding:0 17px;display:inline-flex;gap:28px;align-items:center;justify-content:space-between;
  font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:background .18s ease,transform .18s ease
}
.nest-contact-primary:hover{background:var(--nc-green-2);transform:translateY(-1px)}
.nest-contact-primary span{font-size:18px;font-weight:400}
.nest-contact-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.nest-contact-alert,.nest-contact-success{
  background:#eef7f2;border:1px solid #cfe3d8;border-left:4px solid var(--nc-green);padding:13px 16px;margin-bottom:12px;font-size:12px
}
.nest-contact-alert.is-error{background:#fff4f1;border-color:#efd3ca;border-left-color:#a14d39}
.nest-contact-success{display:flex;gap:13px;align-items:center}.nest-contact-success>span{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--nc-green);color:#fff;font-weight:800}.nest-contact-success strong,.nest-contact-success p{display:block;margin:0}.nest-contact-success p{color:var(--nc-muted);font-size:11px;margin-top:3px}

.nest-contact-tab-buttons{display:flex;gap:0;margin-bottom:10px}
.nest-contact-tab-buttons button{border:0;border-bottom:1px solid var(--nc-line);background:transparent;color:var(--nc-muted);padding:11px 17px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.nest-contact-tab-buttons button.is-active{color:var(--nc-green);border-bottom:2px solid var(--nc-green)}
.nest-contact-auth-panel{display:none}.nest-contact-auth-panel.is-active{display:block}
.nest-contact-resend-form{margin-top:14px}.nest-contact-resend-form button{border:0;background:transparent;padding:0;color:var(--nc-green);font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.nest-contact-verify-form input{font-size:24px;letter-spacing:7px;text-align:center;font-weight:800}
.nest-contact-form-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-bottom:1px solid var(--nc-line);padding-bottom:20px;margin-bottom:22px}
.nest-contact-account-mini{text-align:right}.nest-contact-account-mini strong,.nest-contact-account-mini a{display:block}.nest-contact-account-mini strong{font-size:11px}.nest-contact-account-mini a{font-size:10px;color:var(--nc-green);margin-top:5px;text-decoration:none}
.nest-contact-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.nest-contact-submit-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-top:18px}
.nest-contact-submit-row p{font-size:10px;line-height:1.5;color:var(--nc-muted);max-width:430px;margin:0}

.nest-contact-footer-strip{
  position:relative;z-index:1;max-width:1420px;margin:0 auto 56px;padding:18px 44px;border-top:1px solid var(--nc-line);border-bottom:1px solid var(--nc-line);
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px
}
.nest-contact-footer-strip span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--nc-muted)}
.nest-contact-footer-strip span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--nc-green);margin-right:8px;vertical-align:1px}

@media(max-width:980px){
  .nest-contact-intro{grid-template-columns:1fr;gap:38px;padding:54px 28px}.nest-contact-stage{justify-self:stretch;max-width:none}.nest-contact-intro-copy{max-width:760px}.nest-contact-footer-strip{margin-left:28px;margin-right:28px;padding-left:0;padding-right:0}
}
@media(max-width:650px){
  .nest-contact-intro{padding:38px 16px}.nest-contact-intro-copy h1{font-size:44px}.nest-contact-card{padding:24px 18px}.nest-contact-two{grid-template-columns:1fr}.nest-contact-form-head,.nest-contact-submit-row{flex-direction:column;align-items:stretch}.nest-contact-account-mini{text-align:left}.nest-contact-primary{width:100%}.nest-contact-footer-strip{grid-template-columns:1fr 1fr;margin:0 16px 36px}.nest-contact-atmosphere:before{left:8%}.nest-contact-atmosphere:after{right:7%}
}
@media(prefers-reduced-motion:reduce){
  .nest-contact-atmosphere span,.nest-contact-signal-dot,.nest-contact-card{animation:none!important}
  .nest-contact-primary,.nest-contact-card input,.nest-contact-card select,.nest-contact-card textarea{transition:none!important}
}


/* v1.1 — one-step contact */
.nest-contact-intro{align-items:start;padding-top:86px}
.nest-contact-stage{max-width:800px}
.nest-contact-form-card{padding:34px}
.nest-contact-success-large{margin-bottom:14px;padding:17px 18px}
.nest-contact-success-large>span{width:40px;height:40px}
.nest-contact-success-large strong{font-size:15px}
.nest-contact-form-head{margin-bottom:24px}
.nest-contact-form-head h2{margin-bottom:7px}
.nest-contact-submit-row p{max-width:470px}
@media(max-width:650px){.nest-contact-form-card{padding:24px 18px}}


/* v1.3 — safe page alignment and automatic account */
.nest-contact-block-host{
    width:100%;
    max-width:100%;
    margin:0;
}
.nest-contact-shell{
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
}
.nest-contact-intro{
    width:100%;
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
    gap:56px;
    padding-left:32px;
    padding-right:32px;
}
.nest-contact-intro-copy{
    min-width:0;
}
.nest-contact-stage{
    min-width:0;
    width:100%;
}
.nest-contact-intro-copy h1{
    overflow-wrap:normal;
    word-break:normal;
}
.nest-contact-account-note{
    display:flex;
    gap:12px;
    align-items:flex-start;
    background:#f4f8f6;
    border:1px solid #dce8e1;
    padding:14px 15px;
    margin:0 0 20px;
}
.nest-contact-account-icon{
    flex:0 0 26px;
    width:26px;
    height:26px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--nc-green);
    color:#fff;
    font-size:12px;
    font-weight:800;
}
.nest-contact-account-note strong,
.nest-contact-account-note p{
    display:block;
}
.nest-contact-account-note strong{
    font-size:12px;
}
.nest-contact-account-note p{
    margin:3px 0 0;
    color:var(--nc-muted);
    font-size:10px;
    line-height:1.55;
}
@media(max-width:1120px){
    .nest-contact-intro{
        grid-template-columns:1fr;
        gap:34px;
        max-width:900px;
    }
    .nest-contact-intro-copy{
        max-width:760px;
    }
    .nest-contact-stage{
        justify-self:stretch;
        max-width:none;
    }
}
@media(max-width:650px){
    .nest-contact-intro{
        padding-left:16px;
        padding-right:16px;
    }
}


/* v1.4 — SAFE WIDE LAYOUT
   Expands only NEST Contact, never the theme page/footer containers. */
.nest-contact-block-host.nest-contact-safe-wide{
    position:relative;
    left:50%;
    transform:translateX(-50%);
    width:min(1320px, calc(100vw - 48px));
    max-width:none;
    margin-left:0!important;
    margin-right:0!important;
}
.nest-contact-block-host.nest-contact-contained{
    position:relative;
    left:auto;
    transform:none;
    width:100%;
    max-width:100%;
}

/* Shortcode version. This is intentionally scoped to the plugin shell only. */
.nest-contact-shell.nest-contact-layout-wide{
    position:relative;
    left:50%!important;
    transform:translateX(-50%);
    width:min(1320px, calc(100vw - 48px))!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}
.nest-contact-shell.nest-contact-layout-contained{
    position:relative;
    left:auto!important;
    transform:none;
    width:100%!important;
    max-width:100%!important;
}

/* The internal composition uses the whole safe plugin width. */
.nest-contact-safe-wide .nest-contact-intro,
.nest-contact-layout-wide .nest-contact-intro{
    max-width:1320px;
    width:100%;
}

/* Absolutely no theme/footer layout overrides. */
body.nest-contact-page footer,
body.nest-contact-page .site-footer,
body.nest-contact-page #colophon{
    transform:none;
}

@media(max-width:650px){
    .nest-contact-block-host.nest-contact-safe-wide,
    .nest-contact-shell.nest-contact-layout-wide{
        width:calc(100vw - 24px)!important;
    }
}
