/* Deep individual chapter colors and a shared, softly iridescent pearl. */
:root {
  --ink: #082d2c;
  --ink-soft: #103938;
  --paper: #f1eee7;
  --turquoise: #8edacb;
  --muted: #c8cec6;
  --rule: #f1eee730;
  --pearl-wash: radial-gradient(ellipse at 86% 12%, #dce7e580, transparent 54%),
    radial-gradient(ellipse at 13% 90%, #e6dceb85, transparent 50%),
    linear-gradient(126deg, #f5f0e8, #f4f2ed 42%, #e8ede7 76%, #f4ece8);
}
.page-business { --ink:#14273f; --ink-soft:#1d3451; --turquoise:#a1c5ec; }
.page-books { --ink:#332434; --ink-soft:#493249; --turquoise:#ddbadb; }
.page-hr { --ink:#492922; --ink-soft:#5b382e; --turquoise:#efbb9e; }
.page-bees { --ink:#442809; --ink-soft:#623b11; --turquoise:#efb954; }
.page-beg { --ink:#163421; --ink-soft:#1f472d; --turquoise:#ceff00; }
.page-marketing { --ink:#30233d; --ink-soft:#443254; --turquoise:#cfb4f1; }
.page-events { --ink:#412128; --ink-soft:#573039; --turquoise:#efb1b6; }
.page-talks { --ink:#26274a; --ink-soft:#373962; --turquoise:#bec5fc; }
body { background:var(--ink); color:var(--paper); }

/* Dark petrol needs its own foreground palette. */
.stage-hero {
  color:var(--paper);
  background:radial-gradient(ellipse at 61% 54%, #174c49 0%, #103a38 25%, #082d2c 59%, #062422 100%);
}
.is-home .header { color:var(--paper); border-color:#f1eee726; }
.is-home .header a:hover { color:var(--turquoise); }
.is-home .header a:focus-visible,.is-home .header button:focus-visible,.stage-hero a:focus-visible { outline-color:var(--paper); }
.is-home .menu-toggle span { background:var(--paper); }
.stage-firstname,.stage-role { color:var(--paper); }
.stage-type { color:#d5e0d7; }
.surname-track .type-outline { -webkit-text-stroke-color:#d5e0d7; }
.stage-pro {
  background:linear-gradient(114deg,#f8f3e8 4%,#dfeae4 36%,#f5f1e9 60%,#e7dfec 86%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
}
.pro-dot { color:var(--paper); }
.stage-orbit { opacity:.24; }
.stage-orbit svg { stroke:#c0e5d7; }
.stage-bottom { border-color:#f1eee745; color:var(--paper); }
.stage-bottom .motion-toggle { color:var(--paper); }
.orbit-link {
  background:var(--pearl-wash);
  color:var(--ink);
  box-shadow:inset 0 2px 2px #fff9, inset 0 -3px 7px #a6b6ac55, 0 14px 32px #001b1a30;
}
.orbit-link:hover { background:var(--pearl-wash); }
.stage-portrait { filter:saturate(.76) contrast(1.015); }
.image-mat { background:var(--ink-soft); border-color:var(--paper); }
.scene-visual:before { background:#d5e2d9; }
.image-caption { color:var(--muted); }
.image-books .image-mat { background:var(--pearl-wash); }
.image-bees img { object-position:center 38%; filter:saturate(.85); }
.scene-counter { background:var(--pearl-wash); }
.scene-open { border-color:var(--rule); }
.topic-explorer { background:#092725; }
.topic-choice { border-color:var(--rule); }
.chapter-photo { background:var(--turquoise); }
.chapter-bees .chapter-photo img { object-position:center 35%; filter:saturate(.88) brightness(.92); }
.chapter-beg .chapter-photo { border:6px solid var(--turquoise); }
.chapter-beg .chapter-title { color:var(--turquoise)!important; }
.chapter-books .chapter-photo { background:var(--pearl-wash); }

/* Pearl is a surface, with restrained cool and warm reflections. */
.contact-poster,.topic-about,.practice,.book-feature {
  color:var(--ink);
  background:var(--pearl-wash);
}
.footer.wrap { background:#efeee8; color:var(--ink); border-color:#17353125; }
.footer>a:first-child,.footer a:hover { color:var(--ink); }
.practice .section-heading h2 span,.practice-item:hover h3 { color:var(--ink); }
.practice .section-top>.eyebrow:last-child,.practice-item .eyebrow { color:var(--ink); opacity:.72; }
.practice a:focus-visible { outline-color:var(--ink); }
.practice-item,.text-link { border-color:color-mix(in srgb,var(--ink) 32%,transparent); }
.contact-poster a:focus-visible { outline-color:var(--ink); }
.poster-bottom { border-color:color-mix(in srgb,var(--ink) 30%,transparent); }
.poster-title { gap:40px; }
.contact-seal {
  display:grid;
  place-items:center;
  flex:0 0 136px;
  width:136px;
  height:136px;
  border-radius:50%;
  color:var(--paper);
  background:var(--ink);
  box-shadow:inset 0 2px 2px #ffffff28,0 9px 18px #132a2821;
  transform:rotate(-8deg);
  transition:transform .4s var(--ease),background .3s;
}
.contact-seal svg { width:44%; height:44%; fill:currentColor; }
.poster-title:hover .contact-seal { transform:rotate(0) translateY(-4px); background:var(--ink-soft); }

/* Filled, deliberately weighty directional signs. */
.direction-icon { width:.88em; height:.88em; display:inline-block; fill:currentColor; vertical-align:-.05em; flex-shrink:0; }
.points-down { transform:rotate(180deg); }
.points-back { transform:rotate(225deg); }
.points-up { transform:rotate(-45deg); }
.orbit-link>span { display:grid; place-items:center; }
.orbit-link>span .direction-icon { width:42px; height:42px; }
.poster-bottom .direction-icon { width:13px; height:13px; margin-left:6px; }
.scene-open .direction-icon { width:20px; height:20px; }
.explorer-top .direction-icon { width:12px; height:12px; margin-left:5px; }
.mobile-nav .direction-icon { width:18px; height:18px; }
.back-link .direction-icon { width:12px; height:12px; margin-right:7px; }
.footer .direction-icon { width:10px; height:10px; margin-left:4px; }

/* Real project identities, with room around each mark. */
.project-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.project-brand { grid-template-columns:1fr 28px; padding:28px 0 32px; }
.project-logo { grid-column:1/-1; height:136px; display:flex; align-items:center; }
.project-logo img { object-fit:contain; object-position:left center; width:220px; height:auto; max-height:88px; }
.project-logo.logo-1 img { width:116px; }
.project-logo.logo-1 img,.project-logo.logo-2 img { filter:brightness(0) invert(94%) sepia(7%) saturate(197%); }
.project-visit { font-size:13px; color:var(--muted); align-self:center; }
.project-brand:hover .project-visit { color:var(--paper); }
.project-identity {
  display:grid;
  grid-template-columns:160px minmax(0,1fr) 40px;
  align-items:center;
  gap:44px;
  padding:42px 55px;
  margin:72px auto 0;
  width:calc(100% - var(--gutter)*2);
  max-width:1680px;
  background:var(--pearl-wash);
  color:var(--ink);
}
.project-identity>img { width:160px; height:160px; object-fit:contain; }
.project-identity>span:nth-child(2),.ebook-feature a>span:nth-child(2) { display:flex; flex-direction:column; gap:8px; }
.project-identity strong,.ebook-feature strong { font:500 clamp(26px,3.3vw,54px)/1.12 var(--sans); letter-spacing:-.04em; }
.project-identity>span>span:last-child { font-size:14px; }
.project-identity>.arrow,.ebook-feature .arrow { font-size:32px; }
.project-identity:focus-visible { outline-color:var(--turquoise); }
.identity-running>img { width:120px; height:120px; }
.identity-running { grid-template-columns:120px minmax(0,1fr) 40px; }

/* The four printed books are covers, with no catalogue links. */
.book-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; gap:5%; }
.book-object { margin:0; padding:0; perspective:1100px; }
.book-object img {
  width:100%;
  height:auto;
  max-height:440px;
  object-fit:contain;
  object-position:bottom;
  filter:drop-shadow(12px 20px 14px #120b174f);
  transform:rotate(-2deg);
  transition:transform .45s var(--ease);
}
.book-object:nth-child(even) img { transform:rotate(2deg); }
.book-object:hover img { transform:rotate(0) translateY(-5px); }
.ebook-feature { border-top:1px solid var(--rule); margin-top:100px; padding-top:42px; }
.ebook-feature>a { display:grid; grid-template-columns:90px minmax(0,1fr) 40px; align-items:center; gap:34px; }
.ebook-feature img { width:90px; height:90px; }
.ebook-feature strong { font-size:32px; }
.ebook-feature a>span>span:last-child { font-size:13px; color:var(--turquoise); }
.material-book-covers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7%; align-items:end; margin:0 0 80px; }
.material-book-covers figure { margin:0; }
.material-book-covers img { width:100%; height:300px; object-fit:contain; object-position:left bottom; filter:drop-shadow(8px 14px 10px #0004); }

@media (max-width:1050px) {
  .contact-seal { width:100px; height:100px; flex-basis:100px; }
  .project-list { gap:28px; }
  .project-logo img { width:185px; }
  .project-logo.logo-1 img { width:100px; }
  .project-identity { padding:35px; gap:30px; }
}
@media (max-width:700px) {
  .poster-title { gap:16px; font-size:13vw; }
  .contact-seal { width:64px; height:64px; flex-basis:64px; }
  .orbit-link>span .direction-icon { width:30px; height:30px; }
  .project-list { grid-template-columns:1fr; gap:12px; }
  .project-logo { height:115px; }
  .project-logo img { width:210px; }
  .project-logo.logo-1 img { width:108px; }
  .project-identity,.identity-running { grid-template-columns:76px minmax(0,1fr) 18px; gap:16px; padding:25px 18px; margin-top:44px; }
  .project-identity>img { width:76px; height:76px; }
  .project-identity strong { font-size:25px; }
  .project-identity>span>span:last-child { font-size:11px; line-height:1.5; }
  .project-identity>.arrow { font-size:18px; }
  .project-identity .eyebrow { font-size:8px; }
  .book-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:52px 10%; padding:0 3%; }
  .book-object img { max-height:330px; }
  .ebook-feature { margin-top:62px; padding-top:30px; }
  .ebook-feature>a { grid-template-columns:65px minmax(0,1fr) 22px; gap:18px; }
  .ebook-feature img { width:65px; height:65px; }
  .ebook-feature strong { font-size:25px; }
  .ebook-feature .arrow { font-size:22px; }
  .material-book-covers { gap:20px; margin-bottom:45px; }
  .material-book-covers img { height:160px; }
}
@media (max-width:380px) {
  .contact-seal { width:54px; height:54px; flex-basis:54px; }
  .poster-title { gap:12px; }
  .project-identity,.identity-running { grid-template-columns:60px minmax(0,1fr) 15px; gap:12px; padding:23px 15px; }
  .project-identity>img { width:60px; height:60px; }
  .project-identity strong { font-size:22px; }
}
