/* Norlane Dental - All-On-X information evening promo (Dec 2026). Scoped .nd-aox-* */
.nd-aox{--ink:#0a1f3d;--ink2:#132c52;--gold:#c8a25b;--gold2:#b08a3e;--ivory:#fbf7f0;--line:rgba(200,162,91,.35);font-family:Manrope,system-ui,sans-serif;color:var(--ink)}
.nd-aox *{box-sizing:border-box}
.nd-aox .k{font:600 12.5px/1.4 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);display:flex;align-items:center;gap:12px;margin:0}
.nd-aox .k:before{content:"";width:36px;height:1px;background:var(--gold)}
.nd-aox .h{font:200 clamp(38px,5vw,72px)/1.04 Fraunces,Georgia,serif;letter-spacing:-.045em;margin:18px 0 0;color:inherit}
.nd-aox .h em{font-style:italic;color:var(--gold)}
.nd-aox .s{font:400 17px/1.6 Manrope,sans-serif;margin:20px 0 0;max-width:46ch;opacity:.9}
.nd-aox .meta{display:flex;flex-wrap:wrap;gap:10px 36px;margin:26px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}
.nd-aox .meta div{font:600 11.5px/1.5 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.nd-aox .meta b{display:block;color:var(--gold);font-weight:600;font-style:italic;font-family:Fraunces,serif;letter-spacing:0;text-transform:none;font-size:14px}
.nd-aox .btns{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin-top:30px}
.nd-aox .btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;background:var(--ink);color:#fff;font:600 13px Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink);transition:background .2s,color .2s}
.nd-aox .btn:hover,.nd-aox .btn:focus-visible{background:var(--gold2);border-color:var(--gold2);color:#fff}
.nd-aox .lnk{font:600 13px Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:inherit;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px}
.nd-aox a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Homepage hero slide */
.nd-hero-rot{position:relative}
.nd-hero-rot>.nd-slide{display:none}
.nd-hero-rot>.nd-slide.on{display:block;animation:ndfade .7s ease}
.nd-hero-rot>.nd-aox-hero.nd-slide.on{display:grid}
@keyframes ndfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.nd-hero-rot>.nd-slide.on{animation:none}}
.nd-aox-hero{display:grid;grid-template-columns:1fr 1fr;min-height:585px;background:var(--ivory)}
.nd-aox-hero .img{background-size:cover;background-position:50% 35%;min-height:320px}
.nd-aox-hero .h{font-size:clamp(38px,4.4vw,64px)}
.nd-aox-hero .txt{padding:64px clamp(24px,5vw,80px);display:flex;flex-direction:column;justify-content:center}
.nd-dots{position:absolute;right:max(20px,3vw);bottom:18px;display:flex;gap:10px;z-index:5}
.nd-dots button{width:28px;height:3px;border:0;padding:0;background:rgba(10,31,61,.25);cursor:pointer}
.nd-dots button[aria-current="true"]{background:#c8a25b}
@media (max-width:900px){.nd-aox-hero{grid-template-columns:1fr}.nd-aox-hero .img{aspect-ratio:4/3}.nd-aox-hero .txt{padding:36px 24px 56px}}

/* Page band (implants pages) */
.nd-aox-band{background:var(--ink);color:#fff}
.nd-aox-band .in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:5fr 7fr;align-items:stretch}
.nd-aox-band .img{background-size:cover;background-position:50% 55%;min-height:300px}
.nd-aox-band .txt{padding:56px clamp(24px,5vw,72px)}
.nd-aox-band .k{color:var(--gold)}
.nd-aox-band .h{font-size:clamp(32px,3.6vw,52px);color:#fff}
.nd-aox-band .btn{background:var(--gold2);border-color:var(--gold2)}
.nd-aox-band .btn:hover{background:#fff;color:var(--ink);border-color:#fff}
.nd-aox-band .lnk{color:#fff}
@media (max-width:900px){.nd-aox-band .in{grid-template-columns:1fr}.nd-aox-band .img{aspect-ratio:16/9;min-height:0}.nd-aox-band .txt{padding:36px 24px 44px}}

/* RSVP form (info session page) */
.nd-aox-form{background:#fff;border:1px solid rgba(10,31,61,.12);padding:clamp(24px,4vw,44px);max-width:640px}
.nd-aox-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.nd-aox-form .row{grid-template-columns:1fr}}
.nd-aox-form label{display:block;font:600 12px Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}
.nd-aox-form .f{margin:0 0 18px}
.nd-aox-form input,.nd-aox-form select{width:100%;font:400 16px Manrope,sans-serif;padding:13px 14px;border:1px solid rgba(10,31,61,.25);border-radius:0;background:#fff;color:var(--ink)}
.nd-aox-form input:focus,.nd-aox-form select:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.nd-aox-form .chk{display:flex;gap:10px;align-items:flex-start;font:400 13.5px/1.5 Manrope,sans-serif;margin:6px 0 20px}
.nd-aox-form .chk input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
.nd-aox-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nd-aox-form button{width:100%;justify-content:center;cursor:pointer}
.nd-aox-form .note{font:400 12.5px/1.5 Manrope,sans-serif;opacity:.75;margin-top:14px}
.nd-aox-form .msg{display:none;padding:16px 18px;margin-top:16px;font:500 15px/1.5 Manrope,sans-serif}
.nd-aox-form .msg.ok{display:block;background:#f3efe4;border-left:3px solid var(--gold)}
.nd-aox-form .msg.err{display:block;background:#fbeaea;border-left:3px solid #b3261e}
.nd-aox-when{display:inline-block;background:var(--ivory);border:1px solid var(--line);padding:10px 16px;font:600 13px Manrope,sans-serif;letter-spacing:.06em;margin:4px 0 18px}

/* Dropdown legibility: force light native popups (fixes blank-looking options in dark mode / macOS / iOS) */
.nd-aox-form select,.wpcf7 select{color-scheme:light}
.nd-aox-form select option,.wpcf7 select option{color:#0a1f3d;background-color:#fff}
.nd-aox-form select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#0a1f3d 50%),linear-gradient(135deg,#0a1f3d 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}

/* Form field consistency (override theme input styles) */
.nd-aox-form input[type=text],.nd-aox-form input[type=tel],.nd-aox-form input[type=email],.nd-aox-form input:not([type]),.nd-aox-form select{background-color:#fff!important;border:1px solid rgba(10,31,61,.25)!important;color:#0a1f3d!important;height:auto;box-shadow:none!important;border-radius:0!important}
.nd-aox-form label.chk{text-transform:none;letter-spacing:0;font-weight:400;font-size:13.5px;line-height:1.5}
.nd-aox-form label.chk a{color:#b08a3e;text-decoration:underline}
.nd-aox-hero .img{background-position:50% 30%}
