/* =====================================================================
   NOCTURNE - Red Rock Neuropsychiatry (Mach DevOps, Sept 2026)
   Shipped inside the theme (css/nocturne.css, enqueued after main.css).
   Restyles only - no theme class is renamed, every block stays editable.
   Palette: ink #0E0E12 / graphite #16161C / panel #1C1C24
            champagne #D8B36A / crimson #8A2430 / ivory #ECE8E0
   ===================================================================== */

:root{
	--nq-ink:#0E0E12;--nq-graphite:#16161C;--nq-panel:#1C1C24;
	--nq-gold:#D8B36A;--nq-gold-soft:#B99755;--nq-crimson:#8A2430;
	--nq-ivory:#ECE8E0;--nq-mute:#9C97A6;--nq-hair:rgba(216,179,106,.28);
	--nq-banner-h:38px;
}

/* ---------- base ---------- */
body{background:var(--nq-ink);color:var(--nq-ivory);font-family:'Figtree',sans-serif;font-weight:300;font-size:17px;line-height:1.8;letter-spacing:.01em;}
p{color:var(--nq-mute);}
.h1,h1,.h2,h2,.h3,h3,.h4,h4,.h5,h5,.h6,h6,.heading{font-family:'Marcellus',serif;font-weight:400;color:var(--nq-ivory);text-transform:none;}
h1{font-size:clamp(40px,5.2vw,74px);line-height:1.08;letter-spacing:.005em;}
h2,.heading{font-size:clamp(28px,3.4vw,46px);line-height:1.18;}
h3{font-size:24px;}
a{color:var(--nq-gold);text-decoration:none;}
a:hover{color:var(--nq-gold-soft)!important;}
img{border-radius:0;}
.nq-gold{color:var(--nq-gold);}
.nq-eyebrow,p.nq-eyebrow,span.nq-eyebrow{
	display:block;color:var(--nq-gold)!important;font-family:'Figtree',sans-serif;
	font-size:12px;font-weight:400;letter-spacing:.4em;text-transform:uppercase;
	line-height:1.6;margin:0 0 22px;
}
.nq-rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px auto 0;}
.nq-rule:before,.nq-rule:after{content:"";width:60px;height:1px;background:var(--nq-hair);}
.nq-rule span{width:5px;height:5px;transform:rotate(45deg);background:var(--nq-gold);display:block;}

/* ---------- crisis banner (fixed above the fixed header; markup in header.php) ---------- */
.nq-crisis{
	position:fixed;top:0;left:0;right:0;z-index:10000;
	height:var(--nq-banner-h);display:flex;align-items:center;justify-content:center;
	background:var(--nq-crimson);color:var(--nq-ivory);
	font-family:'Figtree',sans-serif;font-size:12.5px;line-height:1.35;text-align:center;padding:0 16px;
}
header.header{top:var(--nq-banner-h)!important;}

/* ---------- buttons ---------- */
.btn,.button,a.btn{
	display:inline-block;width:auto;
	background:linear-gradient(135deg,var(--nq-gold),var(--nq-gold-soft))!important;
	color:var(--nq-ink)!important;border:0!important;border-radius:0!important;
	padding:17px 42px!important;font-family:'Figtree',sans-serif!important;
	font-size:12px!important;font-weight:500!important;letter-spacing:.24em!important;
	text-transform:uppercase!important;line-height:1.2!important;
	transition:box-shadow .35s ease,transform .35s ease!important;
}
.btn:hover,.button:hover,a.btn:hover{color:var(--nq-ink)!important;box-shadow:0 0 34px rgba(216,179,106,.35);transform:translateY(-2px);}
a.btn.btn-nq-line{background:transparent!important;color:var(--nq-gold)!important;border:1px solid var(--nq-hair)!important;}
a.btn.btn-nq-line:hover{background:rgba(216,179,106,.08)!important;border-color:var(--nq-gold)!important;color:var(--nq-gold)!important;box-shadow:none;}
.nq-actions,p.nq-actions{display:flex;flex-wrap:wrap;gap:16px;margin:36px 0 0;max-width:none!important;}
.btn::after,a.btn::after{display:none!important;}
.nq-actions .btn{margin:0!important;}

/* ---------- header ---------- */
.header-search{display:none!important;}
header.header{background:rgba(14,14,18,.86);backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,179,106,.16);}
header.header.shrink{background:var(--nq-ink);}
.menu-top li a,.header_phone_number{color:var(--nq-ivory);font-family:'Figtree',sans-serif;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;}
.menu-top li a:hover{color:var(--nq-gold)!important;}
.header-phone{background-color:var(--nq-crimson)!important;}
.header-booking-button{background:linear-gradient(135deg,var(--nq-gold),var(--nq-gold-soft))!important;color:var(--nq-ink)!important;}
.header-booking-button svg path{fill:var(--nq-ink)!important;}

/* ---------- 1. Hero ---------- */
.home-banner2.hero-nocturne{
	background-color:var(--nq-ink);
	background-size:0 0;              /* parent keeps the image for the frame below */
	position:relative;overflow:hidden;
}
.home-banner2.hero-nocturne:before{          /* breathing halo */
	content:"";position:absolute;left:44%;top:50%;width:680px;height:680px;margin:-340px 0 0 -340px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(138,36,48,.30) 0%,rgba(138,36,48,.07) 45%,transparent 70%);
	animation:nqBreathe 6s ease-in-out infinite;pointer-events:none;z-index:0;
}
.home-banner2.hero-nocturne:after{           /* the framed photograph */
	content:"";position:absolute;right:6.5%;top:50%;width:35%;aspect-ratio:16/8.6;
	transform:translateY(-50%);z-index:1;
	background-image:inherit;background-size:cover;background-position:center;
	outline:1px solid var(--nq-hair);outline-offset:-14px;
	filter:saturate(.85) contrast(1.05);
}
@keyframes nqBreathe{0%,100%{transform:scale(1);opacity:.5;}45%,55%{transform:scale(1.18);opacity:.85;}}
@media (prefers-reduced-motion:reduce){.home-banner2.hero-nocturne:before{animation:none;}}
.home-banner2.hero-nocturne .bg-over{
	background:linear-gradient(90deg,var(--nq-ink) 0%,var(--nq-ink) 44%,rgba(14,14,18,0) 60%)!important;
	padding:calc(150px + var(--nq-banner-h)) 0 120px!important;
	height:auto!important;min-height:620px!important;
	display:flex!important;align-items:center!important;position:relative;z-index:2;
}
.home-banner2.hero-nocturne .col-md-7{max-width:52%;flex:0 0 52%;}
.home-banner2.hero-nocturne h1{color:var(--nq-ivory);margin-bottom:26px;}
.home-banner2.hero-nocturne h1 .nq-gold{display:block;}
.home-banner2.hero-nocturne p{color:var(--nq-mute);font-size:17px;max-width:480px;margin-bottom:0;}
.home-banner2.hero-nocturne .col-md-7 > p:first-of-type{display:none;} /* template's empty wrapper */

/* ---------- 2. Trust strip ---------- */
.nq-trust{background:var(--nq-graphite);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);}
.nq-trust .row{margin:0;}
.nq-trust .nq-trust-item{padding:32px 20px;text-align:center;border-left:1px solid rgba(255,255,255,.06);}
.nq-trust .nq-trust-item:first-child{border-left:0;}
.nq-trust .nq-trust-k{font-family:'Marcellus',serif;font-size:19px;color:var(--nq-gold);line-height:1.3;}
.nq-trust .nq-trust-v{font-size:12.5px;letter-spacing:.08em;color:var(--nq-mute);margin-top:6px;line-height:1.5;}

/* ---------- 3 + 5. Image + text sections (The Practice, Dr. Mendez) ---------- */
.content-right-image-left,.content-left-image-right{background-color:var(--nq-ink);padding:110px 0;}
.content-right-image-left.nq-doctor{background-color:var(--nq-ink);border-top:1px solid rgba(255,255,255,.06);}
.content-right-image-left .row,.content-left-image-right .row{align-items:center;}
.image-border{position:relative;display:inline-block;max-width:100%;}
.image-border img{display:block;width:100%;height:auto;border:0;padding:0;background:none;filter:saturate(.85);}
.image-border:after{content:"";position:absolute;inset:14px;border:1px solid var(--nq-hair);pointer-events:none;}
.nq-doctor .image-border{max-width:440px;}
.text-side{display:flex;flex-direction:column;padding-left:24px;}
.text-side p.nq-eyebrow{order:-1;}
.text-side h2,.text-side .heading{margin-bottom:24px;}
.text-side p{color:var(--nq-mute);font-size:16.5px;line-height:1.9;margin-bottom:18px;}
.text-side .btn{align-self:flex-start;}

/* ---------- 4. Services (icon-box) ---------- */
.icon_box-sec{background-color:var(--nq-graphite)!important;padding:110px 0 100px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);}
.icon_box-sec .col-md-12{margin-bottom:46px;}
.icon_box-sec h2{color:var(--nq-ivory)!important;text-transform:none;margin:0;}
.icon_box-sec h2 .nq-eyebrow{margin-bottom:22px;}
.icon_box-sec .row>div[class*="col-"]{
	padding:40px 34px;margin:12px 0;text-align:left;
	background:linear-gradient(180deg,var(--nq-panel),var(--nq-graphite));
	border:1px solid rgba(255,255,255,.05);border-top:1px solid var(--nq-hair);
	transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .4s;
}
.icon_box-sec .row>div[class*="col-"]:hover{transform:translateY(-6px);border-top-color:var(--nq-gold);box-shadow:0 24px 60px rgba(0,0,0,.5);}
.icon_box-sec .row>div.col-md-12{background:none;border:0;padding:0;box-shadow:none;transform:none;text-align:center;}
.icon_box-sec img{display:none;}
.icon_box-sec .icon_box-title{font-family:'Marcellus',serif;font-size:21px;line-height:1.3;color:var(--nq-ivory);margin-bottom:12px;text-transform:none;}
.icon_box-sec p{color:var(--nq-mute);font-size:14.5px;line-height:1.75;margin:0;}

/* ---------- 6. Closing CTA (text-block) ---------- */
.content-block.nq-cta{background:var(--nq-graphite);margin-top:0!important;padding:110px 0;text-align:center;position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.06);}
.content-block.nq-cta:before{content:"";position:absolute;left:50%;top:50%;width:500px;height:500px;margin:-250px 0 0 -250px;border-radius:50%;background:radial-gradient(circle,rgba(216,179,106,.10) 0%,transparent 65%);animation:nqBreathe 6s ease-in-out infinite;pointer-events:none;}
.content-block.nq-cta .container{position:relative;}
.content-block.nq-cta h2{font-size:clamp(34px,5vw,60px);margin-bottom:10px;}
.content-block.nq-cta p{color:var(--nq-mute);}
.content-block.nq-cta .nq-actions{justify-content:center;}

/* ---------- text-with-form / contact / map ---------- */
.content-with-form{background:var(--nq-graphite);}
.content-with-form h2,.content-with-form h3{color:var(--nq-ivory);}
.content-with-form p,.content-with-form li{color:var(--nq-mute);}
.content-with-form .form-side,.content-with-map .form-side,.form-with-map .form-side,.sidebar-form{background:var(--nq-panel)!important;border:1px solid rgba(255,255,255,.06);}
.content-with-map,.form-with-map{background:var(--nq-ink);}
.content-with-map h2,.form-with-map h2{color:var(--nq-ivory);}
.bg-map iframe{filter:invert(92%) hue-rotate(180deg) saturate(.7) brightness(.92);}

/* ---------- forms (CF7) ---------- */
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea,.wpcf7 select{
	background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.12)!important;color:var(--nq-ivory)!important;border-radius:0!important;
}
.wpcf7 ::placeholder{color:#7b7688!important;}
.wpcf7 input[type=submit]{background:linear-gradient(135deg,var(--nq-gold),var(--nq-gold-soft))!important;color:var(--nq-ink)!important;border:0!important;border-radius:0!important;letter-spacing:.22em;text-transform:uppercase;font-size:12px;padding:16px 40px!important;}

/* ---------- testimonials (About Us) ---------- */
.testimonials,.quotes{background:var(--nq-graphite);}
.quotes h2,.name{color:var(--nq-ivory);}
.quotes p{color:var(--nq-mute);}
.letter-n{background:var(--nq-crimson)!important;color:var(--nq-ivory)!important;}
.star-rating{color:var(--nq-gold);}

/* ---------- footer ---------- */
.site-footer{background:var(--nq-graphite)!important;border-top:1px solid rgba(216,179,106,.16);}
.footer-middle{background-color:rgba(255,255,255,.03)!important;}
.footer-bottom{background:var(--nq-ink)!important;}
.site-footer h2,.site-footer h3,.site-footer .ad-title{color:var(--nq-ivory);font-family:'Marcellus',serif;}
.site-footer p,.site-footer li,.site-footer a,.hour-class,.text-area a{color:var(--nq-mute)!important;}
.site-footer a:hover{color:var(--nq-gold)!important;}
.cta-footer{background:var(--nq-panel)!important;border-top:1px solid var(--nq-hair);}

/* ---------- inner pages ---------- */
.inner-page-banner{background-color:var(--nq-ink);}
.inner-page-banner .bg-over{background:linear-gradient(90deg,var(--nq-ink) 0%,rgba(14,14,18,.55) 70%,rgba(14,14,18,0) 100%)!important;padding-top:calc(200px + var(--nq-banner-h));}
.inner-page-banner h1,.inner-page-banner h2{color:var(--nq-ivory);}
.light-bg,.tms-sec,.video-box,.acc-form-sec .textside,.acc-form-sec .form-side{background-color:var(--nq-graphite)!important;}
.background-image-with-text-left .content-side{background-color:var(--nq-panel)!important;}
.content-block{background:var(--nq-ink);}
.content-block h2{color:var(--nq-ivory);}
.content-block p,.content-block li{color:var(--nq-mute);}

/* ---------- responsive ---------- */
@media (max-width:1199px){
	.home-banner2.hero-nocturne .bg-over{padding:calc(130px + var(--nq-banner-h)) 0 100px!important;min-height:540px!important;}
	.home-banner2.hero-nocturne:after{width:40%;}
}
@media (max-width:991px){
	.home-banner2.hero-nocturne .col-md-7{max-width:100%;flex:0 0 100%;text-align:center;}
	.home-banner2.hero-nocturne .bg-over{
		background:transparent!important;
		padding:calc(120px + var(--nq-banner-h)) 0 300px!important;min-height:0!important;display:block!important;
	}
	.home-banner2.hero-nocturne p{margin:0 auto;}
	.home-banner2.hero-nocturne .nq-actions{justify-content:center;}
	.home-banner2.hero-nocturne:after{right:6%;left:6%;width:auto;top:auto;bottom:44px;height:220px;aspect-ratio:auto;transform:none;}
	.home-banner2.hero-nocturne:before{left:50%;top:auto;bottom:-60px;width:420px;height:420px;margin:0 0 0 -210px;}
	.text-side{padding-left:0;padding-top:30px;}
	.nq-doctor .image-border{margin:0 auto;display:block;}
}
@media (max-width:767px){
	:root{--nq-banner-h:46px;}
	body{font-size:16px;}
	.nq-crisis{font-size:11px;line-height:1.3;}
	.btn,.button,a.btn{padding:15px 28px!important;font-size:11px!important;letter-spacing:.18em!important;}
	.content-right-image-left,.content-left-image-right{padding:60px 0;}
	.icon_box-sec{padding:60px 0 50px;}
	.icon_box-sec .row>div[class*="col-"]{padding:26px 22px;}
	.nq-trust .nq-trust-item{border-left:0;border-top:1px solid rgba(255,255,255,.06);padding:22px 14px;}
	.nq-trust .nq-trust-item:first-child{border-top:0;}
	.content-block.nq-cta{padding:70px 0;}
	.home-banner2.hero-nocturne:after{height:190px;bottom:36px;}
	.home-banner2.hero-nocturne .bg-over{padding:calc(110px + var(--nq-banner-h)) 0 260px!important;}
}
