/* ============================================================
   Noite de Gala — Sobre o Ateliê (premium cinematic)
   Design system: chocolate/cream/gold · Rianti + Poppins
   ============================================================ */
.ndg-ab{--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 stage ---------- */
.ndg-ab-hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#241710;}
.ndg-ab-hero-bg{position:absolute;inset:-6%;background-size:cover;background-position:center 30%;will-change:transform;}
.ndg-ab-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,15,9,.55) 0%,rgba(24,15,9,.35) 45%,rgba(36,23,16,.98) 100%);}
.ndg-ab-hero-grain{position:absolute;inset:0;opacity:.5;background-image:radial-gradient(rgba(201,169,106,.05) 1px,transparent 1.5px);background-size:9px 9px;mix-blend-mode:overlay;}
.ndg-ab-hero-inner{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:0 24px 14vh;}
.ndg-ab-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-ab-kicker::before{content:"";width:44px;height:1px;background:var(--gold);}
.ndg-ab-hero h1{font-family:var(--title-font);font-weight:800;font-size:clamp(44px,7.5vw,104px);line-height:.98;color:#fff;margin:22px 0 18px;letter-spacing:.005em;max-width:16ch;}
.ndg-ab-hero h1 em{font-style:italic;color:var(--gold);}
.ndg-ab-hero-sub{color:rgba(245,239,226,.82);font-size:clamp(15px,1.6vw,18px);line-height:1.7;max-width:56ch;font-weight:300;}
.ndg-ab-hero-cta{display:flex;align-items:center;gap:26px;margin-top:36px;flex-wrap:wrap;}
.ndg-ab-btn{display:inline-flex;align-items:center;gap:12px;padding:17px 34px;border-radius:999px;font-family:var(--default-font);font-size:14px;font-weight:600;letter-spacing:.04em;text-decoration:none;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease);}
.ndg-ab-btn-gold{background:linear-gradient(135deg,var(--gold),#b78e4e);color:#2b1c10;box-shadow:0 14px 40px rgba(201,169,106,.35);}
.ndg-ab-btn-gold:hover{background:linear-gradient(135deg,#d6b678,#c9a96a);color:#2b1c10;transform:translateY(-2px);}
.ndg-ab-btn-ghost{background:rgba(255,255,255,.06);border:1px solid rgba(245,239,226,.35);color:#f5efe2;backdrop-filter:blur(6px);}
.ndg-ab-btn-ghost:hover{background:rgba(255,255,255,.14);transform:translateY(-2px);}
.ndg-ab-scrollcue{position:absolute;right:30px;bottom:34px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(245,239,226,.65);font-size:10px;letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl;}
.ndg-ab-scrollcue .ndg-ab-mouse{width:24px;height:40px;border:1px solid rgba(245,239,226,.5);border-radius:14px;position:relative;writing-mode:horizontal-tb;}
.ndg-ab-scrollcue .ndg-ab-mouse i{position:absolute;left:50%;top:7px;width:4px;height:8px;border-radius:4px;background:var(--gold);transform:translateX(-50%);}

/* ---------- sparkles (JS-injected) ---------- */
.ndg-ab-spark{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px 2px rgba(201,169,106,.55);pointer-events:none;}

/* ---------- SECTION SHELL ---------- */
.ndg-ab-section{position:relative;padding:clamp(72px,10vw,140px) 0;overflow:hidden;}
.ndg-ab-section.dark{background:linear-gradient(180deg,#2a1c11,#1d130b);color:#f5efe2;}
.ndg-ab-section.cream{background:linear-gradient(180deg,#faf5ea,#f3ecdc);}
.ndg-ab-shell{max-width:1280px;margin:0 auto;padding:0 24px;position:relative;}
.ndg-ab-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-ab-overline::before{content:"";width:34px;height:1px;background:var(--gold-2);}
.ndg-ab-section.dark .ndg-ab-overline{color:var(--gold);}
.ndg-ab-section.dark .ndg-ab-overline::before{background:var(--gold);}
.ndg-ab-h2{font-family:var(--title-font);font-weight:800;font-size:clamp(34px,4.6vw,62px);line-height:1.04;margin:18px 0 0;color:var(--ink);}
.ndg-ab-section.dark .ndg-ab-h2{color:#fff;}
.ndg-ab-h2 em{font-style:italic;color:var(--gold-2);}
.ndg-ab-section.dark .ndg-ab-h2 em{color:var(--gold);}

/* ---------- STORY · editorial split ---------- */
.ndg-ab-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center;}
.ndg-ab-story-copy p{color:#5d4a38;font-size:16.5px;line-height:1.85;font-weight:300;}
.ndg-ab-story-copy p.ndg-ab-drop::first-letter{font-family:var(--title-font);font-size:64px;font-weight:800;float:left;line-height:.82;margin:6px 12px 0 0;color:var(--gold-2);}
.ndg-ab-story-copy b{font-weight:600;color:var(--ink);}
.ndg-ab-story-media{position:relative;}
.ndg-ab-photo{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px rgba(58,38,25,.25);}
.ndg-ab-photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block;}
.ndg-ab-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 55%,rgba(36,23,16,.5));}
.ndg-ab-frame{position:absolute;inset:22px;border:1px solid rgba(201,169,106,.55);border-radius:14px;pointer-events:none;z-index:2;}
.ndg-ab-floatcard{position:absolute;left:-34px;bottom:42px;z-index:3;background:#fffdf9;border:1px solid var(--line);border-radius:18px;padding:22px 26px;box-shadow:0 24px 60px rgba(58,38,25,.22);display:flex;align-items:center;gap:16px;}
.ndg-ab-floatcard b{font-family:var(--title-font);font-size:46px;line-height:1;color:var(--gold-2);display:block;}
.ndg-ab-floatcard span{font-size:12.5px;color:#7a6550;line-height:1.35;font-weight:500;}
.ndg-ab-floatcard i{font-size:22px;color:var(--gold);}

/* ---------- NUMBERS · dark gold band ---------- */
.ndg-ab-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(245,239,226,.12);border:1px solid rgba(245,239,226,.12);border-radius:22px;overflow:hidden;margin-top:clamp(40px,6vw,72px);}
.ndg-ab-num{background:#241810;padding:38px 24px;text-align:center;position:relative;}
.ndg-ab-num b{font-family:var(--title-font);font-size:clamp(40px,5vw,64px);line-height:1;color:#fff;display:block;}
.ndg-ab-num b i{font-style:normal;color:var(--gold);}
.ndg-ab-num span{display:block;margin-top:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,239,226,.6);font-weight:600;}
.ndg-ab-num::after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:0;height:2px;background:var(--gold);transition:width .6s var(--ease);}
.ndg-ab-num.is-in::after{width:60%;}

/* ---------- VALUES · bento cards ---------- */
.ndg-ab-values{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:56px;}
.ndg-ab-card{position:relative;grid-column:span 4;border-radius:22px;background:#fffdf9;border:1px solid var(--line);padding:34px 30px;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);cursor:default;}
.ndg-ab-card:nth-child(4){grid-column:span 6;}
.ndg-ab-card:nth-child(5){grid-column:span 6;}
.ndg-ab-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(58,38,25,.14);border-color:rgba(201,169,106,.6);}
.ndg-ab-card-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--gold-2);background:linear-gradient(135deg,#f7eeda,#ecd9ad);margin-bottom:22px;transition:transform .45s var(--ease);}
.ndg-ab-card:hover .ndg-ab-card-icon{transform:scale(1.08) rotate(-6deg);}
.ndg-ab-card h3{font-family:var(--title-font);font-size:24px;font-weight:800;color:var(--ink);margin:0 0 10px;}
.ndg-ab-card p{color:#7a6550;font-size:14.5px;line-height:1.7;font-weight:300;margin:0;}
.ndg-ab-card-num{position:absolute;top:18px;right:22px;font-family:var(--title-font);font-size:20px;color:rgba(150,111,42,.35);}
.ndg-ab-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transition:opacity .45s var(--ease);}
.ndg-ab-card:hover::before{opacity:1;}

/* ---------- QUOTE · parallax image band ---------- */
.ndg-ab-quote{position:relative;min-height:72vh;display:flex;align-items:center;overflow:hidden;background:#241810;}
.ndg-ab-quote-bg{position:absolute;inset:-10%;background-size:cover;background-position:center;will-change:transform;}
.ndg-ab-quote-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,17,10,.92) 0%,rgba(26,17,10,.55) 55%,rgba(26,17,10,.2) 100%);}
.ndg-ab-quote-inner{position:relative;z-index:2;max-width:900px;}
.ndg-ab-quote-mark{font-family:var(--title-font);font-size:110px;line-height:0;color:var(--gold);display:block;margin-bottom:26px;}
.ndg-ab-quote blockquote{font-family:var(--title-font);font-size:clamp(26px,3.6vw,46px);line-height:1.3;color:#fff;font-weight:800;margin:0;}
.ndg-ab-quote blockquote em{color:var(--gold);}
.ndg-ab-quote cite{display:flex;align-items:center;gap:14px;margin-top:30px;font-style:normal;color:rgba(245,239,226,.75);font-size:14px;letter-spacing:.06em;}
.ndg-ab-quote cite::before{content:"";width:40px;height:1px;background:var(--gold);}

/* ---------- TIMELINE · journey ---------- */
.ndg-ab-timeline{position:relative;margin-top:clamp(40px,6vw,64px);padding-left:34px;}
.ndg-ab-timeline::before{content:"";position:absolute;left:10px;top:6px;bottom:6px;width:1px;background:linear-gradient(180deg,var(--gold-2),rgba(150,111,42,.15));}
.ndg-ab-step{position:relative;padding:0 0 46px 26px;}
.ndg-ab-step:last-child{padding-bottom:0;}
.ndg-ab-step::before{content:"";position:absolute;left:-34px;top:4px;width:21px;height:21px;border-radius:50%;background:#fffdf9;border:2px solid var(--gold-2);box-shadow:0 0 0 5px #f5efe2;transition:background .4s var(--ease);}
.ndg-ab-step.is-in::before{background:var(--gold-2);}
.ndg-ab-step .ndg-ab-step-y{font-family:var(--title-font);color:var(--gold-2);font-size:16px;letter-spacing:.14em;font-weight:800;}
.ndg-ab-step h3{font-family:var(--title-font);font-size:26px;font-weight:800;color:var(--ink);margin:6px 0 8px;}
.ndg-ab-step p{color:#6d5947;font-size:15px;line-height:1.7;font-weight:300;max-width:56ch;margin:0;}

/* ---------- CTA · gold band ---------- */
.ndg-ab-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#c9a96a,#a8843f 55%,#c9a96a);color:#2b1c10;text-align:center;padding:clamp(64px,9vw,110px) 24px;}
.ndg-ab-cta h2{font-family:var(--title-font);font-size:clamp(34px,5vw,68px);font-weight:800;line-height:1.05;margin:0 0 14px;color:#2b1c10;}
.ndg-ab-cta h2 em{font-style:italic;}
.ndg-ab-cta p{max-width:52ch;margin:0 auto 32px;color:rgba(43,28,16,.78);font-size:16px;line-height:1.7;font-weight:400;}
.ndg-ab-cta .ndg-ab-btn-gold{background:#2b1c10;color:#e9ddc6;box-shadow:0 18px 50px rgba(43,28,16,.35);}
.ndg-ab-cta .ndg-ab-btn-gold:hover{background:#3a2619;}
.ndg-ab-cta-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(640px,80vw);aspect-ratio:1;border:1px solid rgba(43,28,16,.18);border-radius:50%;pointer-events:none;}
.ndg-ab-cta-ring.r2{width:min(860px,96vw);}
.ndg-ab-cta-ring.r3{width:min(1080px,120vw);}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1023px){
    .ndg-ab-story{grid-template-columns:1fr;}
    .ndg-ab-floatcard{left:16px;bottom:18px;}
    .ndg-ab-nums{grid-template-columns:repeat(2,1fr);}
    .ndg-ab-card,.ndg-ab-card:nth-child(4),.ndg-ab-card:nth-child(5){grid-column:span 12;}
    .ndg-ab-scrollcue{display:none;}
}
@media (max-width:600px){
    .ndg-ab-nums{grid-template-columns:1fr 1fr;}
    .ndg-ab-hero{min-height:86vh;}
    .ndg-ab-hero-cta{gap:16px;}
    .ndg-ab-btn{padding:15px 24px;font-size:13px;}
}

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