/* ============================================================
   Noran Hamid — Theme CSS
   Design: Cormorant Garamond + Jost · Sage + Cream + Blush
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --sage:#6B9E71;--sage-l:#EAF2EB;--sage-m:#AECDB4;--sage-d:#2F5C36;
  --warm:#F6F1E9;--warm2:#EAE0CE;--cream:#FAFAF7;
  --dark:#252523;--mid:#555450;--muted:#8A8880;
  --blush:#F0E4E4;--blush-m:#C49A9A;--blush-d:#7A3F3F;
  --white:#FFFFFF;
  --fh:'Cormorant Garamond',serif;
  --fb:'Jost',sans-serif;
  --nh:70px;
}
html,body{overflow-x:hidden}
body{font-family:var(--fb);background:var(--cream);color:var(--dark);line-height:1.65}
a{color:inherit;text-decoration:none}

/* ── NAV ──────────────────────────────────────────────────── */
#sitenav{position:fixed;top:0;left:0;right:0;height:var(--nh);z-index:9999;
  background:rgba(250,250,247,0.96);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--warm2);
  display:flex;align-items:center;justify-content:space-between;padding:0 44px;
  transition:box-shadow .2s}
#sitenav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.06)}
.nl{font-family:var(--fh);font-size:21px;font-weight:500;color:var(--dark);
  letter-spacing:.02em;text-decoration:none;display:inline-flex;align-items:center}
.nl span{color:var(--sage-d)}
.nm{display:flex;align-items:center;gap:24px}
/* direct <a> children */
.nm>a{font-size:12px;font-weight:400;color:var(--mid);text-decoration:none;
  letter-spacing:.06em;text-transform:uppercase;transition:color .2s}
.nm>a:hover,.nm>a.on{color:var(--sage-d)}
.nm>a.vwlink{color:var(--blush-d)!important}
/* wp_nav_menu <ul> output */
.nm ul{list-style:none;display:flex;align-items:center;gap:24px;margin:0;padding:0}
.nm ul li{margin:0;padding:0}
.nm ul li a{font-size:12px;font-weight:400;color:var(--mid);text-decoration:none;
  letter-spacing:.06em;text-transform:uppercase;transition:color .2s}
.nm ul li a:hover,.nm ul li.current-menu-item>a,.nm ul li.current_page_item>a{color:var(--sage-d)}
.nm ul li.vw-nav-link a{color:var(--blush-d)!important}
.nb{background:var(--sage-d);color:#fff;padding:9px 20px;border-radius:6px;
  font-size:12px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;
  font-family:var(--fb);transition:background .2s;text-decoration:none;display:inline-block}
.nb:hover{background:var(--sage);color:#fff}
/* mobile hamburger */
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;
  cursor:pointer;padding:6px}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--dark);
  border-radius:2px;transition:all .25s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── MAIN CONTENT ─────────────────────────────────────────── */
main.site-main{padding-top:var(--nh)}
/* page-wrap is a utility class for inner section containers */
.page-wrap{}

/* ── SHARED ───────────────────────────────────────────────── */
.sec{padding:74px 80px}
.sec-alt{background:var(--warm)}
.lbl{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.lbl-bar{width:28px;height:1px;background:var(--sage)}
.lbl-txt{font-size:11px;color:var(--sage-d);text-transform:uppercase;letter-spacing:.12em;font-weight:500}
.lbl-bar-b{background:var(--blush-m)}
.lbl-txt-b{color:var(--blush-d)}
h2.ht{font-family:var(--fh);font-size:44px;font-weight:400;color:var(--dark);line-height:1.12;margin-bottom:14px}
h2.ht em{font-style:italic;color:var(--sage-d)}
h2.ht em.be{color:var(--blush-d)}
p.sub{font-size:15px;color:var(--mid);line-height:1.78;max-width:600px;font-weight:300;margin-bottom:36px}
.btn{display:inline-block;background:var(--sage-d);color:#fff;padding:13px 26px;border-radius:7px;
  font-size:13.5px;font-weight:500;cursor:pointer;border:none;transition:all .2s;
  font-family:var(--fb);letter-spacing:.02em;text-decoration:none}
.btn:hover{background:var(--sage);transform:translateY(-1px);color:#fff}
.btn-o{background:transparent;color:var(--sage-d);border:1.5px solid var(--sage-d)}
.btn-o:hover{background:var(--sage-l)}
.btn-b{background:var(--blush-m);color:var(--blush-d)}
.btn-b:hover{background:#d4aaaa}
.btn-bo{background:transparent;color:rgba(255,255,255,.65);border:1.5px solid rgba(255,255,255,.3)}
.btn-bo:hover{border-color:rgba(255,255,255,.7);color:#fff}
.btn-outline{background:transparent;color:var(--sage-d);border:1.5px solid var(--sage-d)}
.btn-outline:hover{background:var(--sage-l)}
.btn-o--blush{border-color:var(--blush-m)!important;color:var(--blush-d)!important}
.btn-o--blush:hover{background:rgba(196,154,154,.12)!important}
.fl{display:flex;gap:14px;flex-wrap:wrap}
.bx{background:rgba(255,255,255,.85);border:1px solid var(--sage-m);border-radius:10px;padding:7px 14px;font-size:11.5px;color:var(--mid);font-weight:500}
.bx-g{background:var(--sage-l);border-color:var(--sage-m);color:var(--sage-d)}

/* ── HERO ─────────────────────────────────────────────────── */
.hero{min-height:calc(100vh - var(--nh));display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch}
.hero-l{padding:80px 56px 80px 80px;display:flex;flex-direction:column;justify-content:center}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:var(--sage-l);color:var(--sage-d);
  padding:6px 14px;border-radius:20px;font-size:11.5px;font-weight:500;letter-spacing:.07em;
  text-transform:uppercase;margin-bottom:30px}
.hero-tag::before{content:'';width:6px;height:6px;background:var(--sage);border-radius:50%}
.hero-h1{font-family:var(--fh);font-size:66px;font-weight:300;line-height:1.02;color:var(--dark);margin-bottom:20px}
.hero-h1 em{color:var(--sage-d);font-style:italic}
.hero-p{font-size:15.5px;color:var(--mid);line-height:1.75;max-width:440px;margin-bottom:38px;font-weight:300}
.hero-creds{display:flex;gap:26px;margin-top:44px;padding-top:28px;border-top:1px solid var(--warm2)}
.cred-item{text-align:center}
.cred-n{font-family:var(--fh);font-size:28px;font-weight:500;color:var(--sage-d)}
.cred-l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.hero-r{background:linear-gradient(145deg,var(--sage-l) 0%,var(--warm2) 55%,var(--blush) 100%);
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:540px}
.hero-blob{position:absolute;width:380px;height:500px;background:rgba(107,158,113,.16);
  border-radius:58% 42% 52% 48%/48% 60% 40% 52%;animation:blob 9s ease-in-out infinite}
@keyframes blob{
  0%,100%{border-radius:58% 42% 52% 48%/48% 60% 40% 52%}
  33%{border-radius:42% 58% 38% 62%/62% 40% 60% 38%}
  66%{border-radius:52% 48% 62% 38%/38% 52% 48% 62%}
}
.hero-qbox{position:relative;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.85);border-radius:18px;padding:34px;max-width:290px;text-align:center}
.hero-q{font-family:var(--fh);font-size:21px;font-style:italic;color:var(--sage-d);line-height:1.5}
.hero-qa{margin-top:12px;font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}

/* ── TICKER ───────────────────────────────────────────────── */
.tick-wrap{background:var(--dark);padding:18px 0;overflow:hidden}
.tick-lbl{font-size:10.5px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.14em;text-align:center;margin-bottom:12px}
.tick-mask{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}
.ticker{display:flex;gap:52px;animation:tick 22s linear infinite;width:max-content}
.ticker:hover{animation-play-state:paused}
@keyframes tick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ti{display:flex;align-items:center;gap:9px;white-space:nowrap;color:rgba(255,255,255,.45);font-size:12.5px}
.td{width:4px;height:4px;background:var(--sage);border-radius:50%;flex-shrink:0}

/* ── SOCIAL BAR ───────────────────────────────────────────── */
.soc-bar{display:flex;justify-content:center;align-items:center;gap:14px;padding:16px;
  background:var(--warm);border-top:1px solid var(--warm2)}
.soc-lbl{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-right:6px}
.si{width:38px;height:38px;border-radius:50%;background:var(--white);border:1px solid var(--warm2);
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .22s;
  color:var(--mid);text-decoration:none;flex-shrink:0}
.si:hover{background:var(--sage-d);color:#fff;border-color:var(--sage-d);
  transform:translateY(-3px);box-shadow:0 8px 20px rgba(47,92,54,.25)}
.si svg{width:17px;height:17px;fill:currentColor}

/* ── HOME SERVICES ────────────────────────────────────────── */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.svc-c{background:var(--white);border:1px solid var(--warm2);border-radius:11px;padding:22px;
  cursor:pointer;transition:all .22s;position:relative;overflow:hidden;
  text-decoration:none;display:block;color:inherit}
.svc-c::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--sage);
  transform:scaleX(0);transform-origin:left;transition:transform .3s}
.svc-c:hover::before{transform:scaleX(1)}
.svc-c:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
.svc-ic{width:42px;height:42px;background:var(--sage-l);border-radius:9px;
  display:flex;align-items:center;justify-content:center;margin-bottom:13px;font-size:19px}
.svc-ct{font-size:13.5px;font-weight:500;color:var(--dark);margin-bottom:5px}
.svc-cd{font-size:12px;color:var(--mid);line-height:1.55}
.svc-arr{position:absolute;bottom:16px;right:16px;width:24px;height:24px;background:var(--sage-l);
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;
  color:var(--sage-d);transition:all .2s}
.svc-c:hover .svc-arr{background:var(--sage-d);color:#fff}

/* ── APPROACHES ───────────────────────────────────────────── */
.ap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.ap-item{background:var(--white);border:1px solid var(--warm2);border-radius:11px;
  padding:18px;display:flex;align-items:center;gap:13px}
.ap-ab{width:46px;height:46px;background:var(--dark);color:#fff;border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-family:var(--fh);
  font-size:13px;font-weight:500;flex-shrink:0}
.ap-n{font-size:13.5px;font-weight:500;color:var(--dark);line-height:1.25}
.ap-f{font-size:11.5px;color:var(--muted);margin-top:2px}

/* ── CTA BAND ─────────────────────────────────────────────── */
.cta-band{background:var(--sage-d);padding:56px 80px;color:#fff;
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.cta-q{font-family:var(--fh);font-size:27px;font-style:italic;font-weight:300;line-height:1.5}
.cta-a{margin-top:18px;font-size:11.5px;opacity:.55;letter-spacing:.07em;text-transform:uppercase}
.cta-stats{display:flex;flex-direction:column;gap:20px}
.cta-st{border-top:1px solid rgba(255,255,255,.14);padding-top:20px}
.cta-sn{font-family:var(--fh);font-size:23px}
.cta-sl{font-size:12.5px;opacity:.6;margin-top:3px}

/* ── ABOUT ────────────────────────────────────────────────── */
.ab-hero{padding:62px 80px;background:linear-gradient(138deg,var(--warm) 0%,var(--sage-l) 100%);
  display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:start}
.ab-photo{width:250px;height:316px;background:linear-gradient(145deg,var(--sage-m),var(--warm2));
  border-radius:130px 130px 96px 96px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;overflow:hidden;position:relative}
.ab-photo img.ab-photo-img{width:100%;height:100%;object-fit:cover;object-position:center 28%;
  border-radius:inherit;display:block;position:relative;z-index:1}
.ab-ph-lbl{font-family:var(--fh);font-size:13.5px;color:var(--sage-d);text-align:center;font-style:italic;opacity:.75;padding:0 16px}
.ab-kicker{font-size:11px;font-weight:500;color:var(--sage-d);letter-spacing:.14em;text-transform:uppercase;
  margin:0 0 14px}
.ab-name{font-family:var(--fh);font-size:50px;font-weight:300;line-height:1.08;margin:0 0 10px;color:var(--dark)}
.ab-role{font-family:var(--fb);font-size:15px;color:var(--sage-d);font-weight:600;letter-spacing:.02em;margin:0 0 20px}
.ab-bio{font-size:14.5px;color:var(--mid);line-height:1.85;font-weight:300;margin-top:4px}
.ab-bio-inner p:first-child{margin-top:0}
.noran-ab-photo-tools{display:none;position:absolute;inset:0;z-index:4;align-items:center;justify-content:center;
  background:rgba(47,92,54,.42);border-radius:inherit;pointer-events:none;padding:12px;text-align:center}
.noran-ab-photo-tools .noran-ab-photo-hit{pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;
  align-items:center;gap:8px;margin:0;font:inherit}
.noran-ab-photo-hit__txt{font-family:var(--fb);font-size:12.5px;font-weight:600;color:#fff;line-height:1.35;
  text-shadow:0 1px 3px rgba(0,0,0,.35);max-width:12em}
.noran-ab-photo-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}
body.noran-can-edit.ntx-on .noran-ab-photo-tools{display:flex}
.cr-card{background:var(--white);border:1px solid var(--warm2);border-radius:11px;padding:22px;margin-bottom:13px}
.cr-ct{font-family:var(--fh);font-size:17px;font-weight:500;margin-bottom:3px}
.cr-cs{font-size:12.5px;color:var(--sage-d);font-weight:500;margin-bottom:2px}
.cr-cd{font-size:12px;color:var(--muted)}
.lang-row{display:flex;gap:11px;margin-top:18px}
.lang-c{background:var(--sage-l);border-radius:9px;padding:13px 22px;text-align:center}
.lang-n{font-size:14.5px;font-weight:500;color:var(--sage-d)}
.lang-l{font-size:10px;color:var(--sage);margin-top:2px;text-transform:uppercase;letter-spacing:.07em}
.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.ab-details{padding:58px 80px;background:var(--cream)}
.ab-details-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px}

/* ── SERVICES PAGE ────────────────────────────────────────── */
.svc-hero{padding:58px 80px;background:var(--warm);border-bottom:1px solid var(--warm2)}
.svc-full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:46px 80px}
.sf-card{background:var(--white);border:1px solid var(--warm2);border-radius:12px;padding:30px;
  transition:all .22s;text-decoration:none;display:block;color:inherit}
.sf-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(0,0,0,.09);border-color:var(--sage-m)}
.sf-ic{width:50px;height:50px;background:var(--sage-l);border-radius:11px;
  display:flex;align-items:center;justify-content:center;margin-bottom:17px;font-size:21px}
.sf-t{font-family:var(--fh);font-size:21px;font-weight:500;color:var(--dark);margin-bottom:9px}
.sf-d{font-size:13px;color:var(--mid);line-height:1.68}
.sf-lnk{display:inline-flex;align-items:center;gap:5px;margin-top:14px;font-size:12.5px;color:var(--sage-d);font-weight:500}

/* ── SERVICE DETAIL ───────────────────────────────────────── */
.dt-hero{padding:58px 80px;background:linear-gradient(132deg,var(--sage-l),var(--warm));
  display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px}
.dt-body{padding:58px 80px;display:grid;grid-template-columns:2fr 1fr;gap:56px;align-items:start}
.dt-txt h3{font-family:var(--fh);font-size:23px;margin:26px 0 10px}
.dt-txt p,.dt-txt li{font-size:14.5px;color:var(--mid);line-height:1.75;font-weight:300}
.dt-txt ul{padding-left:18px;margin-top:7px}
.dt-txt li{margin-bottom:6px}
.dt-side{background:var(--white);border:1px solid var(--warm2);border-radius:12px;padding:26px;position:sticky;top:84px}
.dt-side h4{font-family:var(--fh);font-size:17px;margin-bottom:14px}
.dt-si{padding:9px 0;border-bottom:1px solid var(--warm2);font-size:13px;color:var(--mid)}
.dt-si:last-child{border:none}

/* ── CORPORATE ────────────────────────────────────────────── */
.co-hero{padding:70px 80px;background:var(--dark);color:#fff}
.co-hero-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(107,158,113,.17);color:var(--sage-m);
  padding:5px 13px;border-radius:18px;font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;
  margin-bottom:22px}
.co-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.co-h1{font-family:var(--fh);font-size:50px;font-weight:300;line-height:1.08;margin-bottom:15px}
.co-h1 em{color:var(--sage-m);font-style:italic}
.co-sub{font-size:15px;color:rgba(255,255,255,.58);line-height:1.75;font-weight:300}
.co-stats{background:rgba(255,255,255,.05);border-radius:16px;border:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.co-stat{padding:28px;text-align:center;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.co-stat:nth-child(2n){border-right:none}
.co-stat:nth-child(3),.co-stat:nth-child(4){border-bottom:none}
.co-sn{font-family:var(--fh);font-size:36px;color:var(--sage-m)}
.co-sl{font-size:11.5px;color:rgba(255,255,255,.38);margin-top:3px}
.co-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:58px 80px}
.co-card{background:var(--white);border:1px solid var(--warm2);border-radius:12px;padding:28px}
.co-cn{font-family:var(--fh);font-size:34px;color:var(--warm2);font-weight:400;margin-bottom:10px}
.co-ct{font-size:14.5px;font-weight:500;color:var(--dark);margin-bottom:7px}
.co-cd{font-size:12.5px;color:var(--mid);line-height:1.62}
.co-proc{background:var(--warm);padding:58px 80px}
.co-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.co-step{text-align:center;padding:22px 14px}
.co-step-n{width:50px;height:50px;background:var(--sage-d);color:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:20px;margin:0 auto 14px}
.co-step-t{font-weight:500;font-size:13.5px;margin-bottom:5px}
.co-step-d{font-size:12px;color:var(--mid)}
.co-why{padding:58px 80px;background:var(--cream)}
.noran-can-edit .co-why{position:relative}
.co-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.co-why-c-wrap{display:flex;position:relative}
.co-why-c-wrap > .co-why-c{flex:1;display:flex;flex-direction:column;min-width:0}
.co-why-c{background:var(--white);border:1px solid var(--warm2);border-radius:12px;padding:26px}
.co-why-ic{font-size:26px;margin-bottom:12px}
.co-why-t{font-size:14px;font-weight:500;color:var(--dark);margin-bottom:7px}
.co-why-d{font-size:12.5px;color:var(--mid);line-height:1.65}
.co-progs{padding:58px 80px;background:var(--white)}
.co-progs .co-grid{padding:0}
.co-tag{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--sage-m);background:rgba(107,158,113,.13);border:1px solid rgba(107,158,113,.25);
  border-radius:4px;padding:5px 12px;margin-bottom:18px}
.co-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--warm2)}
.co-tags .co-tag{font-size:11px;background:var(--sage-l);color:var(--sage-d);border:none;
  letter-spacing:normal;text-transform:none;margin-bottom:0;padding:3px 9px}
.co-card-top{margin-bottom:auto}
.co-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;
  padding-top:14px;border-top:1px solid var(--warm2)}
.co-dur{font-size:11.5px;color:var(--sage-d);font-weight:500}
.co-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}

/* ── EVENTS ───────────────────────────────────────────────── */
.ev-hero{padding:58px 80px;background:var(--warm);border-bottom:1px solid var(--warm2)}
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:44px 80px}
.ev-card{background:var(--white);border:1px solid var(--warm2);border-radius:12px;overflow:hidden;transition:all .22s}
.ev-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.09)}
.ev-img{height:200px;background:linear-gradient(135deg,var(--sage-l),var(--warm2));
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.ev-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.ev-badge{position:absolute;top:13px;left:13px;background:var(--sage-d);color:#fff;
  padding:4px 11px;border-radius:11px;font-size:10.5px;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;z-index:2}
.ev-ph{font-family:var(--fh);font-size:13.5px;color:var(--sage-d);text-align:center;
  font-style:italic;opacity:.6;position:relative;z-index:1}
.ev-body{padding:22px}
.ev-dt{font-size:11px;color:var(--sage-d);font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px}
.ev-t{font-family:var(--fh);font-size:19px;font-weight:500;margin-bottom:7px;line-height:1.3}
.ev-d{font-size:12.5px;color:var(--mid);line-height:1.6;margin-bottom:15px}
.ev-spots{font-size:12px;color:var(--blush-d);margin-bottom:12px}
.ev-btn{width:100%;background:var(--sage-d);color:#fff;border:none;padding:11px;border-radius:7px;
  font-size:12.5px;font-weight:500;cursor:pointer;font-family:var(--fb);transition:background .2s;
  text-decoration:none;display:block;text-align:center}
.ev-btn:hover{background:var(--sage);color:#fff}
.up-zone{border:2px dashed var(--sage-m);border-radius:12px;padding:32px;text-align:center;
  background:var(--sage-l);margin:36px 80px 0}
.up-ic{font-size:30px;margin-bottom:8px}
.up-t{font-size:14px;font-weight:500;color:var(--sage-d);margin-bottom:5px}
.up-d{font-size:12.5px;color:var(--mid)}

/* ── CONTACT ──────────────────────────────────────────────── */
.ct-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--nh))}
.ct-info{background:var(--dark);color:#fff;padding:62px}
.ct-h1{font-family:var(--fh);font-size:44px;font-weight:300;margin-bottom:11px;line-height:1.12}
.ct-h1 em{color:var(--sage-m);font-style:italic}
.ct-sub{font-size:14.5px;color:rgba(255,255,255,.55);line-height:1.78;margin-bottom:38px;font-weight:300}
.ct-det{display:flex;align-items:flex-start;gap:15px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.ct-det:last-of-type{border:none}
.ct-dic{width:38px;height:38px;background:rgba(255,255,255,.07);border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.ct-dl{font-size:10.5px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.09em;margin-bottom:3px}
.ct-dv{font-size:14px;color:rgba(255,255,255,.82)}
.ct-dv a{color:inherit;text-decoration:none}
.ct-dv a:hover{text-decoration:underline}
.ct-dv.ct-avail{white-space:pre-line}
.ct-note{margin-top:28px;font-size:13px;color:rgba(255,255,255,.4);line-height:1.65}
.ct-form{background:var(--warm);padding:62px}
.ct-ft{font-family:var(--fh);font-size:29px;font-weight:400;color:var(--dark);margin-bottom:26px}
.fl-lbl{display:block;font-size:11px;font-weight:500;color:var(--mid);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.fl-inp,.fl-sel,.fl-ta{width:100%;padding:11px 15px;background:var(--white);
  border:1px solid var(--warm2);border-radius:8px;font-size:13.5px;color:var(--dark);
  font-family:var(--fb);outline:none;transition:border-color .2s;appearance:none;margin-bottom:18px}
.fl-inp:focus,.fl-sel:focus,.fl-ta:focus{border-color:var(--sage-m)}
.fl-ta{height:110px;resize:vertical}
.fl-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fl-sub{width:100%;background:var(--sage-d);color:#fff;border:none;padding:14px;border-radius:8px;
  font-size:13.5px;font-weight:500;cursor:pointer;font-family:var(--fb);
  transition:background .2s;letter-spacing:.02em}
.fl-sub:hover{background:var(--sage)}
.fl-note{font-size:11.5px;color:var(--muted);margin-top:12px;text-align:center;font-style:italic}
.form-success{background:var(--sage-l);border:1px solid var(--sage-m);color:var(--sage-d);
  padding:14px 18px;border-radius:8px;font-size:13.5px;margin-bottom:18px}
.form-error{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;
  padding:14px 18px;border-radius:8px;font-size:13.5px;margin-bottom:18px}
.form-privacy-note{font-size:11.5px;color:var(--muted);margin-top:12px;text-align:center}

/* ── VOICE WITHIN ─────────────────────────────────────────── */
.vw-hero{min-height:56vh;background:linear-gradient(148deg,#1C1015 0%,#2A1A1E 45%,#192018 100%);
  padding:80px;display:flex;align-items:center;position:relative;overflow:hidden}
.vw-hero-fx{position:absolute;inset:0;
  background:radial-gradient(ellipse at 28% 54%,rgba(196,154,154,.11) 0%,transparent 58%),
             radial-gradient(ellipse at 72% 28%,rgba(107,158,113,.09) 0%,transparent 50%)}
.vw-hc{position:relative;max-width:680px}
.vw-eye{display:flex;align-items:center;gap:9px;margin-bottom:26px}
.vw-eye-bar{width:24px;height:1px;background:var(--blush-m)}
.vw-eye-t{font-size:10.5px;color:var(--blush-m);text-transform:uppercase;letter-spacing:.15em;font-weight:500}
.vw-h1{font-family:var(--fh);font-size:70px;font-weight:300;line-height:.98;color:#fff;margin-bottom:19px}
.vw-h1 em{font-style:italic;color:var(--blush-m)}
.vw-p{font-size:15px;color:rgba(255,255,255,.5);line-height:1.82;font-weight:300;max-width:540px;margin-bottom:32px}
.vw-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.vw-lh{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:16px;flex-wrap:wrap}
.vw-miss{background:#FAF5F6;padding:58px 80px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.vw-miss-l{font-family:var(--fh);font-size:36px;font-weight:300;color:var(--dark);line-height:1.22}
.vw-miss-l em{font-style:italic;color:var(--blush-d)}
.vw-miss-r{font-size:14.5px;color:var(--mid);line-height:1.85;font-weight:300}
.vw-miss-r p+p{margin-top:13px}
.vw-lets{padding:58px 80px;background:var(--cream)}
.vw-lg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vw-lg.noran-vw-root .vw-lc-wrap{display:flex;position:relative;align-items:stretch;min-width:0}
.vw-lg.noran-vw-root .vw-lc-wrap > .vw-lc{flex:1;min-width:0}
textarea.noran-vw-src{display:none!important}
.vw-lc{background:var(--white);border:1px solid var(--warm2);border-radius:14px;padding:26px;
  transition:all .22s;position:relative;overflow:hidden}
.vw-lc::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--blush-m),var(--sage-m));
  transform:scaleX(0);transform-origin:left;transition:transform .3s}
.vw-lc:hover::before{transform:scaleX(1)}
.vw-lc:hover{transform:translateY(-4px);box-shadow:0 14px 38px rgba(0,0,0,.09)}
.vw-lt{display:inline-block;background:var(--blush);color:var(--blush-d);padding:3px 11px;
  border-radius:11px;font-size:10.5px;font-weight:500;letter-spacing:.05em;margin-bottom:13px}
.vw-lq{font-family:var(--fh);font-size:17.5px;font-style:italic;color:var(--dark);line-height:1.5;margin-bottom:14px}
.vw-lb{font-size:13px;color:var(--mid);line-height:1.68;margin-bottom:18px}
.vw-lf{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--warm2);padding-top:13px}
.vw-lf-from{font-size:11.5px;color:var(--muted);font-style:italic}
.vw-lf-r{display:flex;align-items:center;gap:10px}
.vw-rm{font-size:11.5px;color:var(--blush-d);font-weight:500;cursor:pointer;background:none;border:none;font-family:var(--fb)}
.vw-rm:hover{text-decoration:underline}
.vw-hrt{font-size:15px;cursor:pointer;transition:transform .18s;line-height:1;background:none;border:none}
.vw-hrt:hover{transform:scale(1.3)}
.vw-write{background:linear-gradient(148deg,#2A1A1E,#192018);padding:70px 80px;
  display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:start}
.vw-wl{color:#fff}
.vw-wt{font-family:var(--fh);font-size:42px;font-weight:300;line-height:1.12;margin-bottom:14px}
.vw-wt em{font-style:italic;color:var(--blush-m)}
.vw-ws{font-size:14.5px;color:rgba(255,255,255,.5);line-height:1.82;font-weight:300;margin-bottom:28px}
.vw-pr{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}
.vw-pri{width:30px;height:30px;background:rgba(196,154,154,.14);border-radius:6px;
  display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-top:1px}
.vw-prt{font-size:13.5px;color:rgba(255,255,255,.58);line-height:1.6}
.vw-prt strong{color:rgba(255,255,255,.88);font-weight:500}
.vw-form{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);border-radius:14px;padding:32px}
.vw-fl{display:block;font-size:11px;font-weight:500;color:rgba(255,255,255,.35);
  text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px}
.vw-fi,.vw-fs,.vw-fta{width:100%;padding:11px 15px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.13);border-radius:8px;font-size:13.5px;color:#fff;
  font-family:var(--fb);outline:none;transition:border-color .2s;margin-bottom:16px;appearance:none}
.vw-fs option{background:#2A1A1E;color:#fff}
.vw-fta{height:150px;resize:vertical;line-height:1.62}
.vw-support-cta{background:#FAF5F6;padding:58px 80px;text-align:center}
.vw-support-inner{max-width:560px;margin:0 auto}
.vw-letters-heading{font-family:var(--fh);font-size:36px;font-weight:400;color:var(--dark);line-height:1.12;margin-bottom:0}
.vw-fi::placeholder,.vw-fta::placeholder{color:rgba(255,255,255,.28)}
.vw-fi:focus,.vw-fs:focus,.vw-fta:focus{border-color:var(--blush-m)}
.vw-fsub{width:100%;background:var(--blush-m);color:var(--blush-d);border:none;padding:13px;
  border-radius:8px;font-size:13.5px;font-weight:500;cursor:pointer;font-family:var(--fb);
  transition:background .2s;letter-spacing:.02em}
.vw-fsub:hover{background:#d4aaaa}
.vw-anon-note{font-size:11.5px;color:rgba(255,255,255,.26);text-align:center;margin-top:10px;font-style:italic}
.vw-anon-row{margin-bottom:16px}
.vw-anon-label{font-size:12.5px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:8px;cursor:pointer}
.vw-anon-label input{accent-color:var(--blush-m)}
.vw-from-group{margin-top:10px}
.vw-form-success{background:rgba(107,158,113,.2);border:1px solid rgba(107,158,113,.4);
  color:rgba(255,255,255,.85);padding:14px 18px;border-radius:8px;font-size:13.5px;margin-bottom:18px}
.vw-form-error{background:rgba(240,228,228,.15);border:1px solid rgba(196,154,154,.4);
  color:rgba(255,255,255,.75);padding:14px 18px;border-radius:8px;font-size:13.5px;margin-bottom:18px}

/* ── FOOTER ───────────────────────────────────────────────── */
.ft{background:var(--dark);color:rgba(255,255,255,.5);padding:46px 80px;
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px}
.ft-br{font-family:var(--fh);font-size:20px;color:#fff;margin-bottom:10px;
  display:block;text-decoration:none}
.ft-d{font-size:12.5px;line-height:1.7}
.ft-ct{font-size:10.5px;text-transform:uppercase;letter-spacing:.11em;
  color:rgba(255,255,255,.28);margin-bottom:14px}
.ft-lnk{display:block;font-size:12.5px;color:rgba(255,255,255,.5);margin-bottom:7px;
  transition:color .2s;text-decoration:none}
.ft-lnk:hover{color:#fff}
.ft-lnk.vwl{color:var(--blush-m)!important}
.ft-badge{display:inline-block;margin-top:18px;font-size:10.5px;color:var(--sage-m);
  border:1px solid rgba(107,158,113,.3);border-radius:4px;padding:4px 10px;letter-spacing:.08em;text-transform:uppercase}
.ft-bot{background:var(--dark);padding:14px 80px;border-top:1px solid rgba(255,255,255,.07);
  font-size:11.5px;color:rgba(255,255,255,.22);display:flex;justify-content:space-between;
  grid-column:1/-1}
.ft-soc{display:flex;gap:10px;margin-top:16px}
.ft-si{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.4);transition:all .2s;text-decoration:none}
.ft-si:hover{background:var(--sage-d);color:#fff;border-color:var(--sage-d)}
.ft-si svg{width:14px;height:14px;fill:currentColor}
.ft-contact{list-style:none;padding:0;margin:0}
.ft-contact li{font-size:12.5px;color:rgba(255,255,255,.5);margin-bottom:7px}
.ft-contact a{color:inherit;text-decoration:none}
.ft-contact a:hover{color:#fff}
/* footer nav from wp_nav_menu */
.ft-nav-list{list-style:none;padding:0;margin:0}
.ft-nav-list li{margin-bottom:7px}
.ft-nav-list li a{display:block;font-size:12.5px;color:rgba(255,255,255,.5);transition:color .2s;text-decoration:none}
.ft-nav-list li a:hover{color:#fff}
.ft-nav-list li.vw-footer-link a{color:var(--blush-m)!important}

/* ── MODAL ────────────────────────────────────────────────── */
.mo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;
  align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.mo.open{display:flex}
.mo-box{background:var(--white);border-radius:16px;padding:38px;width:100%;max-width:490px;
  margin:18px;position:relative;max-height:90vh;overflow-y:auto}
.mo-t{font-family:var(--fh);font-size:27px;font-weight:500;color:var(--dark);margin-bottom:5px}
.mo-s{font-size:13.5px;color:var(--mid);margin-bottom:26px}
.mo-cl{position:absolute;top:16px;right:16px;background:none;border:none;
  font-size:21px;cursor:pointer;color:var(--muted);line-height:1}
.mo-cl:hover{color:var(--dark)}
.lt-tag{display:inline-block;background:var(--blush);color:var(--blush-d);padding:4px 11px;
  border-radius:11px;font-size:10.5px;font-weight:500;margin-bottom:14px}
.lt-qt{font-family:var(--fh);font-size:26px;font-style:italic;color:var(--dark);
  margin-bottom:18px;line-height:1.35}
.lt-bd{font-size:14.5px;color:var(--mid);line-height:1.85;font-weight:300}
.lt-bd p+p{margin-top:13px}
.lt-ft{margin-top:22px;padding-top:16px;border-top:1px solid var(--warm2);
  font-size:12.5px;color:var(--muted);font-style:italic}

/* ── INLINE EDIT ──────────────────────────────────────────── */
.nie-card-wrap{position:relative}

/* ── WORDPRESS ADMIN BAR ──────────────────────────────────── */
@media screen and (min-width:783px){.admin-bar #sitenav{top:32px}}
@media screen and (max-width:782px){.admin-bar #sitenav{top:46px}}

/* ── MOBILE ───────────────────────────────────────────────── */
@media(max-width:900px){
  :root{--nh:60px}
  #sitenav{padding:0 22px}
  .nm{display:none;position:fixed;top:var(--nh);left:0;right:0;
    background:rgba(250,250,247,.98);backdrop-filter:blur(20px);
    flex-direction:column;align-items:flex-start;padding:24px;gap:0;
    border-bottom:1px solid var(--warm2)}
  .nm.open{display:flex}
  .nm>a,.nm ul li a{padding:12px 0;border-bottom:1px solid var(--warm2);width:100%;font-size:13px}
  .nm ul{flex-direction:column;width:100%}
  .nav-hamburger{display:flex}
  .nb{display:none}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-l{padding:52px 24px 36px}
  .hero-h1{font-size:46px}
  .hero-r{min-height:280px}
  .sec{padding:48px 24px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .ap-grid{grid-template-columns:1fr}
  .cta-band{grid-template-columns:1fr;padding:36px 24px;gap:28px;border-radius:12px}
  .ab-hero{grid-template-columns:1fr;padding:36px 24px;gap:24px}
  .ab-photo{width:180px;height:226px;margin:0 auto}
  .ab-name{font-size:38px}
  .svc-full-grid{grid-template-columns:1fr;padding:24px 24px}
  .dt-body{grid-template-columns:1fr;padding:32px 24px}
  .dt-side{position:static}
  .co-hero{padding:44px 24px}
  .co-hero-inner{grid-template-columns:1fr;gap:28px}
  .co-why{padding:40px 24px}
  .co-why-grid{grid-template-columns:1fr}
  .co-progs{padding:28px 24px}
  .co-grid{grid-template-columns:1fr;padding:28px 24px}
  .co-steps{grid-template-columns:repeat(2,1fr)}
  .co-proc{padding:44px 24px}
  .ab-details{padding:36px 24px}
  .ab-details-inner{grid-template-columns:1fr}
  .fl-row{grid-template-columns:1fr}
  .ev-grid{grid-template-columns:1fr;padding:24px 24px}
  .ev-hero,.svc-hero{padding:40px 24px}
  .vw-hero{padding:52px 24px;min-height:auto}
  .vw-h1{font-size:46px}
  .vw-miss{grid-template-columns:1fr;padding:40px 24px}
  .vw-support-cta{padding:40px 24px}
  .vw-letters-heading{font-size:30px}
  .vw-lets{padding:40px 24px}
  .vw-lg{grid-template-columns:1fr}
  .vw-write{grid-template-columns:1fr;padding:44px 24px}
  .ct-wrap{grid-template-columns:1fr}
  .ct-info,.ct-form{padding:40px 24px}
  .ft{grid-template-columns:1fr;padding:36px 24px;gap:24px}
  .ft-bot{padding:14px 24px}
  .up-zone{margin:24px 24px 0}
}

/* ════════════════════════════════════════════════════════════════════════
   EDITOR UI — Logged-in editors: one "Edit Mode" toggle (see text-edit.js)
   adds body.ntx-on. Until then, no section buttons or card toolbars.
   ════════════════════════════════════════════════════════════════════════ */

/* Ensure any element that contains a pencil is a positioning context.
   Belt + braces: :has() for modern browsers, plus explicit rules below for
   the specific containers we use today (so this works even if :has fails). */
:where(*:has(> .noran-edit-btn)) { position: relative; }
.noran-can-edit .sec,
.noran-can-edit .hero,
.noran-can-edit .cta-band,
.noran-can-edit .ab-hero,
.noran-can-edit .ab-creds-col,
.noran-can-edit .svc-hero,
.noran-can-edit .ev-hero,
.noran-can-edit .ct-info,
.noran-can-edit .vw-lets,
.noran-can-edit .ft-col,
.noran-can-edit .svc-c-wrap,
.noran-can-edit .sf-card-wrap,
.noran-can-edit .co-card-wrap,
.noran-can-edit .cr-card-wrap,
.noran-can-edit .ap-item-wrap,
.noran-can-edit .ev-card,
.noran-can-edit .vw-let{ position: relative; }

/* The pencil button — always visible to editors (low opacity), full on hover.
   Z-index sits ABOVE the site nav (9999) so the pencil can never be
   eclipsed by the sticky nav, but BELOW the WP admin bar (99999). */
.noran-edit-btn{
  position:absolute;
  top:12px;
  right:12px;
  z-index:10000;
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(47,92,54,.94);
  color:#fff;
  border:none;
  border-radius:18px;
  padding:6px 12px 6px 10px;
  font-family:var(--fb);
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  opacity:.45;
  box-shadow:0 3px 12px rgba(0,0,0,.18);
  transition:opacity .18s ease, transform .18s ease, background .18s ease, box-shadow .18s ease;
  pointer-events:auto;
}
.noran-edit-btn:hover{
  background:var(--sage-d);
  color:#fff;
  opacity:1;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}
.noran-edit-btn__label{white-space:nowrap}

/* Boost opacity to full when parent (section/card) is hovered so it's
   obvious the pencil belongs to that block. */
*:has(> .noran-edit-btn):hover > .noran-edit-btn,
*:has(> .noran-edit-btn):focus-within > .noran-edit-btn,
.noran-edit-btn:focus-visible{
  opacity:1;
}

/* Dark backgrounds (CTA band, footer, voice-within hero, contact info panel) */
.noran-edit-btn--dark{
  background:rgba(255,255,255,.18);
  color:#fff;
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 3px 12px rgba(0,0,0,.30);
}
.noran-edit-btn--dark:hover{
  background:rgba(255,255,255,.32);
  color:#fff;
}

/* Compact shortcut: smaller chip; label always visible (no pencil icon). */
.noran-edit-btn--compact{
  top:8px;
  right:8px;
  padding:5px 10px;
  border-radius:18px;
}
.noran-edit-btn--compact .noran-edit-btn__label{display:inline}

/* Show a faint outline ring on cards that contain a pencil while editor hovers */
.noran-can-edit *:has(> .noran-edit-btn--compact):hover{
  outline:1px dashed rgba(47,92,54,.45);
  outline-offset:3px;
}

/* Defensive: never render pencils for non-editors (PHP also guards) */
body:not(.noran-can-edit) .noran-edit-btn{display:none}

/*
 * One entry point: the floating "Edit Mode" toggle (text-edit.js) adds body.ntx-on.
 * Until then, hide section shortcuts and per-card toolbars so pencils do not litter the page.
 */
body.noran-can-edit:not(.ntx-on) .noran-edit-btn{display:none!important}
body.noran-can-edit:not(.ntx-on) .noran-fe-svc-actions,
body.noran-can-edit:not(.ntx-on) .noran-fe-cr-actions,
body.noran-can-edit:not(.ntx-on) .noran-fe-co-actions,
body.noran-can-edit:not(.ntx-on) .noran-fe-ev-actions,
body.noran-can-edit:not(.ntx-on) .noran-fe-why-actions,
body.noran-can-edit:not(.ntx-on) .noran-fe-vw-actions,
body.noran-can-edit:not(.ntx-on) .noran-fe-ap-actions{display:none!important}
body.noran-can-edit:not(.ntx-on) .noran-cred-add-panel,
body.noran-can-edit:not(.ntx-on) .noran-co-add-panel,
body.noran-can-edit:not(.ntx-on) .noran-ev-add-panel,
body.noran-can-edit:not(.ntx-on) .noran-why-add-panel,
body.noran-can-edit:not(.ntx-on) .noran-vw-add-panel,
body.noran-can-edit:not(.ntx-on) .noran-svc-add-panel,
body.noran-can-edit:not(.ntx-on) .noran-ap-add-panel{display:none!important}
body.noran-can-edit:not(.ntx-on) .cr-card-demo,
body.noran-can-edit:not(.ntx-on) .co-card-demo,
body.noran-can-edit:not(.ntx-on) .ev-card-demo,
body.noran-can-edit:not(.ntx-on) .co-why-demo,
body.noran-can-edit:not(.ntx-on) .vw-letter-demo{outline:none!important}

/* Section shortcuts + card toolbars: full opacity while edit mode is on */
body.noran-can-edit.ntx-on .noran-edit-btn{opacity:1}

/*
 * Footer shortcuts sit position:absolute in .ft-col, but the first in-flow
 * block (brand line / “Contact” label) still starts at the grid cell’s top and
 * spans full width — it overlaps the chip and captures clicks in some browsers.
 * Reserve top space only while text-edit mode is on so links stay clickable.
 */
body.noran-can-edit.ntx-on .ft-col{
  padding-top:44px;
  isolation:isolate;
}
body.noran-can-edit.ntx-on .ft-col > .noran-edit-btn{
  top:8px;
  z-index:10050;
}

/* Push pencils away from existing top-right elements on event cards */
.ev-card .noran-edit-btn{top:8px;right:8px}
.ev-card .ev-badge{z-index:79}

/* Card wrappers exist only to host a pencil next to an <a> card.
   They must take the grid slot and let the inner card fill them. */
.svc-c-wrap,.sf-card-wrap,.co-card-wrap,.cr-card-wrap,.ev-card-wrap{
  position:relative;
  display:flex;
}
.svc-c-wrap > .svc-c,
.sf-card-wrap > .sf-card,
.co-card-wrap > .co-card,
.cr-card-wrap > .cr-card,
.ev-card-wrap > .ev-card{
  flex:1;
  display:flex;
  flex-direction:column;
}

.noran-can-edit .co-card-wrap,
.noran-can-edit .cr-card-wrap,
.noran-can-edit .ev-card-wrap{position:relative;}

/* Therapeutic approaches: single-column stack (About sidebar) */
.ap-grid.noran-fe-ap-stack{
  grid-template-columns:1fr !important;
  gap:12px;
  margin-top:16px;
}

/* ── Credential / Programme / Event front-end CRUD toolbars ─ */
.noran-can-edit .vw-lc-wrap{position:relative}

.noran-fe-cr-actions,
.noran-fe-co-actions,
.noran-fe-ev-actions,
.noran-fe-why-actions,
.noran-fe-vw-actions{
  position:absolute;
  top:8px;
  right:8px;
  z-index:10190;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-end;
  pointer-events:none;
}
.noran-fe-cr-actions > .noran-fe-cr-act,
.noran-fe-co-actions > .noran-fe-co-act,
.noran-fe-ev-actions > .noran-fe-ev-act,
.noran-fe-why-actions > .noran-fe-why-act,
.noran-fe-vw-actions > .noran-fe-vw-act{pointer-events:auto}
.noran-fe-cr-act,
.noran-fe-co-act,
.noran-fe-ev-act,
.noran-fe-why-act,
.noran-fe-vw-act{
  width:34px;height:34px;margin:0;padding:0;border:none;border-radius:50%;
  background:rgba(47,92,54,.94);color:#fff;cursor:pointer;
  box-shadow:0 3px 12px rgba(0,0,0,.22);
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .14s ease, background .14s ease, opacity .14s ease;
}
.noran-fe-cr-act:hover,
.noran-fe-co-act:hover,
.noran-fe-ev-act:hover,
.noran-fe-why-act:hover,
.noran-fe-vw-act:hover{background:var(--sage-d);transform:scale(1.06);}
.noran-fe-cr-act--trash,
.noran-fe-co-act--trash,
.noran-fe-ev-act--trash,
.noran-fe-why-act--trash,
.noran-fe-vw-act--trash{background:rgba(186,62,62,.95);}
.noran-fe-cr-act--trash:hover,
.noran-fe-co-act--trash:hover,
.noran-fe-ev-act--trash:hover,
.noran-fe-why-act--trash:hover,
.noran-fe-vw-act--trash:hover{background:#9b2121;}
.noran-fe-cr-act__glyph,
.noran-fe-co-act__glyph,
.noran-fe-ev-act__glyph,
.noran-fe-why-act__glyph,
.noran-fe-vw-act__glyph{font-size:14px;line-height:1;display:block;}

.noran-shortcode-ev.ev-grid{padding:clamp(24px,4vw,36px) clamp(16px,4vw,32px);}
.noran-shortcode-why.co-why-grid{margin-top:12px;padding:clamp(16px,3vw,24px) 0;}
.noran-shortcode-vw.vw-lg{padding:clamp(16px,3vw,24px) 0;margin-top:8px}

body.noran-can-edit .noran-cred-add-panel,
body.noran-can-edit .noran-co-add-panel,
body.noran-can-edit .noran-ev-add-panel,
body.noran-can-edit .noran-why-add-panel,
body.noran-can-edit .noran-vw-add-panel{display:flex!important;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;
  min-height:80px;border:2px dashed rgba(47,92,54,.5);border-radius:11px;
  background:rgba(90,143,97,.07);cursor:pointer;color:#2F5C36;font-weight:700;font-size:13px;
  padding:14px;text-align:center;font-family:inherit;}
body:not(.noran-can-edit) .noran-cred-add-panel,
body:not(.noran-can-edit) .noran-co-add-panel,
body:not(.noran-can-edit) .noran-ev-add-panel,
body:not(.noran-can-edit) .noran-why-add-panel,
body:not(.noran-can-edit) .noran-vw-add-panel{display:none!important}
body.noran-can-edit .cr-card-demo,
body.noran-can-edit .co-card-demo,
body.noran-can-edit .ev-card-demo,
body.noran-can-edit .co-why-demo,
body.noran-can-edit .vw-letter-demo{
  outline:2px dashed rgba(47,92,54,.32);
  outline-offset:-2px;border-radius:12px;}

button.noran-edit-btn.noran-cred-fe-act--section-add,
button.noran-edit-btn.noran-co-fe-act--section-add,
button.noran-edit-btn.noran-ev-fe-act--section-add,
button.noran-edit-btn.noran-why-fe-act--section-add,
button.noran-edit-btn.noran-vw-fe-act--section-add{font:inherit;text-align:inherit;cursor:pointer;
  appearance:none;-webkit-appearance:none;color:#fff;text-decoration:none}

.noran-fe-svc-actions,
.noran-fe-ap-actions{
  position:absolute;
  top:8px;
  right:8px;
  z-index:10190;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-end;
  pointer-events:none;
}
.noran-fe-svc-actions > .noran-fe-svc-act,
.noran-fe-ap-actions > .noran-fe-ap-act{pointer-events:auto}
.noran-fe-svc-act,
.noran-fe-ap-act{
  width:34px;height:34px;margin:0;padding:0;border:none;border-radius:50%;
  background:rgba(47,92,54,.94);color:#fff;cursor:pointer;
  box-shadow:0 3px 12px rgba(0,0,0,.22);
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .14s ease, background .14s ease, opacity .14s ease;
}
.noran-fe-svc-act:hover,
.noran-fe-ap-act:hover{background:var(--sage-d);transform:scale(1.06);}
.noran-fe-svc-act--trash,
.noran-fe-ap-act--trash{background:rgba(186,62,62,.95);}
.noran-fe-svc-act--trash:hover,
.noran-fe-ap-act--trash:hover{background:#9b2121;}
.noran-fe-svc-act__glyph,
.noran-fe-ap-act__glyph{font-size:14px;line-height:1;display:block;}

/* “+ Add Service” / “+ Add approach” in section toolbar (pill, same vein as pencils) */
button.noran-edit-btn.noran-fe-svc-act--section-add,
button.noran-edit-btn.noran-ap-fe-act--section-add{font:inherit;text-align:inherit;cursor:pointer;
  appearance:none;-webkit-appearance:none;color:#fff;text-decoration:none}

/* Grid footer tile: add blank service — visible only once JS mounts + editor */
body.noran-can-edit .noran-svc-add-panel,
body.noran-can-edit .noran-ap-add-panel{display:flex!important;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;
  min-height:140px;border:2px dashed rgba(47,92,54,.5);border-radius:11px;
  background:rgba(90,143,97,.07);cursor:pointer;color:#2F5C36;font-weight:700;font-size:14px;
  padding:16px;text-align:center;font-family:inherit;transition:background .18s ease,border-color .18s ease;}
body:not(.noran-can-edit) .noran-svc-add-panel,
body:not(.noran-can-edit) .noran-ap-add-panel{display:none!important}
body.noran-can-edit .noran-svc-add-panel:hover,
body.noran-can-edit .noran-ap-add-panel:hover{background:rgba(90,143,97,.13);border-color:#2F5C36;color:#223c27}

/* Demo/sample cards are theme placeholders until you Publish (not CPT rows yet) */
body.noran-can-edit .svc-c-demo,
body.noran-can-edit .sf-card-wrap.sf-demo,
body.noran-can-edit .ap-item-wrap.ap-ap-demo{
  outline:2px dashed rgba(47,92,54,.32);
  outline-offset:-2px;
  border-radius:13px;}

/* Approaches tiles: toolbar wrapper + inner card fills grid column */
.ap-item-wrap{display:block;position:relative}
.ap-item-wrap > .ap-item{width:100%;box-sizing:border-box}
