/* Phillips360 Modern V2.033 — assets/css/foundation/base.css
   Modify component values here; global colors, type, spacing, radii, and motion live in foundation/tokens.css. */

html { scroll-behavior: smooth; }
html.menu-is-open { overflow: hidden; }
html.menu-is-open body { padding-right: var(--p360-scrollbar-compensation, 0px); }
*, *::before, *::after { box-sizing: border-box; }
body.p360-site {
  margin: 0;
  overflow-x: clip;
  background: var(--p360-paper);
  color: var(--p360-ink);
  font-family: var(--p360-font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.p360-site img { max-width: 100%; height: auto; }
body.p360-site a { color: inherit; }
body.p360-site h1,
body.p360-site h2,
body.p360-site h3,
body.p360-site h4,
body.p360-site p { margin-top: 0; }
body.p360-site h1,
body.p360-site h2,
body.p360-site h3 {
  color: inherit;
  font-family: var(--p360-font-display);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 0.98;
}
body.p360-site p { font-size: clamp(1rem, 1.15vw, 1.18rem); font-weight: 400; }
.p360-shell, .wrapper { width: 100%; overflow: clip; }
.p360-container { width: min(100%, calc(var(--p360-max) + (var(--p360-gutter) * 2))); margin-inline: auto; padding-inline: var(--p360-gutter); }
.p360-section { position: relative; padding-block: var(--p360-space-4); }
.p360-section--dark { background: var(--p360-ink); color: var(--p360-white); }
.p360-section--orange { background: var(--p360-accent); color: var(--p360-ink); }
.p360-kicker {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 20px;
  color: var(--p360-accent);
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.p360-kicker::before { width: 28px; height: 1px; background: currentColor; content: ""; }
.p360-kicker--ink { color: var(--p360-ink); }
.p360-section-heading { margin-bottom: var(--p360-space-3); }
.p360-section-heading--split { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: clamp(40px, 8vw, 120px); align-items: end; }
.p360-section-heading h2 { max-width: 960px; margin: 0; font-size: clamp(2.75rem, 6.4vw, 7.2rem); }
.p360-section-heading__copy { padding-bottom: 6px; }
.p360-section-heading__copy p { max-width: 590px; color: var(--p360-muted); line-height: 1.65; }
.p360-section-heading--light .p360-section-heading__copy p { color: rgba(255,255,255,.68); }
.p360-section-heading--light .p360-kicker { color: var(--p360-accent-2); }

.p360-page-start { display: block; height: 0; scroll-margin-top: 90px; outline: none; }


/* Accessible focus treatment. Change --p360-focus-ring in tokens.css. */
body.p360-site :where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--p360-accent);
  outline-offset: 3px;
  box-shadow: var(--p360-focus-ring);
}

/* JS-disabled fallback: essential content remains visible and readable. */
.no-js [data-reveal] { opacity: 1 !important; transform: none !important; }
