/* ==========================================================================
   EbonyLife Place London — shared stylesheet
   Base design system extracted from the approved homepage design.
   Extended with reusable inner-page template classes (page-hero, section
   variants, listing grids, tiers, FAQs, info cards) so every page in the
   site shares one system instead of duplicating one-off styles per file.
   ========================================================================== */

:root{
  --navy:#151F35;
  --navy-deep:#0E1626;
  --blush:#F3DECD;
  --blush-deep:#EACBB2;
  --ochre:#C1892F;
  --ochre-light:#D9A94E;
  --wine:#6B1B26;
  --off-white:#FAF6F0;
  --white:#FFFFFF;
  --ink:#151F35;
  --line: rgba(21,31,53,0.12);
  --line-light: rgba(250,246,240,0.18);
  --display: 'Big Shoulders Display', sans-serif;
  --body: 'Manrope', sans-serif;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

body{
  font-family:var(--body);
  color:var(--ink);
  background:var(--off-white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}

.eyebrow{
  font-family:var(--body);
  font-weight:700;
  font-size:0.72rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  opacity:0.75;
}

.translation{
  font-family:var(--body);
  font-style:italic;
  font-weight:400;
  font-size:0.95rem;
  opacity:0.65;
  letter-spacing:0.02em;
}

.display{
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  line-height:0.92;
  letter-spacing:0.005em;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--body);
  font-weight:700;
  font-size:0.82rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:16px 30px;
  border:1.5px solid currentColor;
  background:transparent;
  cursor:pointer;
  transition: all .35s var(--ease);
  white-space:nowrap;
}
.btn-solid{ background:var(--ochre); border-color:var(--ochre); color:var(--navy-deep); }
.btn-solid:hover{ background:var(--ochre-light); border-color:var(--ochre-light); transform:translateY(-2px); }
.btn-outline-light{ color:var(--off-white); }
.btn-outline-light:hover{ background:var(--off-white); color:var(--navy); }
.btn-outline-dark{ color:var(--navy); }
.btn-outline-dark:hover{ background:var(--navy); color:var(--off-white); }
.btn-arrow{ transition: transform .35s var(--ease); }
.btn:hover .btn-arrow{ transform:translateX(4px); }
.btn[disabled]{ opacity:0.55; cursor:not-allowed; transform:none !important; }

.wrap{ max-width:1360px; margin:0 auto; padding:0 32px; }
section{ position:relative; }

/* ===== NAV ===== */
#nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 40px;
  background:rgba(14,22,38,0.0);
  transition: background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
}
#nav.scrolled{
  background:rgba(14,22,38,0.92);
  backdrop-filter: blur(10px);
  padding:14px 40px;
  box-shadow:0 8px 30px rgba(0,0,0,0.25);
}
.logo{ font-family:var(--display); color:var(--off-white); font-weight:800; font-size:1.3rem; letter-spacing:0.04em; text-transform:uppercase; line-height:1; }
.logo span{ display:block; font-size:0.6rem; font-family:var(--body); font-weight:600; letter-spacing:0.35em; color:var(--ochre-light); margin-top:4px; }
.nav-links{ display:flex; gap:34px; list-style:none; }
.nav-links a{ color:var(--off-white); font-size:0.78rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; position:relative; padding-bottom:4px; }
.nav-links a::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--ochre-light); transition:width .3s var(--ease); }
.nav-links a:hover::after, .nav-links a.active::after{ width:100%; }
.nav-cta{ display:flex; align-items:center; gap:20px; }
.nav-cta .btn{ padding:12px 22px; font-size:0.72rem; }
.burger{ display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; z-index:1001; padding:12px; margin:-12px; }
.burger span{ width:26px; height:2px; background:var(--off-white); transition: all .3s var(--ease); }

.mobile-menu{
  position:fixed; inset:0; background:var(--navy-deep); z-index:999;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:26px;
  padding:40px; transform:translateX(100%); transition:transform .5s var(--ease);
}
.mobile-menu.open{ transform:translateX(0); }
.mobile-menu a{ color:var(--off-white); font-family:var(--display); font-size:2.2rem; text-transform:uppercase; font-weight:700; }
.mobile-menu .btn{ margin-top:20px; }

/* ===== HOMEPAGE HERO ===== */
#hero{
  height:100svh; min-height:640px; position:relative; display:flex; align-items:flex-end;
  background: linear-gradient(180deg, rgba(14,22,38,0.35) 0%, rgba(14,22,38,0.25) 40%, rgba(14,22,38,0.88) 100%),
    url('../assets/img/hero-amani-auditorium.jpg') center/cover no-repeat;
  color:var(--off-white);
}
.hero-inner{ padding:0 40px 90px; width:100%; }
.hero-loc{ display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.hero-loc .dot{ width:6px; height:6px; border-radius:50%; background:var(--ochre-light); }
.hero-loc span{ font-size:0.75rem; letter-spacing:0.25em; text-transform:uppercase; font-weight:700; color:var(--ochre-light); }
.hero-title{ font-size:clamp(3.2rem, 10vw, 8.2rem); color:var(--off-white); }
.hero-title .thin{ font-weight:400; opacity:0.9; }
.hero-sub{ max-width:520px; margin-top:26px; font-size:1.05rem; font-weight:400; color:rgba(250,246,240,0.85); }
.hero-ctas{ display:flex; gap:16px; margin-top:38px; flex-wrap:wrap; }
.scroll-cue{ position:absolute; bottom:36px; right:40px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.scroll-cue .line{ width:1px; height:46px; background:rgba(250,246,240,0.5); overflow:hidden; position:relative; }
.scroll-cue .line::after{ content:''; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--ochre-light); animation: scrollLine 2.2s ease-in-out infinite; }
@keyframes scrollLine{ 0%{top:-100%;} 50%{top:0;} 100%{top:100%;} }
.scroll-cue span{ font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(250,246,240,0.6); writing-mode:vertical-rl; }

/* ===== INNER-PAGE HERO ===== */
.page-hero{
  height:56svh; min-height:420px; position:relative; display:flex; align-items:flex-end;
  background-size:cover; background-position:center;
  background-color:var(--navy-deep);
}
.page-hero::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(14,22,38,0.45) 0%, rgba(14,22,38,0.3) 35%, rgba(14,22,38,0.92) 100%);
}
.page-hero-inner{ position:relative; z-index:1; padding:0 40px 60px; max-width:1360px; margin:0 auto; width:100%; color:var(--off-white); }
.breadcrumb{ font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; opacity:0.75; margin-bottom:18px; }
.breadcrumb a{ text-decoration:underline; text-underline-offset:3px; }
.breadcrumb a:hover{ color:var(--ochre-light); }
.page-hero h1{ font-size:clamp(2.6rem, 7vw, 5.2rem); color:var(--off-white); }
.page-hero p{ max-width:600px; margin-top:20px; font-size:1.05rem; opacity:0.88; }

/* ===== CONCEPT RENDER DISCLOSURE =====
   Applied to any image container using a design-studio concept render rather
   than real venue photography. Rendered as a real DOM label (not just the
   badge burned into the image pixels) because background-size:cover /
   object-fit:cover crop the image differently in every container, and a
   badge burned into the source can end up cropped out of view entirely —
   this label always stays visible regardless of how the image is cropped. */
.concept{ position:relative; }
.concept::after{
  content:'CONCEPT RENDER, INDICATIVE ONLY';
  position:absolute; left:12px; bottom:12px; z-index:3;
  background:rgba(21,31,53,0.9); color:var(--ochre-light);
  font-size:0.62rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  padding:6px 10px; border-radius:2px; white-space:nowrap; pointer-events:none;
  max-width:calc(100% - 24px); overflow:hidden; text-overflow:ellipsis;
}
.page-hero.concept::after{ left:40px; bottom:24px; font-size:0.7rem; padding:8px 14px; }
.vcard.concept::after{ left:24px; bottom:120px; }
.cg1.concept::after, .cg2.concept::after, .cg3.concept::after{
  font-size:0.5rem; padding:3px 6px; left:6px; bottom:6px; letter-spacing:0.04em;
}

/* ===== reveal ===== */
.reveal{ opacity:0; transform:translateY(36px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ===== INTRO (home) ===== */
#intro{ background:var(--off-white); padding:150px 0 120px; }
.intro-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; }
#intro .display{ font-size:clamp(2.6rem, 5.6vw, 5.4rem); color:var(--navy); margin-top:18px; }
.intro-copy p{ font-size:1.15rem; color:rgba(21,31,53,0.78); margin-bottom:22px; max-width:480px; }
.intro-copy .lede{ font-size:1.3rem; font-weight:600; color:var(--navy); }
.feature-labels{ display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.feature-labels span{ border:1px solid var(--line); padding:10px 18px; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--navy); border-radius:2px; }

/* ===== EXPERIENCE RAIL (home) ===== */
#experience{ background:var(--navy); color:var(--off-white); padding:130px 0 100px; }
#experience .head{ padding:0 40px; margin-bottom:60px; }
#experience .display{ font-size:clamp(2.6rem, 6vw, 5.6rem); color:var(--off-white); }
#experience .eyebrow{ color:var(--ochre-light); }
.card-rail{ display:flex; gap:24px; overflow-x:auto; padding:0 40px 20px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color: var(--ochre) transparent; }
.card-rail::-webkit-scrollbar{ height:5px; }
.card-rail::-webkit-scrollbar-thumb{ background:var(--ochre); }
.vcard{ flex:0 0 320px; scroll-snap-align:start; position:relative; height:440px; overflow:hidden; background:var(--navy-deep); }
.vcard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .7s var(--ease), filter .5s var(--ease); filter:brightness(0.75); }
.vcard:hover img{ transform:scale(1.08); filter:brightness(0.55); }
.vcard-content{ position:absolute; left:0; right:0; bottom:0; padding:28px 24px; background:linear-gradient(0deg, rgba(14,22,38,0.95) 10%, rgba(14,22,38,0) 65%); }
.vcard-cat{ font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; font-weight:700; color:var(--ochre-light); margin-bottom:8px; }
.vcard-name{ font-family:var(--display); font-size:2rem; text-transform:uppercase; font-weight:700; line-height:1; }
.vcard-translation{ font-style:italic; font-size:0.85rem; opacity:0.65; margin-top:4px; }
.vcard-desc{ font-size:0.88rem; opacity:0; max-height:0; overflow:hidden; transition:all .4s var(--ease); margin-top:0; }
.vcard:hover .vcard-desc{ opacity:0.85; max-height:60px; margin-top:10px; }

/* ===== EDITORIAL FEATURE (alternating, home) ===== */
.feature{ display:grid; grid-template-columns:1fr 1fr; min-height:640px; }
.feature-img{ position:relative; overflow:hidden; }
.feature-img img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform 1.2s var(--ease); }
.feature:hover .feature-img img{ transform:scale(1.04); }
.feature-text{ display:flex; flex-direction:column; justify-content:center; padding:80px 70px; }
.feature-text .translation{ margin-bottom:6px; display:block; }
.feature-text .display{ font-size:clamp(2.4rem, 5.4vw, 4.6rem); margin-bottom:22px; }
.feature-text p{ font-size:1.05rem; max-width:460px; margin-bottom:30px; opacity:0.85; }
.feature-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.feature.blush{ background:var(--blush); color:var(--navy); }
.feature.navy{ background:var(--navy); color:var(--off-white); }
.feature.wine{ background:var(--wine); color:var(--off-white); }
.feature.reverse{ direction:rtl; }
.feature.reverse > *{ direction:ltr; }

/* ===== NOLLYWOOD STRIP (home) ===== */
#nollywood{ background:var(--off-white); padding:130px 0; text-align:center; }
#nollywood .display{ font-size:clamp(2.6rem,7vw,6rem); color:var(--navy); }
#nollywood p{ max-width:600px; margin:26px auto 0; font-size:1.1rem; color:rgba(21,31,53,0.75); }
.now-showing{ margin-top:70px; display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--line); border:1px solid var(--line); }
.ns-card{ background:var(--off-white); padding:50px 28px; text-align:left; }
.ns-card .lbl{ font-size:0.68rem; letter-spacing:0.15em; text-transform:uppercase; font-weight:700; color:var(--ochre); }
.ns-card h4{ font-family:var(--display); font-size:1.6rem; text-transform:uppercase; margin-top:14px; color:var(--navy); }
.ns-card p{ font-size:0.85rem; margin-top:10px; color:rgba(21,31,53,0.6); }

/* ===== CULTURE STRIP (home) ===== */
#culture{ background:var(--navy-deep); padding:100px 0; }
#culture .head{ padding:0 40px 50px; }
#culture .display{ color:var(--off-white); font-size:clamp(2.2rem,5vw,4.2rem); }
.culture-grid{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:130px; gap:6px; padding:0 40px; }
.culture-grid img{ width:100%; height:100%; object-fit:cover; }
.cg1{ grid-column:span 2; grid-row:span 2; }
.cg2{ grid-column:span 2; grid-row:span 1; }
.cg3{ grid-column:span 2; grid-row:span 1; }
.cg4{ grid-column:span 2; grid-row:span 1; }
.cg5{ grid-column:span 2; grid-row:span 2; }
.cg6{ grid-column:span 2; grid-row:span 1; }

/* ===== MEMBERSHIP (home) ===== */
#membership{ background:var(--blush); padding:140px 0; }
.mem-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:80px; align-items:center; }
#membership .display{ font-size:clamp(2.8rem,6vw,5.6rem); color:var(--navy); }
.mem-list{ list-style:none; margin-top:30px; }
.mem-list li{ padding:18px 0; border-bottom:1px solid rgba(21,31,53,0.15); font-size:1rem; display:flex; gap:16px; align-items:baseline; }
.mem-list li::before{ content:'—'; color:var(--ochre); font-weight:700; }
.mem-img{ position:relative; height:520px; overflow:hidden; }
.mem-img img{ width:100%; height:100%; object-fit:cover; }

/* ===== LOCATION (home) ===== */
#location{ background:var(--navy); color:var(--off-white); padding:130px 0; }
.loc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
#location .display{ font-size:clamp(2.6rem,6vw,5.2rem); }
#location p{ font-size:1.05rem; opacity:0.82; max-width:480px; margin:24px 0 34px; }
.loc-imgs{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.loc-imgs img{ width:100%; height:280px; object-fit:cover; }
.loc-imgs img:first-child{ margin-top:40px; }

/* ===== MO ABUDU / VISION (home) ===== */
#vision{ background:var(--off-white); padding:130px 0; }
.vision-grid{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:70px; align-items:center; }
.vision-img{ height:560px; overflow:hidden; }
.vision-img img{ width:100%; height:100%; object-fit:cover; }
#vision .display{ font-size:clamp(2.6rem,6vw,5rem); color:var(--navy); }
#vision .role{ color:var(--ochre); font-weight:700; letter-spacing:0.1em; text-transform:uppercase; font-size:0.8rem; margin:14px 0 26px; }
#vision p{ font-size:1.05rem; color:rgba(21,31,53,0.78); margin-bottom:18px; max-width:560px; }

/* ===== FORMS (shared: enquiry sections + inner-page forms) ===== */
#enquiry{ background:var(--wine); color:var(--off-white); padding:140px 0; }
.enq-grid{ display:grid; grid-template-columns:1fr 1fr; gap:80px; }
#enquiry .display{ font-size:clamp(2.6rem,6vw,5.4rem); }
#enquiry .lede{ font-size:1.05rem; opacity:0.85; margin-top:22px; max-width:420px; }
form{ display:flex; flex-direction:column; gap:18px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field label{ display:block; font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:700; opacity:0.75; margin-bottom:8px; }
.field input, .field select, .field textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid rgba(250,246,240,0.4);
  color:inherit; font-family:var(--body); font-size:0.95rem; padding:10px 2px; outline:none;
  transition:border-color .3s;
}
.field input::placeholder, .field textarea::placeholder{ color:rgba(250,246,240,0.4); }
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--ochre-light); }
.field select option{ color:var(--navy); }
.consent{ display:flex; align-items:flex-start; gap:10px; font-size:0.82rem; opacity:0.8; margin-top:6px; }
.consent input{ margin-top:4px; width:auto; }
#enquiry .btn{ margin-top:12px; align-self:flex-start; }
.honeypot-field{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.form-note{ font-size:0.85rem; margin-top:14px; padding:12px 16px; border-left:3px solid var(--ochre); background:rgba(193,137,47,0.08); }
.form-note.error{ border-left-color:var(--wine); background:rgba(107,27,38,0.08); }
.form-note.success{ border-left-color:#3c7a4b; background:rgba(60,122,75,0.08); }
.reference-code{ font-family:var(--display); letter-spacing:0.04em; }

/* ===== NEWSLETTER (home) ===== */
#newsletter{ background:var(--ochre); color:var(--navy-deep); padding:90px 0; text-align:center; }
#newsletter .display{ font-size:clamp(2.2rem,5vw,3.6rem); }
#newsletter p{ max-width:480px; margin:16px auto 34px; font-weight:500; opacity:0.85; }
.nl-form{ display:flex; max-width:460px; margin:0 auto; gap:0; border-bottom:2px solid var(--navy-deep); }
.nl-form input{ flex:1; background:transparent; border:none; padding:14px 6px; font-size:1rem; outline:none; color:var(--navy-deep); }
.nl-form input::placeholder{ color:rgba(21,31,53,0.5); }
.nl-form button{ background:none; border:none; font-family:var(--body); font-weight:800; letter-spacing:0.1em; text-transform:uppercase; font-size:0.8rem; cursor:pointer; padding:14px 8px; }

/* ===== GENERIC INNER-PAGE SECTIONS ===== */
.section{ padding:110px 0; }
.section.off{ background:var(--off-white); color:var(--navy); }
.section.navy{ background:var(--navy); color:var(--off-white); }
.section.blush{ background:var(--blush); color:var(--navy); }
.section.wine{ background:var(--wine); color:var(--off-white); }
.section-head{ max-width:760px; margin-bottom:56px; }
.section-head h2{ margin-top:14px; font-size:clamp(2.2rem,5vw,3.8rem); }
.section-head p{ margin-top:18px; font-size:1.05rem; opacity:0.82; }
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.two-col img{ width:100%; object-fit:cover; }

/* ===== LISTING GRID (programme/events/pop-ups) ===== */
.listing-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.listing-card{ background:var(--off-white); display:flex; flex-direction:column; }
.listing-img{ height:190px; overflow:hidden; }
.listing-img img{ width:100%; height:100%; object-fit:cover; }
.listing-body{ padding:26px 24px; flex:1; display:flex; flex-direction:column; }
.listing-cat{ font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:700; color:var(--ochre); }
.listing-title{ font-family:var(--display); font-size:1.5rem; text-transform:uppercase; margin-top:10px; color:var(--navy); }
.listing-meta{ font-size:0.82rem; color:rgba(21,31,53,0.55); margin-top:8px; }
.listing-desc{ font-size:0.9rem; color:rgba(21,31,53,0.7); margin-top:12px; flex:1; }
.listing-cta{ margin-top:16px; font-size:0.78rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--ochre); }
.listing-cta:hover{ text-decoration:underline; }

/* ===== FILTER TABS ===== */
.filter-tabs{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px; }
.filter-tab{
  background:transparent; border:1px solid var(--line); padding:10px 20px; font-family:var(--body);
  font-size:0.75rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer;
  color:inherit; transition:all .25s var(--ease);
}
.filter-tab.active, .filter-tab:hover{ background:var(--ochre); border-color:var(--ochre); color:var(--navy-deep); }

/* ===== FAQ ===== */
.faq-item{ border-bottom:1px solid var(--line); padding:22px 0; cursor:pointer; }
.faq-q{ display:flex; justify-content:space-between; align-items:center; font-weight:700; font-size:1.02rem; }
.faq-q .icon{ font-family:var(--display); font-size:1.3rem; color:var(--ochre); transition:transform .3s var(--ease); }
.faq-item.open .faq-q .icon{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; opacity:0; transition:all .35s var(--ease); font-size:0.95rem; color:rgba(21,31,53,0.72); }
.faq-item.open .faq-a{ max-height:260px; opacity:1; margin-top:14px; }

/* ===== TIERS / USPs ===== */
.tier-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:2px; background:var(--line); border:1px solid var(--line); }
.tier-card{ background:var(--off-white); padding:34px 28px; }
.tier-card .tag{ font-family:var(--display); font-size:0.9rem; color:var(--ochre); }
.tier-card h4{ font-family:var(--display); font-size:1.5rem; text-transform:uppercase; margin:12px 0 14px; color:var(--navy); }
.tier-card ul{ list-style:none; font-size:0.88rem; color:rgba(21,31,53,0.72); display:flex; flex-direction:column; gap:8px; }
.tier-card li::before{ content:'— '; color:var(--ochre); }

/* ===== INFO GRID (visit page) ===== */
.info-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:2px; background:var(--line); border:1px solid var(--line); }
.info-card{ background:var(--off-white); padding:32px 28px; }
.info-card h4{ font-family:var(--display); font-size:1.3rem; text-transform:uppercase; margin-bottom:12px; color:var(--navy); }
.info-card p, .info-card ul{ font-size:0.92rem; color:rgba(21,31,53,0.72); }
.info-card ul{ list-style:none; display:flex; flex-direction:column; gap:6px; }

.map-embed{ height:420px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:0.85rem; color:rgba(21,31,53,0.5); background:var(--off-white); }

.placeholder-note{ font-size:0.82rem; color:rgba(21,31,53,0.55); border-top:1px dashed var(--line); padding-top:16px; }
.section.navy .placeholder-note, .section.wine .placeholder-note{ color:rgba(250,246,240,0.6); border-top-color:var(--line-light); }

/* ===== STATUS BADGES (per-experience status) ===== */
.status-badge{ display:inline-flex; align-items:center; gap:8px; font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:8px 16px; border:1px solid currentColor; margin-bottom:22px; }
.status-badge .dot{ width:6px; height:6px; border-radius:50%; background:currentColor; }
.status-open{ color:#3c7a4b; }
.status-opening-soon, .status-coming-soon{ color:var(--ochre); }
.status-preview{ color:#8a5fc2; }
.status-unavailable{ color:rgba(21,31,53,0.5); }

/* ===== LEGAL / LONG-FORM CONTENT PAGES ===== */
.legal-content{ max-width:820px; margin:0 auto; }
.legal-content h2{ font-family:var(--display); text-transform:uppercase; font-size:1.6rem; color:var(--navy); margin:44px 0 16px; }
.legal-content h2:first-child{ margin-top:0; }
.legal-content p{ font-size:0.98rem; color:rgba(21,31,53,0.78); margin-bottom:16px; }
.legal-content ul{ margin:0 0 16px 20px; font-size:0.98rem; color:rgba(21,31,53,0.78); }
.legal-content li{ margin-bottom:8px; }
.legal-updated{ font-size:0.82rem; color:rgba(21,31,53,0.5); margin-bottom:40px; }

/* ===== 404 ===== */
.error-page{ min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:160px 24px 100px; background:var(--navy); color:var(--off-white); }
.error-page .display{ font-size:clamp(4rem,14vw,9rem); color:var(--ochre-light); }
.error-page p{ max-width:480px; margin:20px auto 34px; opacity:0.85; font-size:1.05rem; }
.error-links{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }

/* ===== FOOTER ===== */
footer{ background:var(--navy-deep); color:rgba(250,246,240,0.7); padding:90px 0 30px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:50px; padding-bottom:70px; border-bottom:1px solid var(--line-light); }
.foot-logo{ font-family:var(--display); color:var(--off-white); font-size:1.6rem; text-transform:uppercase; font-weight:800; }
.foot-logo span{ display:block; font-size:0.6rem; font-family:var(--body); letter-spacing:0.3em; color:var(--ochre-light); margin-top:6px; font-weight:600; }
.foot-grid p{ margin-top:18px; font-size:0.9rem; max-width:260px; }
.foot-col h5{ font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--ochre-light); margin-bottom:20px; font-weight:700; }
.foot-col ul{ list-style:none; display:flex; flex-direction:column; gap:12px; }
.foot-col a{ font-size:0.92rem; transition:color .3s; }
.foot-col a:hover{ color:var(--off-white); }
.foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:30px; flex-wrap:wrap; gap:16px; }
.foot-bottom p{ font-size:0.78rem; }
.foot-legal{ display:flex; gap:24px; list-style:none; flex-wrap:wrap; }
.foot-legal a{ font-size:0.78rem; }
.foot-legal a:hover{ color:var(--off-white); }

/* ===== responsive ===== */
@media (max-width:900px){
  .nav-links, .nav-cta{ display:none; }
  .burger{ display:flex; }
  .intro-grid, .mem-grid, .loc-grid, .vision-grid, .enq-grid, .two-col{ grid-template-columns:1fr; }
  .feature{ grid-template-columns:1fr; }
  .feature-img{ height:340px; }
  .feature-text{ padding:56px 28px; }
  .now-showing{ grid-template-columns:repeat(2,1fr); }
  .culture-grid{ grid-template-columns:repeat(4,1fr); grid-auto-rows:100px; }
  .cg1,.cg5{ grid-column:span 2; grid-row:span 2; }
  .cg2,.cg3,.cg4,.cg6{ grid-column:span 2; grid-row:span 1; }
  .form-row{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:40px; }
  .wrap{ padding:0 22px; }
  .hero-inner{ padding:0 22px 60px; }
  #nav{ padding:16px 22px; }
  #nav.scrolled{ padding:12px 22px; }
  .card-rail{ padding:0 22px 16px; }
  #intro, #experience, #nollywood, #culture, #membership, #location, #vision, #enquiry{ padding-top:90px; padding-bottom:90px; }
  .section{ padding:80px 0; }
  .page-hero-inner{ padding:0 22px 50px; }
  .page-hero.concept::after{ left:22px; bottom:16px; font-size:0.6rem; padding:6px 10px; }
  .vcard.concept::after{ bottom:110px; }
  /* touch devices can't hover — show the card description unconditionally */
  .vcard-desc{ opacity:0.85; max-height:60px; margin-top:10px; }
}
@media (max-width:560px){
  .now-showing{ grid-template-columns:1fr; }
  .vcard{ flex:0 0 260px; height:380px; }
  .listing-grid, .tier-grid, .info-grid{ grid-template-columns:1fr; }
  .hero-title{ font-size:clamp(2.1rem, 10.5vw, 8.2rem); }
  .page-hero h1{ font-size:clamp(1.9rem, 8.5vw, 5.2rem); }
  .mobile-menu a{ font-size:clamp(1.7rem, 9vw, 2.2rem); }
  .foot-grid{ grid-template-columns:1fr; gap:36px; }
  .foot-grid p{ max-width:none; }
}


/* ===== CAREERS ===== */
.job-list{ border-top:1px solid rgba(21,31,53,0.18); }
.job{ border-bottom:1px solid rgba(21,31,53,0.18); scroll-margin-top:110px; }
.job summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:28px 4px; }
.job summary::-webkit-details-marker{ display:none; }
.job summary:focus-visible{ outline:2px solid var(--ochre); outline-offset:4px; }
.job-title{ font-family:var(--display); font-size:clamp(1.6rem,3vw,2.2rem); text-transform:uppercase; line-height:1.05; color:var(--navy); margin-top:8px; transition:color .25s var(--ease); }
.job summary:hover .job-title{ color:var(--wine); }
.job-meta{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:10px; font-size:0.8rem; color:rgba(21,31,53,0.62); }
.job-meta span + span::before{ content:'·'; margin-right:18px; color:var(--ochre); font-weight:700; }
.job-toggle{ flex:0 0 46px; height:46px; border:1px solid rgba(21,31,53,0.25); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:1.5rem; color:var(--ochre); transition:transform .3s var(--ease), background .3s var(--ease); }
.job[open] .job-toggle{ transform:rotate(45deg); background:var(--navy); color:var(--off-white); border-color:var(--navy); }
.job-body{ padding:0 4px 38px; color:var(--navy); }
.job-summary{ font-size:1.05rem; max-width:720px; color:rgba(21,31,53,0.82); }
.job-cols{ display:grid; grid-template-columns:1fr 1fr; gap:40px; margin:28px 0 30px; }
.job-cols h4{ font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--ochre); margin-bottom:12px; }
.job-cols ul{ list-style:none; display:flex; flex-direction:column; gap:10px; font-size:0.93rem; color:rgba(21,31,53,0.78); }
.job-cols li{ padding-left:22px; position:relative; }
.job-cols li::before{ content:'—'; position:absolute; left:0; color:var(--ochre); font-weight:700; }
.job-general{ margin-top:34px; font-size:0.98rem; color:rgba(21,31,53,0.78); }
.job-general a{ color:var(--wine); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.section.blush .filter-tabs .filter-tab{ border-color:rgba(21,31,53,0.25); color:var(--navy); }
.section.blush .filter-tabs .filter-tab.active, .section.blush .filter-tabs .filter-tab:hover{ background:var(--navy); border-color:var(--navy); color:var(--off-white); }

#apply{ background:var(--wine); color:var(--off-white); padding:140px 0; scroll-margin-top:40px; }
#apply .display{ font-size:clamp(2.6rem,6vw,5.4rem); }
#apply .lede{ font-size:1.05rem; opacity:0.85; margin-top:22px; max-width:420px; }
#apply .btn{ margin-top:12px; align-self:flex-start; }
#apply .field input, #apply .field select{ color-scheme:dark; }
.apply-steps{ list-style:none; counter-reset:step; margin-top:38px; display:flex; flex-direction:column; gap:18px; max-width:420px; }
.apply-steps li{ counter-increment:step; position:relative; padding-left:52px; font-size:0.95rem; opacity:0.88; }
.apply-steps li::before{ content:counter(step); position:absolute; left:0; top:-2px; width:34px; height:34px; border:1px solid var(--ochre-light); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:700; color:var(--ochre-light); }
.field .opt{ text-transform:none; letter-spacing:0; font-weight:500; opacity:0.7; }
.file-drop{ display:flex !important; align-items:center; justify-content:space-between; gap:16px; border:1px dashed rgba(250,246,240,0.45); padding:16px 18px; cursor:pointer; transition:border-color .3s, background .3s; margin-bottom:0 !important; text-transform:none !important; letter-spacing:0 !important; font-size:0.9rem !important; font-weight:500 !important; opacity:1 !important; }
.file-drop:hover, .file-drop:focus-within{ border-color:var(--ochre-light); background:rgba(250,246,240,0.04); }
.file-drop input[type=file]{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.file-drop-text{ opacity:0.75; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-drop.has-file .file-drop-text{ opacity:1; color:var(--ochre-light); font-weight:700; }
.file-drop-btn{ flex:0 0 auto; font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; border:1px solid rgba(250,246,240,0.5); padding:8px 14px; }
.field.has-error input, .field.has-error select, .field.has-error textarea, .field.has-error .file-drop{ border-color:#f0a3a3; }
.field-error{ display:block; font-size:0.78rem; color:#f6c3c3; margin-top:6px; }
.file-drop{ position:relative; }
@media (max-width:900px){
  #apply{ padding-top:90px; padding-bottom:90px; }
  .job-cols{ grid-template-columns:1fr; gap:26px; }
  .job summary{ padding:22px 0; }
  .job-toggle{ flex-basis:38px; height:38px; font-size:1.3rem; }
}


/* Nav: 8 items (Careers added) — tighten spacing on mid-width screens */
@media (max-width:1280px){ .nav-links{ gap:24px; } }
@media (max-width:1100px){ .nav-links{ gap:18px; } .nav-links a{ font-size:0.72rem; } .nav-cta .btn{ padding:10px 16px; } }



/* =====================================================================
   MOBILE OPTIMISATION (Oct 2026)
   Everything below only applies at tablet width and narrower, so the
   desktop layout is unchanged. Grouped by area for easy editing.
   ===================================================================== */
@media (max-width:900px){

  /* ---- Mobile menu ---- */
  .mobile-menu{
    justify-content:flex-start; gap:0; padding:96px 28px 40px;
    overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
    visibility:hidden; transition:transform .5s var(--ease), visibility 0s linear .5s;
  }
  .mobile-menu.open{ visibility:visible; transition:transform .5s var(--ease), visibility 0s; }
  .mobile-menu a:not(.btn){
    display:block; width:100%; padding:12px 0;
    font-size:clamp(1.55rem, 7.2vw, 2.1rem); line-height:1.15;
    border-bottom:1px solid var(--line-light);
  }
  .mobile-menu a:not(.btn):active{ color:var(--ochre-light); }
  .mobile-menu .btn{
    font-family:var(--body); font-size:0.82rem; letter-spacing:0.12em;
    margin-top:28px; padding:16px 24px; width:100%; max-width:380px; justify-content:center;
  }
  /* hamburger turns into a close (X) icon while the menu is open */
  body:has(.mobile-menu.open) .burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  body:has(.mobile-menu.open) .burger span:nth-child(2){ opacity:0; }
  body:has(.mobile-menu.open) .burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  body:has(.mobile-menu.open) #nav{ background:var(--navy-deep); }

  /* ---- Stop wide content pushing past the screen edge ---- */
  .enq-grid > *, .two-col > *, .intro-grid > *, .mem-grid > *, .loc-grid > *,
  .vision-grid > *, .feature > *, form, .field{ min-width:0; }
  .field select, .field input, .field textarea{ max-width:100%; }
  .file-drop-text{ white-space:normal; }

  /* ---- Forms: 16px text stops iPhones zooming in when a field is tapped ---- */
  .field input, .field select, .field textarea, .nl-form input{ font-size:16px; }
  .field input, .field select{ min-height:44px; }
  .consent{ font-size:0.86rem; }
  .consent input{ width:20px; height:20px; flex:0 0 20px; margin-top:1px; }

  /* ---- Comfortable tap targets ---- */
  .foot-col ul{ gap:0; }
  .foot-col a{ display:inline-block; padding:9px 0; }
  .foot-legal{ gap:4px 20px; }
  .foot-legal a{ display:inline-block; padding:10px 0; }
  .breadcrumb a{ display:inline-block; padding:8px 0; }
  .listing-cta{ display:inline-block; padding:10px 0; }
  .filter-tab{ min-height:42px; }

  /* ---- Hero ---- */
  .scroll-cue{ display:none; }
  .page-hero{ min-height:360px; }
}

@media (max-width:560px){

  /* ---- Tighter vertical rhythm (the homepage was ~16,000px tall) ---- */
  .section{ padding:64px 0; }
  #intro, #experience, #nollywood, #culture, #membership, #location, #vision, #enquiry, #apply{ padding-top:68px; padding-bottom:68px; }
  #experience .head{ padding:0 22px; margin-bottom:36px; }
  #culture .head{ padding:0 22px 32px; }
  .culture-grid{ padding:0 22px; }
  .section-head{ margin-bottom:36px; }
  .intro-grid, .mem-grid, .loc-grid, .vision-grid, .enq-grid, .two-col{ gap:36px; }

  /* ---- Image heights scaled for phones ---- */
  .feature{ min-height:0; }
  .feature-img{ height:260px; }
  .feature-text{ padding:44px 22px 52px; }
  .feature-text p{ font-size:1rem; }
  .mem-img{ height:340px; }
  .vision-img{ height:380px; }
  .loc-imgs{ gap:10px; }
  .loc-imgs img{ height:200px; }
  .loc-imgs img:first-child{ margin-top:24px; }
  .page-hero{ height:auto; min-height:340px; padding-top:110px; }
  .page-hero-inner{ padding-bottom:40px; }
  .page-hero p{ font-size:1rem; }

  /* ---- Full-width, easy-to-tap buttons ---- */
  .hero-ctas, .feature-ctas, .error-links{ flex-direction:column; align-items:stretch; gap:12px; }
  .hero-ctas .btn, .feature-ctas .btn, .error-links .btn,
  #enquiry .btn, #apply .btn, form .btn, .section .btn{ width:100%; justify-content:center; text-align:center; }
  .hero-inner{ padding-bottom:48px; }
  .hero-sub{ font-size:1rem; margin-top:20px; }
  .hero-ctas{ margin-top:30px; }

  /* ---- Cards & listings ---- */
  .ns-card{ padding:32px 22px; }
  .now-showing{ margin-top:44px; }
  .tier-card, .info-card{ padding:28px 22px; }
  .listing-body{ padding:22px 20px; }
  .vcard{ flex:0 0 78vw; }
  .feature-labels span{ font-size:0.66rem; padding:8px 12px; }

  /* ---- Careers page ---- */
  .filter-tabs{
    flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;
    margin:0 -22px 32px; padding:0 22px 4px; -webkit-overflow-scrolling:touch;
  }
  .filter-tabs::-webkit-scrollbar{ display:none; }
  .filter-tab{ flex:0 0 auto; white-space:nowrap; }
  .job summary{ padding:22px 0; gap:16px; }
  .job-meta{ gap:6px; }
  .job-meta span + span::before{ display:none; }
  .job-meta span{ border:1px solid rgba(21,31,53,0.18); border-radius:20px; padding:3px 10px; font-size:0.74rem; }
  .job-body{ padding:0 0 32px; }
  .apply-steps{ margin-top:28px; }
  .file-drop{ flex-wrap:wrap; }

  /* ---- Footer: link columns side by side instead of one long list ---- */
  footer{ padding:64px 0 24px; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:28px 20px; padding-bottom:44px; }
  .foot-grid > div:first-child{ grid-column:1 / -1; }
  .foot-grid > .foot-col:last-child{ grid-column:1 / -1; }
  .foot-grid > .foot-col:last-child ul{ flex-direction:row; flex-wrap:wrap; gap:0 22px; }
  .foot-bottom{ flex-direction:column; align-items:flex-start; gap:8px; padding-top:22px; }

  /* ---- Legal / error pages ---- */
  .legal-content h2{ font-size:1.35rem; margin:34px 0 12px; }
  .error-page{ padding:130px 22px 80px; }
}

/* Very small phones (iPhone SE / older Android) */
@media (max-width:374px){
  .wrap{ padding:0 18px; }
  .hero-inner, .page-hero-inner{ padding-left:18px; padding-right:18px; }
  #nav, #nav.scrolled{ padding-left:18px; padding-right:18px; }
  .btn{ padding:15px 20px; letter-spacing:0.08em; }
  .logo{ font-size:1.1rem; }
}

/* Respect the iPhone notch / home bar */
@supports (padding:max(0px)){
  @media (max-width:900px){
    footer{ padding-bottom:max(24px, env(safe-area-inset-bottom)); }
  }
}

/* ===== BRAND LOGOS (Oct 2026) ===== */
.logo.logo-img{ display:block; line-height:0; }
.logo.logo-img img{ height:52px; width:auto; display:block; transition:height .3s var(--ease); }
#nav.scrolled .logo.logo-img img{ height:44px; }
.foot-logo img{ height:84px; width:auto; display:block; }
.hero-brand-logo{ display:block; width:clamp(230px, 36vw, 440px); height:auto; margin:0 0 22px; filter:drop-shadow(0 2px 12px rgba(0,0,0,0.35)); }
h1.brand-logo-h1{ line-height:0; }
h1.brand-logo-h1 img{ display:block; width:clamp(240px, 40vw, 480px); height:auto; filter:drop-shadow(0 2px 14px rgba(0,0,0,0.4)); }
@media (max-width:900px){
  .logo.logo-img img, #nav.scrolled .logo.logo-img img{ height:42px; }
  .foot-logo img{ height:72px; }
}
@media (max-width:374px){
  .logo.logo-img img, #nav.scrolled .logo.logo-img img{ height:36px; }
}

/* ===== HEADING SIZES (Oct 2026) =====
   Large display headings reduced sitewide at Dayo's request (they covered
   too much of the photography). Placed last so it overrides earlier sizes. */
.hero-title{ font-size:clamp(2.5rem, 6.4vw, 5.6rem); }
.page-hero h1{ font-size:clamp(2.1rem, 4.4vw, 3.6rem); }
#intro .display{ font-size:clamp(2.2rem, 4vw, 3.8rem); }
#experience .display{ font-size:clamp(2.2rem, 4.2vw, 3.9rem); }
.feature-text .display{ font-size:clamp(2rem, 3.8vw, 3.3rem); }
#nollywood .display{ font-size:clamp(2.2rem, 4.8vw, 4.2rem); }
#culture .display{ font-size:clamp(1.9rem, 3.6vw, 3.1rem); }
#membership .display{ font-size:clamp(2.2rem, 4.2vw, 3.9rem); }
#location .display{ font-size:clamp(2.2rem, 4.2vw, 3.7rem); }
#vision .display{ font-size:clamp(2.2rem, 4.2vw, 3.6rem); }
#enquiry .display, #apply .display{ font-size:clamp(2.2rem, 4.2vw, 3.8rem); }
#newsletter .display{ font-size:clamp(1.9rem, 3.6vw, 2.8rem); }
.section-head h2{ font-size:clamp(1.9rem, 3.6vw, 3rem); }
@media (max-width:560px){
  .hero-title{ font-size:clamp(2.1rem, 9.5vw, 3rem); }
  .page-hero h1{ font-size:clamp(1.8rem, 7.6vw, 2.6rem); }
}


/* =====================================================================
   FORMS ON LIGHT BACKGROUNDS (Oct 2026)
   The base form styles are light-on-dark. On off-white / blush sections
   the fields were invisible, so give them proper boxed inputs there.
   ===================================================================== */
.section.off form .field input, .section.off form .field select, .section.off form .field textarea,
.section.blush form .field input, .section.blush form .field select, .section.blush form .field textarea{
  background:var(--white); color:var(--navy); border:1px solid rgba(21,31,53,0.22); border-radius:4px;
  padding:14px 16px; box-shadow:0 1px 2px rgba(21,31,53,0.04); -webkit-appearance:none; appearance:none;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.section.off form .field textarea, .section.blush form .field textarea{ min-height:150px; resize:vertical; }
.section.off form .field input::placeholder, .section.off form .field textarea::placeholder,
.section.blush form .field input::placeholder, .section.blush form .field textarea::placeholder{ color:rgba(21,31,53,0.4); }
.section.off form .field input:hover, .section.off form .field select:hover, .section.off form .field textarea:hover,
.section.blush form .field input:hover, .section.blush form .field select:hover, .section.blush form .field textarea:hover{ border-color:rgba(21,31,53,0.4); }
.section.off form .field input:focus, .section.off form .field select:focus, .section.off form .field textarea:focus,
.section.blush form .field input:focus, .section.blush form .field select:focus, .section.blush form .field textarea:focus{
  outline:none; border-color:var(--ochre); box-shadow:0 0 0 3px rgba(193,137,47,0.18);
}
.section.off form .field select, .section.blush form .field select{
  padding-right:44px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23151F35' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center; background-size:12px 8px;
}
.section.off form .field label, .section.blush form .field label{ color:var(--navy); opacity:0.8; }
.section.off form .field, .section.blush form .field{ margin-bottom:18px; }
.section.off form .consent, .section.blush form .consent{ color:var(--navy); opacity:0.85; align-items:center; margin:4px 0 22px; }
.section.off form .consent input, .section.blush form .consent input{ width:20px; height:20px; flex:0 0 20px; margin:0; accent-color:var(--ochre); }
.section.off form .field.has-error input, .section.off form .field.has-error select, .section.off form .field.has-error textarea,
.section.blush form .field.has-error input, .section.blush form .field.has-error select, .section.blush form .field.has-error textarea{ border-color:#c0392b; }
.section.off .field-error, .section.blush .field-error{ color:#b3261e; }
