/* ============================================================
   Noite de Gala — Contato (premium interactive)
   Design system: chocolate/cream/gold · Rianti + Poppins
   ============================================================ */
.ndg-co{--ink:#3a2619;--gold:#c9a96a;--gold-2:#966f2a;--cream:#f5efe2;--cream-dim:#e9e0d2;--line:rgba(93,60,45,.16);--ease:cubic-bezier(.16,1,.3,1);}

/* ---------- HERO · cinematic ---------- */
.ndg-co-hero{position:relative;min-height:64vh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#241710;}
.ndg-co-hero-bg{position:absolute;inset:-6%;background-size:cover;background-position:center 25%;will-change:transform;}
.ndg-co-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,15,9,.5),rgba(24,15,9,.35) 50%,rgba(36,23,16,.97));}
.ndg-co-hero-inner{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:0 24px 10vh;}
.ndg-co-kicker{display:inline-flex;align-items:center;gap:14px;color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;}
.ndg-co-kicker::before{content:"";width:44px;height:1px;background:var(--gold);}
.ndg-co-hero h1{font-family:var(--title-font);font-weight:800;font-size:clamp(40px,6vw,84px);line-height:1;color:#fff;margin:20px 0 16px;}
.ndg-co-hero h1 em{font-style:italic;color:var(--gold);}
.ndg-co-hero-sub{color:rgba(245,239,226,.82);font-size:clamp(15px,1.6vw,18px);line-height:1.7;max-width:52ch;font-weight:300;}

/* ---------- SHELL ---------- */
.ndg-co-section{position:relative;padding:clamp(64px,9vw,120px) 0;overflow:hidden;background:linear-gradient(180deg,#faf5ea,#f3ecdc);}
.ndg-co-shell{max-width:1280px;margin:0 auto;padding:0 24px;position:relative;}
.ndg-co-overline{display:inline-flex;align-items:center;gap:12px;color:var(--gold-2);font-size:11.5px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;}
.ndg-co-overline::before{content:"";width:34px;height:1px;background:var(--gold-2);}
.ndg-co-h2{font-family:var(--title-font);font-weight:800;font-size:clamp(32px,4.2vw,56px);line-height:1.05;margin:16px 0 12px;color:var(--ink);}
.ndg-co-h2 em{font-style:italic;color:var(--gold-2);}
.ndg-co-lead{color:#6d5947;font-size:16px;line-height:1.75;max-width:60ch;font-weight:300;margin:0;}

/* ---------- LAYOUT · split ---------- */
.ndg-co-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,64px);align-items:start;margin-top:52px;}

/* channels */
.ndg-co-channels{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ndg-co-chan{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px 24px;border-radius:20px;background:#fffdf9;border:1px solid var(--line);text-decoration:none;color:var(--ink);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);}
.ndg-co-chan.wide{grid-column:span 2;flex-direction:row;align-items:center;gap:18px;}
.ndg-co-chan:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(58,38,25,.14);border-color:rgba(201,169,106,.6);}
.ndg-co-chan-ico{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#f7eeda,#ecd9ad);color:var(--gold-2);transition:transform .4s var(--ease);flex:none;}
.ndg-co-chan:hover .ndg-co-chan-ico{transform:scale(1.1) rotate(-6deg);}
.ndg-co-chan h3{font-family:var(--title-font);font-size:21px;font-weight:800;margin:0;}
.ndg-co-chan p{color:#7a6550;font-size:13.5px;line-height:1.55;font-weight:300;margin:0;}
.ndg-co-chan .ndg-co-chan-go{position:absolute;top:20px;right:20px;color:var(--gold-2);opacity:.6;font-size:13px;transition:transform .35s var(--ease);}
.ndg-co-chan:hover .ndg-co-chan-go{transform:translateX(4px);opacity:1;}
.ndg-co-wa .ndg-co-chan-ico{background:linear-gradient(135deg,#e4f0e5,#bfe0c6);color:#2f8a46;}
.ndg-co-ig .ndg-co-chan-ico{background:linear-gradient(135deg,#f9e0e6,#f2c8d4);color:#b7416b;}
.ndg-co-fb .ndg-co-chan-ico{background:linear-gradient(135deg,#e2e9f7,#c6d6f0);color:#3a5fb4;}
.ndg-co-mail .ndg-co-chan-ico{background:linear-gradient(135deg,#f6e7d4,#ecd5b0);color:#a8702c;}
.ndg-co-chan::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transition:opacity .4s var(--ease);}
.ndg-co-chan:hover::before{opacity:1;}

/* ---------- WhatsApp message builder ---------- */
.ndg-co-build{position:relative;border-radius:24px;background:#fffdf9;border:1px solid var(--line);box-shadow:0 30px 70px rgba(58,38,25,.12);overflow:hidden;}
.ndg-co-build-head{display:flex;align-items:center;gap:14px;padding:22px 26px;background:linear-gradient(135deg,#1e4d2b,#2f8a46);color:#fff;}
.ndg-co-build-head i{font-size:26px;}
.ndg-co-build-head b{font-family:var(--title-font);font-size:20px;font-weight:800;}
.ndg-co-build-head span{display:block;font-size:12.5px;opacity:.85;font-weight:300;margin-top:2px;}
.ndg-co-build-body{padding:26px;}
.ndg-co-field{margin-bottom:18px;}
.ndg-co-field label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:8px;}
.ndg-co-field input,.ndg-co-field textarea{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:13px;background:#fbf7ef;font-family:var(--default-font);font-size:15px;color:var(--ink);transition:border-color .25s,box-shadow .25s;resize:vertical;}
.ndg-co-field input:focus,.ndg-co-field textarea:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 4px rgba(150,111,42,.14);background:#fff;}
.ndg-co-field .ndg-co-count{display:block;margin-top:6px;font-size:11.5px;color:#9a8773;font-variant-numeric:tabular-nums;}
.ndg-co-field .ndg-co-count.is-over{color:#b3402e;font-weight:600;}
.ndg-co-preview{background:#f4ecdb;border:1px dashed rgba(150,111,42,.5);border-radius:14px;padding:16px 18px;margin-bottom:20px;font-size:14px;line-height:1.6;color:#5d4a38;min-height:64px;}
.ndg-co-preview b{color:var(--gold-2);font-weight:600;}
.ndg-co-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:17px;border:none;border-radius:999px;background:linear-gradient(135deg,#2f8a46,#1e5c31);color:#fff;font-family:var(--default-font);font-size:15px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease);box-shadow:0 16px 40px rgba(47,138,70,.32);}
.ndg-co-submit:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(47,138,70,.4);}
.ndg-co-submit:active{transform:translateY(0);}
.ndg-co-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.ndg-co-build-foot{display:flex;align-items:center;gap:10px;padding:0 26px 22px;color:#9a8773;font-size:12.5px;}
.ndg-co-build-foot i{color:var(--gold-2);}

/* ---------- INFO · atelier ---------- */
.ndg-co-info{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(40px,6vw,64px);}
.ndg-co-info-card{display:flex;gap:16px;align-items:flex-start;padding:24px;border-radius:20px;background:#fffdf9;border:1px solid var(--line);}
.ndg-co-info-card i{font-size:20px;color:var(--gold-2);margin-top:2px;}
.ndg-co-info-card b{display:block;font-family:var(--title-font);font-size:18px;color:var(--ink);font-weight:800;margin-bottom:6px;}
.ndg-co-info-card p{color:#7a6550;font-size:13.5px;line-height:1.6;font-weight:300;margin:0;}

/* ---------- CTA band ---------- */
.ndg-co-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#c9a96a,#a8843f 55%,#c9a96a);color:#2b1c10;text-align:center;padding:clamp(60px,8vw,100px) 24px;}
.ndg-co-cta h2{font-family:var(--title-font);font-size:clamp(32px,4.6vw,62px);font-weight:800;line-height:1.05;margin:0 0 14px;color:#2b1c10;}
.ndg-co-cta h2 em{font-style:italic;}
.ndg-co-cta p{max-width:50ch;margin:0 auto 30px;color:rgba(43,28,16,.78);font-size:16px;line-height:1.7;}
.ndg-co-cta .ndg-co-btn-dark{display:inline-flex;align-items:center;gap:12px;padding:17px 34px;border-radius:999px;background:#2b1c10;color:#e9ddc6;font-weight:600;text-decoration:none;transition:transform .35s var(--ease),background .35s;box-shadow:0 18px 50px rgba(43,28,16,.35);}
.ndg-co-cta .ndg-co-btn-dark:hover{transform:translateY(-2px);background:#3a2619;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1023px){
    .ndg-co-grid{grid-template-columns:1fr;}
    .ndg-co-info{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
    .ndg-co-hero{min-height:56vh;}
    .ndg-co-channels{grid-template-columns:1fr;}
    .ndg-co-chan.wide{grid-column:span 1;flex-direction:column;align-items:flex-start;}
    .ndg-co-info{grid-template-columns:1fr;}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
    .ndg-co *,.ndg-co *::before,.ndg-co *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
    .ndg-co-hero-bg{transform:none!important;}
}