/* PASSAGE / 結景 — an illuminated gallery, followed by a clear editorial page.
   Loaded after enkei.css. No content is revealed or concealed by this layer. */
:root {
  --od-paper: #f4f1eb;
  --od-ink: #302735;
  --od-muted: #6b626c;
  --od-accent: #765c83;
  --od-soft: #e9e2eb;
  --od-rule: #d7cfd9;
  --od-night: #211a2b;
  --od-gold: #d9bd88;
}
body {
  --paper: var(--od-paper);
  --ink: var(--od-ink);
  --muted: var(--od-muted);
  --line: var(--od-rule);
  --deep: var(--od-night);
  --od-hero-paper: var(--od-paper);
  --od-hero-ink: var(--od-ink);
  --od-hero-muted: var(--od-muted);
  background: var(--od-paper);
  color: var(--od-ink);
}
body[data-page="water"] { --od-paper:#f0f5f1; --od-ink:#183d3e; --od-muted:#4f6b6b; --od-accent:#226c6a; --od-soft:#dfece7; --od-rule:#c7d9d2; --od-hero-paper:#103b3e; --od-hero-ink:#f3f7e9; --od-hero-muted:#c3d9d2; }
body[data-page="services"] { --od-paper:#f2f0e7; --od-ink:#37352c; --od-muted:#686758; --od-accent:#57613e; --od-soft:#e5e7d7; --od-rule:#d4d6c5; }
body[data-page="support"] { --od-paper:#f4eee5; --od-ink:#46382f; --od-muted:#756457; --od-accent:#835537; --od-soft:#e8ddcd; --od-rule:#d9c9b5; }
body[data-page="partners"], body[data-page="partner-recruit"] { --od-paper:#f1f1e7; --od-ink:#3a3d2d; --od-muted:#646b53; --od-accent:#5b663e; --od-soft:#e3e8d2; --od-rule:#cfd5bd; }
body[data-page="consulting"] { --od-paper:#f4f1ec; --od-ink:#453e3a; --od-muted:#72675f; --od-accent:#735946; --od-soft:#e8e0d7; --od-rule:#d9cec0; }
body[data-page="startup"] { --od-paper:#eef3f4; --od-ink:#284551; --od-muted:#5b747b; --od-accent:#3e677a; --od-soft:#dce8eb; --od-rule:#c5d6db; }
body[data-page="turnaround"] { --od-paper:#f2ece6; --od-ink:#4b3b37; --od-muted:#78665f; --od-accent:#855747; --od-soft:#e9dcd1; --od-rule:#d8c6bb; }
body[data-page="careers"] { --od-paper:#f4edf0; --od-ink:#4c354c; --od-muted:#765c70; --od-accent:#854b67; --od-soft:#ebdce7; --od-rule:#dcc6d6; --od-hero-paper:#f0e5ee; }
body[data-page="philosophy"] { --od-paper:#f4f1e5; --od-ink:#4d4736; --od-muted:#746d56; --od-accent:#766336; --od-soft:#ebe5ce; --od-rule:#dcd3b7; }
body[data-page="creed"] { --od-paper:#f3f0e6; --od-ink:#494031; --od-muted:#756c58; --od-accent:#735c37; --od-soft:#e9e2cd; --od-rule:#dbd1b8; --od-hero-paper:#1b202a; --od-hero-ink:#f4ead4; --od-hero-muted:#d0c4a5; }
body[data-page="value"] { --od-paper:#f0ede6; --od-ink:#47434c; --od-muted:#746b76; --od-accent:#6c5c80; --od-soft:#e6dfea; --od-rule:#d8cfdb; }
body[data-page="impact"], body[data-page="notes"] { --od-paper:#f1f2e8; --od-ink:#3f4b35; --od-muted:#65705b; --od-accent:#5b6e3c; --od-soft:#e6ead5; --od-rule:#d2d9bc; }
body[data-page="about"], body[data-page="flow"], body[data-page="faq"], body[data-page="contact"], body[data-page="privacy"], body[data-page="sitemap"], body[data-page="404"] { --od-paper:#f4f2ed; --od-ink:#333b3a; --od-muted:#65706c; --od-accent:#4d685e; --od-soft:#e4eae2; --od-rule:#d3dcd4; }

/* Navigation stays deliberate and legible, including against the night gallery. */
.site-header { background:var(--od-paper); color:var(--od-ink); border-bottom-color:var(--od-rule); }
.header-contact { background:var(--od-ink); color:#fffaf0; }
.header-contact:hover { background:var(--od-accent); }
.desktop-nav>a:after { background:var(--od-accent); }
.desktop-nav a:last-child { color:var(--od-accent); }
.menu-toggle i { background:currentColor; }
.menu-dialog { background:#231d2c; color:#f6f0e5; }
body[data-page="index"] .site-header, body[data-page="creed"] .site-header { background:#211b2a; color:#f5efdf; border-bottom-color:#d4c7e02b; }
body[data-page="index"] .brand img, body[data-page="creed"] .brand img { filter:invert(1); mix-blend-mode:screen; }
body[data-page="index"] .header-contact, body[data-page="creed"] .header-contact { background:#eee5d8; color:#33273b; }
body[data-page="index"] .header-contact:hover, body[data-page="creed"] .header-contact:hover { background:#d9c7df; }
body[data-page="index"] .desktop-nav>a:after, body[data-page="creed"] .desktop-nav>a:after { background:#d8bf93; }
body[data-page="index"] .desktop-nav a:last-child, body[data-page="creed"] .desktop-nav a:last-child { color:#e2c894; }
body[data-page="index"] .menu-toggle i, body[data-page="creed"] .menu-toggle i { background:#f5efdf; }
.reading-progress { background:var(--od-accent); }
::selection { background:#d7c5df; color:#2d2236; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid var(--od-accent); outline-offset:5px; }
.gallery-home :focus-visible, body[data-page="creed"] .enkei-hero :focus-visible, body[data-page="water"] .enkei-hero :focus-visible { outline-color:#f1c887; }

/* Home: a real two-column gallery, with the sculpture kept inside its own bay. */
.home-hero.gallery-home {
  grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);
  align-items:center;
  column-gap:4%;
  min-height:min(900px,calc(100svh - 90px));
  padding:54px var(--gutter) 0;
  background:#211b2a;
  color:#f4ece1;
}
.gallery-home-grid {
  background:radial-gradient(ellipse at 82% 37%,#8b6a9b40,transparent 54%),radial-gradient(ellipse at 27% 90%,#8753541d,transparent 55%),linear-gradient(90deg,transparent calc(52% - 1px),#d9c5e515 52%,transparent calc(52% + 1px));
}
.gallery-copy { max-width:none; min-width:0; padding:38px 0 50px; }
.gallery-copy>.eyebrow { color:#d5c6d8; font-size:10px; letter-spacing:.17em; margin-bottom:31px; }
.gallery-copy .eyebrow span { color:#bca7c7; margin-left:0; font-size:8px; letter-spacing:.15em; }
.gallery-copy h1 { color:#fbf0dd; font-size:clamp(54px,6.05vw,96px); line-height:1.24; letter-spacing:-.035em; white-space:normal; overflow-wrap:anywhere; }
.gallery-copy h1>span:nth-child(2) { color:#c1a7d0; }
.gallery-copy h1>em { padding-left:.34em; }
.gallery-lead { color:#d1c4d2; font-size:15px; line-height:2.05; letter-spacing:.045em; margin-top:32px; }
.gallery-actions { margin-top:31px; gap:28px; }
.gallery-actions>.button { background:#eee5d5; color:#332438; min-height:56px; border-color:#eee5d5; }
.gallery-actions>.button:hover { background:#d9c7e2; border-color:#d9c7e2; }
.gallery-actions>.text-link { color:#f3e5dc; border-color:#b59cb477; }
.gallery-art { position:relative; right:auto; width:100%; height:clamp(500px,45vw,690px); margin:0; min-width:0; isolation:isolate; }
.gallery-art:before { content:""; position:absolute; inset:11% 1% 11%; border-radius:50%; border:1px solid #dbcae536; background:radial-gradient(ellipse at 46% 37%,#ddc1eb1f,transparent 64%); pointer-events:none; z-index:0; }
.gallery-art-window { inset:4% 6% 11%; border-color:#d0bde445; border-radius:47% 47% 3px 3px; background:radial-gradient(ellipse at 50% 34%,#e7cffa17,transparent 72%),linear-gradient(160deg,#d2c2df0c,#351f4405); }
.gallery-art-window:after { border-color:#e9d4f31c; }
.gallery-art>.landscape-canvas { inset:-5%; width:110%; height:110%; opacity:.92; }
.gallery-art>.sculpture-canvas { z-index:2; mask-image:linear-gradient(180deg,#0000,#000 10%,#000 83%,#0000 99%); }
.gallery-art-note { left:8%; bottom:89px; gap:15px; }
.art-stamp { border-color:#dbc0908c; color:#e2c791; font-size:29px; padding:11px 10px; }
.gallery-art-note>p { color:#cfbed7; font-size:11px; }
.gallery-shift { right:7%; bottom:20px; background:#2a2138f5; border-color:#bca4cc6e; color:#eee3f4; min-height:48px; font-size:11px; backdrop-filter:none; transition:background .25s ease,border-color .25s ease; }
.gallery-shift:hover { background:#46334f; border-color:#e1c6ee; }
.gallery-bottom { border-top-color:#d3bfd533; padding-top:24px; padding-bottom:27px; gap:25px; }
.gallery-bottom>span, .gallery-bottom>p { color:#c3b2c9; }
.gallery-bottom strong { color:#edcf9e; font-family:Georgia,var(--serif); font-size:28px; }
.gallery-bottom>a { color:#f1e6ed; }

/* Page mastheads: the art bay participates in layout instead of crossing the copy. */
.page-hero.enkei-hero {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);
  align-items:center;
  gap:0 6%;
  padding:28px var(--gutter) 38px;
  min-height:680px;
  background:var(--od-hero-paper)!important;
  color:var(--od-hero-ink);
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid var(--od-rule);
}
.page-hero.enkei-hero>.breadcrumbs { grid-column:1/-1; align-self:start; position:relative; z-index:5; width:100%; color:var(--od-hero-muted); padding-right:0; font-size:10px; overflow-wrap:anywhere; }
.page-hero.enkei-hero>.page-hero-copy { width:100%; max-width:none; min-width:0; padding:38px 0 44px; position:relative; z-index:3; }
.enkei-hero .page-hero-copy>.eyebrow { color:var(--od-accent); font-size:10px; letter-spacing:.17em; }
.enkei-hero .page-hero-copy>h1 { color:var(--od-hero-ink); font-size:clamp(38px,4.1vw,66px); line-height:1.48; letter-spacing:.01em; max-width:100%; overflow-wrap:anywhere; }
.enkei-hero .page-hero-copy>p:last-of-type { color:var(--od-hero-muted); font-size:15px; max-width:38em; line-height:2.03; margin-top:26px; }
.page-highlights { gap:7px 18px; max-width:100%; margin-top:25px; }
.page-highlights li { font-size:11px; color:var(--od-hero-muted); padding-left:15px; line-height:1.9; }
.page-highlights li:before { width:5px; height:5px; background:var(--od-accent); top:13px; }
.enkei-hero .hero-read-link { color:var(--od-hero-ink); border-bottom:1px solid currentColor; min-height:44px; margin-top:20px; padding-bottom:8px; font-size:13px; }
.page-hero.enkei-hero>.page-hero-art.sculpture-stage { position:relative; inset:auto; width:100%; height:clamp(440px,39vw,610px); max-height:none; min-width:0; align-self:center; overflow:visible; margin:0; }
.enkei-hero .page-hero-art .sculpture-canvas { mask-image:linear-gradient(180deg,#0000,#000 9%,#000 84%,#0000 99%); }
.enkei-hero .landscape-mat { inset:6% 1% 9%; border-radius:49% 49% 2px 2px; border-color:var(--od-rule); background:radial-gradient(ellipse at 50% 33%,#ffffff76,transparent 67%); }
.enkei-hero .landscape-mat:after { content:""; position:absolute; inset:6%; border:1px solid var(--od-rule); opacity:.45; border-radius:inherit; }
.enkei-hero .art-annotation { right:7%; bottom:85px; gap:12px; max-width:82%; color:var(--od-hero-ink); }
.enkei-hero .art-annotation strong { font-size:13px; line-height:1.7; }
.enkei-hero .art-annotation div>span { color:var(--od-hero-muted); font-size:9px; line-height:1.7; }
.enkei-hero .art-shift { right:7%; bottom:20px; left:auto; color:var(--od-hero-ink); border-color:var(--od-rule); background:var(--od-hero-paper); min-height:46px; min-width:185px; font-size:11px; backdrop-filter:none; }
.enkei-hero .art-shift:hover { border-color:var(--od-accent); background:var(--od-soft); color:var(--od-ink); }
.passage-edition { display:inline-flex; align-items:center; gap:12px; font-size:8px; line-height:1.8; letter-spacing:.11em; color:inherit; vertical-align:middle; }
.passage-edition:before { content:""; width:23px; height:1px; background:currentColor; opacity:.65; }

/* An independent, touch-friendly material drawer inside the art area. */
.scene-palette { position:absolute; top:17px; left:5%; width:min(230px,90%); z-index:8; color:#3c3342; }
.experience-ready .scene-palette { display:block; }
.scene-palette:not([open])>.scene-palette-options, .scene-palette:not([open])>.scene-palette-status { display:none; }
.scene-palette>summary { display:flex; justify-content:space-between; align-items:center; gap:22px; width:100%; min-height:44px; padding:9px 14px; border:1px solid #c8bccf; background:#f8f4ecf5; cursor:pointer; list-style:none; font-size:11px; line-height:1.8; border-radius:3px; }
.scene-palette>summary::-webkit-details-marker { display:none; }
.scene-palette>summary>span { font-size:19px; line-height:1; font-weight:400; }
.scene-palette[open]>summary { border-radius:3px 3px 0 0; border-bottom-color:#ded5df; }
.scene-palette-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:9px; border:1px solid #c8bccf; border-top:0; background:#f8f4ec; border-radius:0 0 3px 3px; box-shadow:0 10px 22px #2e203515; }
.scene-finish { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; min-height:65px; min-width:0; padding:8px 3px; border:1px solid transparent; background:transparent; font-size:10px; line-height:1.6; border-radius:3px; overflow-wrap:anywhere; }
.scene-finish i { display:block; width:25px; height:25px; border-radius:50%; background:var(--finish,#b0a5be); box-shadow:inset 0 0 0 1px #43314924; }
.scene-finish[aria-pressed="true"] { background:#e8ddec; border-color:#a58cb2; }
.scene-finish:hover { background:#eee5ed; border-color:#c4afce; }
.scene-palette-status { padding:0 12px 10px; margin:0!important; background:#f8f4ec; font-size:10px; line-height:1.8; color:#65516e; }
.gallery-art .scene-palette { left:8%; top:25px; }
.swatch-champagne { background:linear-gradient(135deg,#f1e7cf,#c3a26e 55%,#e8d8b8); }
.swatch-celadon { background:radial-gradient(circle at 33% 23%,#f1f6e8,#9bbab0 60%,#4f827d); }
.swatch-inkstone { background:linear-gradient(145deg,#77727b,#2a2833 58%,#514650); }

/* The three primary hero rhythms stay distinct. */
.page-hero.enkei-hero.scene-editorial { min-height:475px; grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr); column-gap:7%; padding-bottom:35px; }
.page-hero.enkei-hero.scene-editorial>.page-hero-copy { padding-top:30px; padding-bottom:36px; }
.scene-editorial .page-hero-copy>h1 { font-size:clamp(35px,3.55vw,54px); line-height:1.5; }
.page-hero.enkei-hero.scene-editorial>.page-hero-art.sculpture-stage { height:355px; }
.scene-editorial .page-highlights { max-width:100%; }
.scene-editorial .art-annotation { bottom:83px; right:4%; max-width:89%; }
.scene-editorial .art-shift { right:4%; bottom:20px; min-width:168px; font-size:10px; }
.scene-editorial .scene-palette { width:min(200px,94%); left:2%; top:2px; }
.page-hero.enkei-hero.scene-statement { grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr); gap:0 4%; min-height:650px; }
.page-hero.enkei-hero.scene-statement>.page-hero-copy { text-align:left; margin:0; padding-top:42px; }
.scene-statement .page-hero-copy>h1 { font-size:clamp(42px,4.35vw,66px); line-height:1.52; margin:0; }
.scene-statement .page-hero-copy>p:last-of-type { font-size:15px; margin-left:0; margin-right:0; max-width:38em; }
.scene-statement .page-highlights { justify-content:flex-start; }
.page-hero.enkei-hero.scene-statement>.page-hero-art.sculpture-stage { width:100%; height:480px; }
.scene-statement .page-hero-art .sculpture-canvas { left:0; width:100%; height:100%; }
.scene-statement .landscape-mat { inset:7% 0 8%; border-radius:50%; }
.scene-statement .art-annotation { right:7%; bottom:83px; }
.scene-statement .art-shift { left:auto; right:7%; bottom:20px; }

/* Water: a lit object over deep currents. */
body[data-page="water"] .enkei-hero { border-bottom-color:#8db7ae44; background:radial-gradient(ellipse at 81% 39%,#3f777540,transparent 55%),#103b3e!important; }
body[data-page="water"] .enkei-hero .eyebrow, body[data-page="water"] .enkei-hero .page-highlights li { color:#c5dfd1; }
body[data-page="water"] .page-highlights li:before { background:#b9cfac; }
body[data-page="water"] .enkei-hero .landscape-mat { border-color:#c5e2ca38; background:radial-gradient(ellipse at 50% 32%,#a6dbbd18,transparent 70%); }
body[data-page="water"] .enkei-hero .landscape-mat:after { border-color:#b7d9cd2c; }
body[data-page="water"] .enkei-hero .art-shift { background:#1d4d50; border-color:#8bb9b26b; }
body[data-page="water"] .enkei-hero .art-shift:hover { background:#326965; color:#f5f3df; }
body[data-page="water"] .world-water { background:#e3eee8; }
body[data-page="water"] .world-selectors button[aria-pressed="true"], body[data-page="water"] .tab-list button[aria-selected="true"] { background:#235d5c; border-color:#235d5c; color:#fbf7e5; }
body[data-page="water"] .water-overview { border-top:0; }
body[data-page="water"] .mini-facts { border-color:#aecbc3; }

/* Business: measured, architectural sheets; startup opens onto a pale horizon. */
body[data-page="consulting"] .enkei-hero { background:linear-gradient(90deg,#c5b59e18 1px,transparent 1px),linear-gradient(#c5b59e14 1px,transparent 1px),#f4f1ec!important; background-size:72px 72px,72px 72px,auto!important; }
body[data-page="consulting"] .landscape-mat { border-radius:2px; inset:11% 2% 10%; transform:rotate(-4deg); }
body[data-page="consulting"] .landscape-mat:after { inset:5%; }
body[data-page="consulting"] .world-ledger { border-color:#bca892; background:#f8f5ee; }
body[data-page="consulting"] .world-ledger-rule, body[data-page="consulting"] .world-ledger-foot { color:#776454; }
body[data-page="startup"] .enkei-hero { background:radial-gradient(ellipse at 84% 18%,#f3cba44a,transparent 43%),linear-gradient(155deg,#f4f4ec,#e7f0f1 65%,#dce8ed)!important; }
body[data-page="startup"] .landscape-mat { border-color:#9bbac666; border-radius:48% 48% 3px 3px; background:linear-gradient(#fff4d546,#f7fcff1a); }
body[data-page="startup"] .world-blueprint-sheet { background:#e9f1f2; border-color:#aac3cb; }
body[data-page="turnaround"] .landscape-mat { border-radius:5px 5px 45% 45%; transform:rotate(5deg); }
body:is([data-page="consulting"],[data-page="startup"],[data-page="turnaround"]) .timeline { border-color:var(--od-rule); }
body:is([data-page="consulting"],[data-page="startup"],[data-page="turnaround"]) .step-number { color:var(--od-accent); }
body:is([data-page="services"],[data-page="support"],[data-page="partners"],[data-page="consulting"],[data-page="startup"],[data-page="turnaround"],[data-page="partner-recruit"]) .detail-grid>article { padding:24px 0 6px; border-top:1px solid var(--od-rule); background:transparent; }
body:is([data-page="consulting"],[data-page="startup"],[data-page="turnaround"]) .detail-grid>article>.eyebrow { color:var(--od-accent); }

/* Careers: circular cut-paper, coral and lavender, with quiet tactile interactions. */
body[data-page="careers"] .enkei-hero { background:radial-gradient(ellipse at 83% 56%,#e2b3a06b,transparent 45%),linear-gradient(130deg,#efe2ef,#f2e9e7)!important; }
body[data-page="careers"] .enkei-hero .landscape-mat { border-radius:50%; inset:7% 0 8%; border-color:#af7e9952; background:radial-gradient(circle at 42% 30%,#fff5e49c,transparent 65%); }
body[data-page="careers"] .page-hero-art:before { content:""; position:absolute; width:37%; aspect-ratio:1; top:10%; right:-2%; border:1px solid #ac758b50; border-radius:50%; pointer-events:none; }
body[data-page="careers"] .page-hero-art:after { content:""; position:absolute; width:27%; aspect-ratio:1; bottom:12%; left:-1%; border:1px solid #b796bc70; border-radius:50%; pointer-events:none; }
body[data-page="careers"] .world-work-folds details { border-color:#c4a8bd; background:#e9dae7; transition:background .25s ease,border-color .25s ease; }
body[data-page="careers"] .world-work-folds details:nth-child(2) { background:#eddad2; }
body[data-page="careers"] .world-work-folds details:nth-child(3) { background:#e5ddeb; }
body[data-page="careers"] .world-work-folds details:hover { border-color:#986780; }
body[data-page="careers"] .world-fold-number { color:#8a5b7b; }
body[data-page="careers"] .detail-grid article { border-top-color:#c6a7bd; padding-top:22px; }
body[data-page="careers"] .detail-grid h3 { color:#66495f; }

/* Belief: dark ink and gold; the reading page returns to warm paper. */
body[data-page="creed"] .enkei-hero { background:radial-gradient(ellipse at 77% 46%,#71654029,transparent 55%),#1b202a!important; border-bottom-color:#d2b67e42; }
body[data-page="creed"] .enkei-hero .eyebrow, body[data-page="creed"] .enkei-hero .page-highlights li { color:#d6c69e; }
body[data-page="creed"] .enkei-hero .page-highlights li:before { background:#e1bf7f; }
body[data-page="creed"] .enkei-hero .landscape-mat { border-color:#d9bd7b42; background:radial-gradient(ellipse at 50% 35%,#ceaf5f13,transparent 69%); }
body[data-page="creed"] .enkei-hero .landscape-mat:after { border-color:#d2bb7729; }
body[data-page="creed"] .enkei-hero .art-shift { background:#292b31; border-color:#b9a57b69; }
body[data-page="creed"] .enkei-hero .art-shift:hover { background:#474031; color:#fbefd3; }
body[data-page="philosophy"] .enkei-hero .landscape-mat { border-radius:50% 50% 3px 50%; transform:rotate(8deg); }
body[data-page="value"] .enkei-hero { background:radial-gradient(ellipse at 79% 43%,#d2c4de55,transparent 55%),#f0ede6!important; }
body[data-page="value"] .enkei-hero .landscape-mat { border-radius:50%; border-color:#b7a3bf66; }
body:is([data-page="philosophy"],[data-page="creed"],[data-page="value"]) .section-heading h2 { font-size:clamp(30px,3.3vw,51px); line-height:1.65; }
body:is([data-page="philosophy"],[data-page="creed"],[data-page="value"]) .identity-grid article { border-color:var(--od-rule); }
body:is([data-page="philosophy"],[data-page="creed"],[data-page="value"]) .identity-grid h3 { color:var(--od-accent); }

/* The editorial finish extends below the exhibition. */
.content-section { padding-top:clamp(72px,7.8vw,124px); padding-bottom:clamp(72px,7.8vw,124px); }
.content-section.toned, .content-section.section-tint { background:var(--od-soft); }
.section-heading>.eyebrow, .section-heading .eyebrow, .section-top .eyebrow { color:var(--od-accent); }
.section-heading h2 { line-height:1.63; letter-spacing:.025em; overflow-wrap:anywhere; }
.section-heading h2+p, .section-lead, .prose, .detail-grid p, .detail-grid li { color:var(--od-muted); }
.section-top { align-items:flex-end; gap:clamp(25px,4vw,65px); }
.detail-grid h3 { color:var(--od-ink); }
.text-link { color:var(--od-ink); border-bottom-color:var(--od-accent); gap:28px; }
.text-link:hover { color:var(--od-accent); }
.text-link:hover { gap:28px; }
.page-world .world-link, .page-world .world-link:hover { gap:24px; }
.text-link>span, .world-link>span { transition:transform .25s ease; }
.text-link:hover>span, .world-link:hover>span { transform:translate(3px,-3px); }
.button { background:var(--od-ink); color:var(--od-paper); }
.button:hover { background:var(--od-accent); }
.button.outline { color:var(--od-ink); border-color:var(--od-rule); }
.button.outline:hover { background:var(--od-soft); }
.button.cream { background:#f4ecd9; color:#2e2932; }
.fine-print { color:var(--od-muted); line-height:1.9; }
.page-contents { background:var(--od-paper); border-color:var(--od-rule); padding-top:27px; padding-bottom:27px; }
.page-contents details { border-left-color:var(--od-accent); }
.page-contents summary { color:var(--od-ink); }
.page-contents a { color:var(--od-muted); overflow-wrap:anywhere; }
.page-contents a:hover, .page-contents a[aria-current="location"] { background:var(--od-soft); color:var(--od-ink); }
.fact-list div { border-color:var(--od-rule); padding-top:23px; padding-bottom:23px; }
.fact-list dt { color:var(--od-muted); }
.fact-list dd { color:var(--od-ink); line-height:1.85; }
.faq-list details, .faq-list summary { border-color:var(--od-rule); }
.faq-list summary { padding-top:24px; padding-bottom:24px; color:var(--od-ink); font-weight:500; }
.faq-list summary:hover { color:var(--od-accent); }
.faq-list details>.prose { color:var(--od-muted); }
.callout { border-color:var(--od-rule); }
body:is([data-page="about"],[data-page="flow"],[data-page="faq"],[data-page="contact"],[data-page="privacy"],[data-page="sitemap"]) .page-hero-art .landscape-mat { border-radius:3px 48% 3px 3px; }
body[data-page="about"] #company-profile .fact-list>div { display:grid; grid-template-columns:minmax(135px,.36fr) minmax(0,1fr); gap:30px; }
body[data-page="privacy"] .policy-content { max-width:960px; }
body[data-page="privacy"] .policy-content .content-section { padding-top:34px; padding-bottom:34px; }
body[data-page="privacy"] .policy-content h2 { font-size:23px; line-height:1.8; }
body[data-page="sitemap"] .sitemap-grid>div { border-top:1px solid var(--od-rule); padding-top:24px; }
.contact-direct>a { border-color:var(--od-rule); background:#faf9f2; }
.contact-direct>a:hover { background:var(--od-soft); }
.contact-direct strong { color:var(--od-ink); }
.contact-direct small { color:var(--od-muted); }
.contact-form .form-field input, .contact-form .form-field select, .contact-form .form-field textarea { border-color:var(--od-rule); background:#fcfaf5; color:var(--od-ink); }
.contact-form .form-field label, .contact-form .consent { color:var(--od-ink); }
.contact-form input[type="checkbox"] { accent-color:var(--od-accent); }

/* A distinct paper-and-ink notebook, with comfortable checklist targets. */
.notes-filters button { border-color:var(--od-rule); color:var(--od-ink); }
.notes-filters button[aria-pressed="true"] { background:#526339; border-color:#526339; color:#fffdf2; }
.notes-filters button:hover { border-color:var(--od-accent); }
.note-card { border-color:#ced4bc; background:#fbfcf4; border-radius:2px; }
.note-card summary { padding:30px; }
.note-card details[open] summary { background:#e9edda; }
.note-summary-title { color:#3e4b30; }
.note-content { border-top-color:#d5dcc5; }
.note-card:focus-within { outline:1px solid #82985d; outline-offset:3px; }
.note-checklist label { min-height:48px; }
.note-checklist input { accent-color:#657d42; }
.note-source a:hover { color:#405d2b; }
.impact-actions .detail-grid>article { border-top-color:#aab792; padding-top:27px; }
.impact-value-grid>article { padding:28px 0; border-top:1px solid var(--od-rule); }
.impact-status { color:#425330; background:#e1e7cb; }

/* Home chapters alternate scale and tone; the contact destination stays obvious. */
.purpose-navigation { background:#eee8e3; border-color:#d6cbd3; }
.purpose-navigation>p { color:#5d4367; }
.purpose-navigation>a { color:#473c4d; border-color:#d6cbd3; }
.purpose-navigation>a:hover { color:#7d578b; background:#e7dce8; }
body[data-page="index"] .water-feature { background:#173f42; }
body[data-page="index"] .water-feature-copy>p:not(.eyebrow):not(.fine-print) { color:#c1d6ce; }
body[data-page="index"] .water-feature .fine-print { color:#b6d0c5; }
body[data-page="index"] .water-feature .eyebrow { color:#c2d6b1; }
body[data-page="index"] .identity-home { background:#2c2335; }
body[data-page="index"] .identity-home-copy>p { color:#d4c4d7; }
body[data-page="index"] .network-metric strong { color:#6c4e78; }
body[data-page="index"] .network-web-core { background:#32273d; border-color:#b6a4c1; }
body[data-page="index"] .network-web-lines { color:#a79aaf; }
body[data-page="index"] .network-web-field { color:#51435a; border-color:#b9acc3; background:#f2edf3; }
body[data-page="index"] .network-web-field:hover { background:#e4d6ea; }
body[data-page="index"] .people-invite:first-child { background:#e7dfe9; color:#4b3757; }
body[data-page="index"] .people-invite:last-child { background:#e4e9da; color:#435039; }
body[data-page="index"] .people-invite p { color:inherit; }
.business-row { border-color:var(--od-rule); }
.business-row:hover { background:var(--od-soft); }
.business-row:hover .circle-arrow { background:#ded3e7; transform:translate(2px,-2px); }
.guide-links>a, .identity-links>a { border-color:var(--od-rule); }
.guide-links>a:hover h3, .identity-links>a:hover h3 { color:var(--od-accent); }
.initiative-home { background:#ebe9d9; }
.initiative-home .initiative-number { color:#82905b; }
.initiative-strip { background:#ebe8e1; border-color:#d8d0d8; color:#4e4357; }
.initiative-strip p small { color:#75647b; }
.initiative-strip p strong { color:#4e4357; }
.initiative-strip nav>a:hover { color:#7c5989; }
.contact-banner { background:#2b2134; color:#f4eddf; }
.contact-banner .eyebrow { color:#cfb4db; }
.contact-banner p:not(.eyebrow) { color:#d4c5d7; }
.contact-banner:after { background:radial-gradient(ellipse at 77% 57%,#a07fb326,transparent 59%); }
.contact-banner .button { background:#eee4d6; color:#36243e; }
.contact-banner .button:hover { background:#d9c8e0; }
.site-footer { background:#211b28; color:#ece2e9; }
.footer-top, .footer-middle { border-color:#c5acc627; }
.footer-company, .footer-company>small, .footer-top>p { color:#c7b8cd; }
.footer-nav a { color:#e0d4e4; }
.footer-nav>div>span, .footer-bottom { color:#aa97b4; }
.footer-nav a:hover { color:#e4c493; }
.footer-bottom button { color:#e5d9eb; border-color:#b69cc13d; }
.experience-dock { background:#fbf6ebf5; border-color:#c6b5ce; color:#47344f; box-shadow:0 4px 16px #2f223210; }

/* Responsive composition. The art is always a separate grid item on narrow screens. */
.js-motion .page-hero .reveal, .js-motion .gallery-home .reveal { opacity:1; transform:none; transition:none; }
@media(min-width:1450px) {
  .home-hero.gallery-home { column-gap:5%; min-height:900px; }
  .gallery-copy h1 { font-size:96px; }
  .gallery-art { height:710px; }
  .page-hero.enkei-hero { column-gap:7%; }
  .page-hero.enkei-hero>.page-hero-art.sculpture-stage { width:100%; right:auto; }
  .page-hero.enkei-hero.scene-editorial>.page-hero-art.sculpture-stage { width:100%; }
}
@media(max-width:1100px) {
  .home-hero.gallery-home { min-height:0; column-gap:3%; padding-top:37px; }
  .gallery-copy { padding-top:26px; }
  .gallery-copy h1 { font-size:clamp(49px,6.4vw,70px); }
  .gallery-art { height:570px; width:100%; right:auto; }
  .gallery-lead { font-size:14px; margin-top:27px; }
  .gallery-actions { gap:18px; }
  .gallery-actions>.button { padding-left:21px; padding-right:19px; gap:19px; font-size:12px; }
  .gallery-actions>.text-link { font-size:12px; gap:17px; }
  .gallery-art-note>p { font-size:10px; }
  .page-hero.enkei-hero { min-height:610px; column-gap:4%; }
  .page-hero.enkei-hero>.page-hero-copy { max-width:100%; padding-top:34px; }
  .enkei-hero .page-hero-copy>h1 { font-size:clamp(35px,4.2vw,45px); }
  .page-hero.enkei-hero>.page-hero-art.sculpture-stage { width:100%; right:auto; height:470px; }
  .enkei-hero .page-highlights { max-width:100%; gap:4px 12px; }
  .page-hero.enkei-hero.scene-editorial { min-height:455px; column-gap:4%; }
  .scene-editorial .page-hero-copy>h1 { font-size:37px; }
  .page-hero.enkei-hero.scene-editorial>.page-hero-art.sculpture-stage { width:100%; height:340px; right:auto; }
  .page-hero.enkei-hero.scene-statement { min-height:590px; }
  .scene-statement .page-hero-copy>h1 { font-size:43px; }
  .page-hero.enkei-hero.scene-statement>.page-hero-art.sculpture-stage { height:430px; }
  .enkei-hero .art-annotation { right:4%; }
  .enkei-hero .art-annotation div>span { font-size:8px; }
  .enkei-hero .art-shift { right:4%; font-size:10px; min-width:165px; }
}
@media(max-width:900px) {
  .home-hero.gallery-home { grid-template-columns:minmax(0,1fr); padding-top:35px; }
  .gallery-copy { max-width:660px; padding-top:15px; padding-bottom:8px; }
  .gallery-copy h1 { font-size:clamp(55px,9vw,82px); line-height:1.25; }
  .gallery-lead { max-width:33em; }
  .gallery-art { width:100%; max-width:620px; height:490px; justify-self:end; margin-top:-12px; }
  .gallery-art-note { bottom:90px; }
  .gallery-home-grid { background:radial-gradient(ellipse at 80% 66%,#8b6a9b42,transparent 56%); }
  .gallery-bottom { grid-template-columns:1fr 1.5fr; display:grid; padding-top:23px; }
  .gallery-bottom>span { grid-column:1/-1; }
  .gallery-bottom>a { justify-self:end; }
  .page-hero.enkei-hero { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); column-gap:2%; padding-bottom:27px; }
  .enkei-hero .page-hero-copy>h1 { font-size:35px; }
  .enkei-hero .page-hero-copy>p:last-of-type { font-size:14px; }
  .page-hero.enkei-hero>.page-hero-art.sculpture-stage { height:430px; }
  .enkei-hero .art-annotation { bottom:81px; max-width:93%; right:2%; }
  .enkei-hero .art-annotation-swatch { width:24px; height:24px; }
  .enkei-hero .art-annotation strong { font-size:11px; }
  .enkei-hero .art-shift { right:2%; min-width:156px; padding-left:12px; padding-right:12px; font-size:10px; }
  .scene-palette { left:0; width:min(210px,98%); }
  .scene-editorial .scene-palette { left:0; width:100%; }
  .page-hero.enkei-hero.scene-editorial { grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr); }
  .scene-editorial .page-hero-copy>h1 { font-size:33px; }
  .scene-editorial .art-annotation { display:flex; }
  .page-hero.enkei-hero.scene-statement { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
  .scene-statement .page-hero-copy>h1 { font-size:39px; }
  .scene-statement .art-shift { left:auto; }
}
@media(max-width:700px) {
  .home-hero.gallery-home { padding:28px var(--gutter) 0; column-gap:0; }
  .gallery-copy { padding:5px 0 10px; }
  .gallery-copy>.eyebrow { font-size:9px; margin-bottom:25px; }
  .gallery-copy .eyebrow span { display:block; margin-left:0; margin-top:8px; font-size:7px; }
  .gallery-copy h1 { font-size:clamp(46px,11.8vw,69px); line-height:1.27; }
  .gallery-copy h1>em { padding-left:.25em; }
  .gallery-lead { font-size:14px; line-height:2; margin-top:25px; }
  .gallery-actions { gap:17px; margin-top:25px; }
  .gallery-actions>.button { min-height:52px; font-size:12px; padding-left:20px; padding-right:18px; }
  .gallery-actions>.text-link { min-height:44px; font-size:12px; gap:15px; }
  .gallery-art { width:100%; height:390px; max-width:520px; right:auto; margin:0; justify-self:center; }
  .gallery-art-window { inset:5% 5% 10%; }
  .gallery-art>.landscape-canvas { inset:-4%; width:108%; height:108%; }
  .gallery-art-note { display:flex; left:6%; bottom:80px; gap:10px; }
  .gallery-art-note>p { font-size:9px; }
  .art-stamp { font-size:22px; padding:8px; }
  .gallery-shift { bottom:17px; right:5%; min-height:45px; padding:8px 13px; font-size:10px; gap:20px; }
  .gallery-art .scene-palette { top:16px; left:5%; width:200px; }
  .gallery-bottom { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:21px 0 25px; gap:13px; }
  .gallery-bottom>span { font-size:10px; }
  .gallery-bottom>p { font-size:10px; }
  .gallery-bottom strong { font-size:22px; }
  .gallery-bottom>a { font-size:10px; gap:12px; }
  .page-hero.enkei-hero, .page-hero.enkei-hero.scene-editorial, .page-hero.enkei-hero.scene-statement { display:grid; grid-template-columns:minmax(0,1fr); gap:0; min-height:0; padding:22px var(--gutter) 12px; }
  .page-hero.enkei-hero>.breadcrumbs { grid-column:1; font-size:9px; line-height:1.85; }
  .page-hero.enkei-hero>.page-hero-copy, .page-hero.enkei-hero.scene-editorial>.page-hero-copy, .page-hero.enkei-hero.scene-statement>.page-hero-copy { padding:31px 0 20px; width:100%; max-width:100%; margin:0; text-align:left; }
  .enkei-hero .page-hero-copy>h1, .scene-editorial .page-hero-copy>h1, .scene-statement .page-hero-copy>h1 { font-size:clamp(31px,8.2vw,43px); line-height:1.57; letter-spacing:0; margin:0; }
  .enkei-hero .page-hero-copy>p:last-of-type, .scene-editorial .page-hero-copy>p:last-of-type, .scene-statement .page-hero-copy>p:last-of-type { max-width:100%; font-size:14px; line-height:2; margin:20px 0 0; }
  .enkei-hero .page-highlights, .scene-editorial .page-highlights, .scene-statement .page-highlights { justify-content:flex-start; gap:2px 14px; margin-top:17px; max-width:100%; }
  .page-highlights li { font-size:11px; line-height:1.85; }
  .enkei-hero .hero-read-link { margin-top:15px; font-size:13px; }
  .page-hero.enkei-hero>.page-hero-art.sculpture-stage, .page-hero.enkei-hero.scene-editorial>.page-hero-art.sculpture-stage, .page-hero.enkei-hero.scene-statement>.page-hero-art.sculpture-stage { position:relative; inset:auto; width:100%; height:340px; margin:0; justify-self:center; }
  .page-hero.enkei-hero.scene-editorial>.page-hero-art.sculpture-stage { height:285px; }
  .scene-statement .page-hero-art .sculpture-canvas { width:100%; left:0; height:100%; }
  .enkei-hero .landscape-mat { inset:5% 1% 8%; }
  .enkei-hero .art-annotation, .scene-editorial .art-annotation, .scene-statement .art-annotation { display:flex; right:4%; bottom:77px; max-width:90%; gap:8px; }
  .enkei-hero .art-annotation-swatch, .scene-statement .art-annotation-swatch { display:block; width:23px; height:23px; }
  .enkei-hero .art-annotation strong { font-size:11px; }
  .enkei-hero .art-annotation div>span { font-size:8px; }
  .enkei-hero .art-shift, .scene-editorial .art-shift, .scene-statement .art-shift { left:auto; right:4%; bottom:13px; min-height:44px; min-width:165px; font-size:10px; }
  .scene-palette, .scene-editorial .scene-palette { left:4%; top:7px; width:min(205px,92%); }
  .scene-palette>summary { min-height:44px; }
  .scene-finish { min-height:65px; }
  .passage-edition { display:block; font-size:8px; margin-top:8px; }
  .passage-edition:before { display:inline-block; margin-right:9px; vertical-align:middle; }
  .content-section { padding-top:65px; padding-bottom:65px; }
  .section-heading { margin-bottom:31px; }
  .section-heading h2, body:is([data-page="philosophy"],[data-page="creed"],[data-page="value"]) .section-heading h2 { font-size:clamp(28px,7.7vw,36px); line-height:1.7; }
  .section-top { gap:24px; align-items:flex-start; }
  .prose p, .detail-grid p, .detail-grid li { font-size:14px; line-height:2; }
  .page-contents { padding-top:20px; padding-bottom:20px; }
  .page-contents a { font-size:13px; min-height:46px; }
  .fact-list div { padding-top:19px; padding-bottom:19px; }
  body[data-page="about"] #company-profile .fact-list>div { grid-template-columns:minmax(78px,.34fr) minmax(0,1fr); gap:17px; }
  .fact-list dd { font-size:14px; }
  body[data-page="privacy"] .policy-content h2 { font-size:21px; }
  body[data-page="privacy"] .policy-content .content-section { padding-top:27px; padding-bottom:27px; }
  .faq-list summary { padding-top:20px; padding-bottom:20px; font-size:15px; }
  .note-card summary { padding:25px 23px; }
  .contact-banner { padding-top:61px; padding-bottom:61px; }
  .initiative-strip nav>a { border-color:#d6cad8; }
}
@media(max-width:360px) {
  .gallery-copy h1 { font-size:43px; }
  .gallery-actions { gap:12px; }
  .gallery-actions>.button { font-size:11px; gap:16px; padding-left:16px; padding-right:15px; }
  .gallery-actions>.text-link { font-size:11px; gap:10px; }
  .gallery-art { height:350px; }
  .gallery-art-note>p { font-size:8px; }
  .gallery-bottom strong { font-size:20px; }
  .gallery-bottom>a { font-size:9px; gap:7px; }
  .enkei-hero .page-hero-copy>h1, .scene-editorial .page-hero-copy>h1, .scene-statement .page-hero-copy>h1 { font-size:29px; }
  .page-hero.enkei-hero>.page-hero-art.sculpture-stage, .page-hero.enkei-hero.scene-statement>.page-hero-art.sculpture-stage { height:310px; }
  .page-hero.enkei-hero.scene-editorial>.page-hero-art.sculpture-stage { height:270px; }
  .page-highlights li { font-size:10px; }
  .scene-palette, .scene-editorial .scene-palette, .gallery-art .scene-palette { width:min(195px,92%); }
  .enkei-hero .art-annotation strong { font-size:10px; }
  .enkei-hero .art-annotation div>span { font-size:7px; }
  .section-heading h2, body:is([data-page="philosophy"],[data-page="creed"],[data-page="value"]) .section-heading h2 { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) {
  .gallery-shift, .scene-finish, .world-work-folds details, .text-link>span, .world-link>span { transition:none; }
  .text-link:hover>span, .world-link:hover>span, .business-row:hover .circle-arrow { transform:none; }
}
.motion-off .gallery-shift, .motion-off .scene-finish, .motion-off .world-work-folds details, .motion-off .text-link>span, .motion-off .world-link>span { transition:none; }
.motion-off .text-link:hover>span, .motion-off .world-link:hover>span, .motion-off .business-row:hover .circle-arrow { transform:none; }
@media print {
  body { background:white; color:black; --od-paper:white; --od-ink:black; --od-muted:#333; --od-rule:#aaa; }
  .gallery-home-grid, .gallery-art, .page-hero-art, .scene-palette, .passage-edition, .experience-dock { display:none!important; }
  .home-hero.gallery-home, .page-hero.enkei-hero, .page-hero.enkei-hero.scene-editorial, .page-hero.enkei-hero.scene-statement { display:block; min-height:0; background:white!important; color:black; padding:15pt 0; }
  .gallery-copy, .page-hero.enkei-hero>.page-hero-copy, .page-hero.enkei-hero.scene-editorial>.page-hero-copy, .page-hero.enkei-hero.scene-statement>.page-hero-copy { padding:0; max-width:100%; }
  .gallery-copy h1, .gallery-copy h1>span:nth-child(2), .enkei-hero .page-hero-copy>h1 { color:black; font-size:26pt; line-height:1.5; }
  .gallery-lead, .enkei-hero .page-hero-copy>p:last-of-type { color:#333; font-size:11pt; max-width:100%; }
  .content-section { padding:15pt 0; }
  .content-section.toned, .content-section.section-tint, .note-card, .note-card details[open] summary { background:white; }
  .section-heading h2, body:is([data-page="philosophy"],[data-page="creed"],[data-page="value"]) .section-heading h2 { font-size:20pt; }
  .fine-print { color:#333; }
  .note-card:focus-within { outline:none; }
}
/* Keep the artwork caption readable against the water gallery. */
body[data-page="water"] .enkei-hero .art-annotation strong{color:#e8efdb}
