/* The Northcliff — the site-wide styles. Every page's own layout is in its
   markup, as the 19 Oct 2026 design export has it; the values that change on a
   phone are the custom properties in responsive.css. Phone layout at 760px
   and below. */

/* From the prototype's <helmet> (index.html). */
@font-face{font-family:'Manrope';src:url('/assets/fonts/Manrope-400.woff2?v=849290ef12') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('/assets/fonts/Manrope-700.woff2?v=d2a12c85a8') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Outfit';src:url('/assets/fonts/Outfit-400.woff2?v=71f028fd23') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Outfit';src:url('/assets/fonts/Outfit-700.woff2?v=5d5e373408') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@keyframes nc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body{margin:0;background:#FFFFFF;-webkit-font-smoothing:antialiased}
a{color:#40485A}a:hover{color:#9898A0}

/* The prototype's page wrapper and frame. */
.nc-site{font-family:var(--ncBody);color:#4A5262}
.nc-frame{max-width:100%;margin:0 auto;background:#FFFFFF;position:relative;overflow-x:clip}

/* The Book and Chat on WhatsApp pills float on their own over the page, with
   no bar or background behind them (website fixes 2, Jacques, 21 Oct 2026):
   Book filled in brand slate; Chat on WhatsApp the same pastel-green pill as
   every WhatsApp control (.nc-wa), beside Book. They sit
   above the phone's home indicator (the safe-area inset), and the footer is
   padded so they clear its last line at the end of every page. */
.nc-bookpill{bottom:calc(var(--pillBottom) + env(safe-area-inset-bottom, 0px)) !important}
.nc-wa.nc-chatpill{position:fixed;right:var(--chatRight);bottom:calc(var(--pillBottom) + env(safe-area-inset-bottom, 0px));z-index:81;box-shadow:0 4px 14px rgba(64,72,90,.12)}
.nc-footer{padding-bottom:96px !important}
/* Over the hero and door photos on a desktop, a soft shadow keeps both pills'
   edges clear (website fixes 3). Desktop only: the phone layout is unchanged. */
@media (min-width: 761px){
  .nc-bookpill > button,.nc-wa.nc-chatpill{box-shadow:0 2px 6px rgba(20,24,34,.18),0 8px 24px rgba(20,24,34,.28)!important}
}

/* Every WhatsApp control, the same pill: pastel green, dark text (website fixes
   (g), 21 Oct 2026). The components carry the same declarations inline. */
.nc-wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border:0;border-radius:999px;background:#CDEBD3;color:#14301E;text-decoration:none;font:400 11px/1 var(--ncBody);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;box-sizing:border-box}
.nc-wa:hover{color:#14301E;background:#BFE4C7}

/* [hidden] must win over any display a class sets. */
[hidden]{display:none!important}

/* What the prototype rendered for one device only. */
.nc-only-d,.nc-only-m{display:contents}
.nc-only-m,.nc-m{display:none}
@media (max-width: 760px){
  .nc-only-d,.nc-d{display:none}
  .nc-only-m{display:contents}
  .nc-m{display:inline}
}

/* The page's own place in the navigation (build.js marks it). */
.nc-nav a.is-active{color:#9898A0!important;border-bottom-color:#9898A0!important}
.nc-mnav a.is-active{color:#9898A0!important}
.nc-sub a.is-active{color:#40485A!important;border-bottom-color:#40485A!important}

/* A fact Settings holds, filled from publicSittings in website step 4. Empty
   until then: the review site shows a quiet ellipsis, never an example value. */
[data-slot]:empty::before{content:"…";color:#9898A0}

/* The review bar: thenorthcliff.web.app only, never in a www build. One thin
   line at the top; after the first scroll it collapses to a small "Review site"
   tag (bottom left, clear of the pills), which opens it again. */
.nc-review{position:sticky;top:0;z-index:100;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;height:28px;padding:0 10px;box-sizing:border-box;background:#40485A;color:#D9D4C8;font:400 10px/1 var(--ncBody);letter-spacing:.06em;white-space:nowrap}
.nc-review-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.nc-review-tools{display:flex;flex:none;align-items:center;gap:4px}
.nc-review select,.nc-review button,.nc-review a{background:transparent;color:#D9D4C8;border:1px solid #4A473F;padding:0 8px;height:22px;font:inherit;cursor:pointer;text-decoration:none;box-sizing:border-box;display:inline-flex;align-items:center}
.nc-review select{max-width:150px}
.nc-review select option{color:#40485A}
.nc-review button[aria-pressed="true"]{background:#F3F0EA;color:#40485A}
@media (max-width: 760px){.nc-review-jump,.nc-review [data-review-device]{display:none}}
.nc-review.is-collapsed{display:none}
.nc-review-tag{position:fixed;left:12px;bottom:16px;z-index:100;display:none;height:24px;padding:0 10px;border:0;border-radius:12px;background:#40485A;color:#D9D4C8;font:400 10px/1 var(--ncBody);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;opacity:.9}
.nc-review.is-collapsed + .nc-review-tag{display:inline-flex;align-items:center}
.nc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nc-preview{position:fixed;inset:0;z-index:200;background:#E8E6E1;display:flex;flex-direction:column;align-items:center;padding:16px 0 0}
.nc-preview iframe{width:390px;max-width:100%;flex:1;border:0;background:#FFFFFF;box-shadow:0 0 0 1px #D6D2C9}
.nc-preview button{margin:0 0 12px;background:#40485A;color:#FFFFFF;border:0;padding:8px 14px;font:400 11px/1 var(--ncBody);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
/* Inside the phone preview the bar is not repeated. */
.nc-in-preview .nc-review{display:none}
