@font-face { font-family:"IBM Plex Sans"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/IBMPlexSans-Regular.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Sans"; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/IBMPlexSans-SemiBold.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Serif"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/IBMPlexSerif-Regular.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Serif"; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/IBMPlexSerif-SemiBold.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/IBMPlexSansArabic-Regular.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Sans Arabic"; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/IBMPlexSansArabic-SemiBold.woff2") format("woff2"); }
:root { color-scheme:dark; --ink:#07111b; --navy:#0e2334; --navy-raised:#142f45; --paper:#f6f7f8; --muted:#a9bdc9; --blue:#69bdff; --blue-quiet:#3d7fa3; --gold:#e6c96a; --line:rgba(105,189,255,.24); --font-arabic:"IBM Plex Sans Arabic",Tahoma,sans-serif; --font-body:"IBM Plex Sans",Arial,sans-serif; --font-display:"IBM Plex Serif",Georgia,serif; --font-brand:"IBM Plex Serif",Georgia,serif; font-family:var(--font-body); font-synthesis:none; }
html[dir=rtl] { --font-body:var(--font-arabic); --font-display:var(--font-arabic); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-block-size:100vh; margin:0; color:var(--paper); background:var(--ink); }
/* The template-owned locale link remains available in the header. */
.bazel-public-home .trp-floating-switcher { display:none !important; }
a { color:inherit; }
a:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.skip-link { position:fixed; z-index:20; inset-block-start:1rem; inset-inline-start:1rem; padding:.75rem 1rem; color:var(--ink); background:var(--paper); font-size:.78rem; font-weight:800; text-decoration:none; transform:translateY(-180%); }
.skip-link:focus-visible,body:focus-within .skip-link { transform:translateY(0); }
.locale-link { border-inline-start:1px solid var(--line); padding-inline-start:1rem; color:var(--blue) !important; }
[dir=rtl] .brand { direction:ltr; unicode-bidi:embed; }
[dir=rtl] .eyebrow { letter-spacing:.06em; }
[dir=rtl] .hero h1,[dir=rtl] .chapter h2,[dir=rtl] .services-hero h1,[dir=rtl] .service-ledger h2,[dir=rtl] .services-boundary h2,[dir=rtl] .approach-hero h1,[dir=rtl] .working-model h2,[dir=rtl] .approach-boundary h2,[dir=rtl] .start-hero h1,[dir=rtl] .entry-path h2,[dir=rtl] .start-boundary h2 { letter-spacing:0; }
.site-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1.5rem; padding:1.1rem max(1.4rem,calc((100% - 78rem)/2)); border-block-end:1px solid var(--line); }
.brand { color:var(--paper); font-family:ui-serif,Georgia,serif; font-size:1.02rem; font-weight:760; letter-spacing:.12em; text-decoration:none; }.brand span { color:var(--blue); }.site-header nav { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }.site-header nav a { display:inline-flex; align-items:center; min-block-size:2.25rem; margin:0; color:var(--muted); font-size:.75rem; font-weight:760; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }.site-header > p { margin:0; color:var(--muted); font-size:.7rem; font-weight:760; letter-spacing:.1em; text-align:end; text-transform:uppercase; }
main { overflow:hidden; }.hero { position:relative; display:grid; align-items:end; min-block-size:min(49rem,calc(100vh - 4.8rem)); padding:clamp(4rem,12vw,10rem) max(1.4rem,calc((100% - 78rem)/2)); isolation:isolate; }.hero-copy { position:relative; z-index:1; max-inline-size:42rem; }.eyebrow { margin:0; color:var(--blue); font-size:.72rem; font-weight:830; letter-spacing:.14em; }.hero h1,.chapter h2 { margin:1rem 0; font-family:ui-serif,Georgia,serif; font-weight:620; letter-spacing:-.045em; }.hero h1 { max-inline-size:10ch; font-size:clamp(3.4rem,8vw,7.5rem); line-height:.88; }.lead { max-inline-size:44ch; margin:0; color:var(--muted); font-size:clamp(1rem,1.6vw,1.22rem); line-height:1.7; }.hero-actions { display:flex; flex-wrap:wrap; gap:1.4rem; align-items:center; margin-block-start:2rem; }.primary-link { padding:.9rem 1.1rem; color:var(--ink); background:var(--blue); font-size:.78rem; font-weight:850; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }.text-link { color:var(--paper); font-size:.8rem; font-weight:750; text-underline-offset:.4rem; }.hero-note { position:relative; z-index:1; margin:4rem 0 0; color:var(--muted); font-size:.65rem; font-weight:740; letter-spacing:.1em; }
main:focus .hero,#main-content:target .hero { box-shadow:inset 0 0 0 3px var(--gold); }
.hero-video { position:absolute; z-index:-2; inset:0; inline-size:100%; block-size:100%; object-fit:cover; opacity:.44; filter:saturate(.82) brightness(.72) contrast(1.04); pointer-events:none; }
.living-field { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }.ring,.path,.mote { position:absolute; display:block; }.ring { aspect-ratio:1; border:1px solid var(--line); border-radius:50%; }.ring-a { inline-size:min(57vw,52rem); inset-block-start:7%; inset-inline-end:-17%; }.ring-b { inline-size:min(35vw,29rem); inset-block-start:42%; inset-inline-end:19%; border-color:rgba(61,127,163,.5); }.ring-c { inline-size:min(18vw,15rem); inset-block-end:8%; inset-inline-end:5%; border-color:rgba(230,201,106,.38); }.path { block-size:1px; background:var(--blue-quiet); transform-origin:inline-start center; }.path-a { inline-size:44vw; inset-block-start:30%; inset-inline-end:-3%; transform:rotate(-18deg); }.path-b { inline-size:31vw; inset-block-end:24%; inset-inline-end:9%; transform:rotate(14deg); background:rgba(105,189,255,.54); }.mote { inline-size:.45rem; aspect-ratio:1; border-radius:50%; background:var(--blue); box-shadow:0 0 0 .18rem rgba(105,189,255,.1); }.mote-a { inset-block-start:27%; inset-inline-end:28%; }.mote-b { inset-block-start:61%; inset-inline-end:14%; background:var(--gold); }.mote-c { inset-block-end:16%; inset-inline-end:36%; }
.chapter { max-inline-size:78rem; margin-inline:auto; padding:clamp(4.5rem,10vw,8rem) max(1.4rem,4vw); border-block-start:1px solid var(--line); }.chapter h2 { max-inline-size:17ch; font-size:clamp(2.3rem,5vw,4.8rem); line-height:.96; }.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-block-start:3rem; background:var(--line); }.service-grid article { min-block-size:12rem; padding:1.35rem; background:var(--ink); }.service-grid span,.method-grid span { color:var(--blue); font-size:.72rem; font-weight:800; letter-spacing:.1em; }.service-grid h3 { max-inline-size:15ch; margin:3rem 0 0; font-family:ui-serif,Georgia,serif; font-size:1.32rem; font-weight:610; line-height:1.1; }.chapter-dark { max-inline-size:none; background:var(--navy); }.chapter-dark > * { max-inline-size:78rem; margin-inline:auto; }.method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-block-start:3rem; }.method-grid article { padding:1.2rem 0; border-block-start:1px solid var(--line); }.method-grid p { max-inline-size:28ch; color:var(--muted); line-height:1.65; }.contact-chapter { min-block-size:26rem; }.contact-chapter > p:last-child { max-inline-size:53ch; color:var(--muted); line-height:1.65; }footer { display:flex; justify-content:space-between; gap:1rem; padding:1.4rem max(1.4rem,calc((100% - 78rem)/2)); border-block-start:1px solid var(--line); color:var(--muted); font-size:.66rem; font-weight:760; letter-spacing:.1em; }
.section-link { display:inline-flex; gap:.55rem; margin-block-start:1.5rem; color:var(--paper); font-size:.78rem; font-weight:820; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }.section-link span { color:var(--blue); font-size:1.1rem; line-height:.65; }.services-page { background:var(--ink); }.services-hero { max-inline-size:78rem; margin-inline:auto; padding:clamp(5rem,13vw,10rem) max(1.4rem,4vw) clamp(3.5rem,8vw,7rem); }.services-hero h1 { max-inline-size:11ch; margin:1rem 0 1.5rem; font-family:ui-serif,Georgia,serif; font-size:clamp(3.2rem,8vw,7rem); font-weight:620; letter-spacing:-.05em; line-height:.9; }.services-hero .lead { max-inline-size:47ch; }.services-hero .text-link { display:inline-block; margin-block-start:2rem; }.service-ledger { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; max-inline-size:78rem; margin-inline:auto; background:var(--line); border-block:1px solid var(--line); }.service-ledger article { display:flex; min-block-size:18rem; flex-direction:column; justify-content:space-between; padding:clamp(1.35rem,3vw,2rem); background:var(--ink); }.service-ledger h2 { max-inline-size:17ch; margin:2.6rem 0 1rem; font-family:ui-serif,Georgia,serif; font-size:clamp(1.75rem,3.2vw,3rem); font-weight:620; letter-spacing:-.035em; line-height:1; }.service-question { max-inline-size:31ch; margin:0; color:var(--muted); line-height:1.65; }.services-boundary { max-inline-size:none; margin:0; padding:clamp(4rem,9vw,7rem) max(1.4rem,calc((100% - 78rem)/2)); background:var(--navy); }.services-boundary > * { max-inline-size:57rem; margin-inline:auto; }.services-boundary h2 { max-inline-size:18ch; margin-block:1rem; font-family:ui-serif,Georgia,serif; font-size:clamp(2.1rem,4.6vw,4.3rem); font-weight:620; letter-spacing:-.045em; line-height:.96; }.services-boundary p:last-child { max-inline-size:65ch; color:var(--muted); line-height:1.7; }
.approach-page { background:var(--ink); }.approach-hero { position:relative; overflow:hidden; max-inline-size:none; padding:clamp(5rem,13vw,10rem) max(1.4rem,calc((100% - 78rem)/2)); background:var(--navy); }.approach-hero > * { position:relative; z-index:1; max-inline-size:78rem; margin-inline:auto; }.approach-hero::after { position:absolute; inset-block-start:-18rem; inset-inline-end:-13rem; inline-size:39rem; aspect-ratio:1; border:1px solid var(--line); border-radius:50%; content:""; }.approach-hero h1 { max-inline-size:12ch; margin:1rem 0 1.5rem; font-family:ui-serif,Georgia,serif; font-size:clamp(3.2rem,8vw,7rem); font-weight:620; letter-spacing:-.05em; line-height:.9; }.approach-hero .lead { max-inline-size:48ch; }.approach-hero .text-link { display:inline-block; margin-block-start:2rem; }.working-model { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; max-inline-size:78rem; margin-inline:auto; background:var(--line); border-block:1px solid var(--line); }.working-model article { min-block-size:27rem; padding:clamp(1.4rem,3.2vw,2.2rem); background:var(--ink); }.working-model h2 { max-inline-size:12ch; margin:4.5rem 0 1.3rem; font-family:ui-serif,Georgia,serif; font-size:clamp(2rem,3.2vw,3.1rem); font-weight:620; letter-spacing:-.04em; line-height:.98; }.working-model p:last-child { max-inline-size:29ch; margin:0; color:var(--muted); line-height:1.7; }.approach-boundary { max-inline-size:78rem; margin-inline:auto; padding:clamp(4.5rem,10vw,8rem) max(1.4rem,4vw); }.approach-boundary h2 { max-inline-size:17ch; margin:1rem 0; font-family:ui-serif,Georgia,serif; font-size:clamp(2.2rem,4.8vw,4.6rem); font-weight:620; letter-spacing:-.045em; line-height:.96; }.approach-boundary p:last-child { max-inline-size:61ch; color:var(--muted); line-height:1.7; }
.start-page { background:var(--ink); }.start-hero { max-inline-size:78rem; margin-inline:auto; padding:clamp(5rem,13vw,10rem) max(1.4rem,4vw) clamp(3.5rem,8vw,7rem); }.start-hero h1 { max-inline-size:12ch; margin:1rem 0 1.5rem; font-family:ui-serif,Georgia,serif; font-size:clamp(3.2rem,8vw,7rem); font-weight:620; letter-spacing:-.05em; line-height:.9; }.start-hero .lead { max-inline-size:48ch; }.start-hero .text-link { display:inline-block; margin-block-start:2rem; }.entry-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; max-inline-size:78rem; margin-inline:auto; background:var(--line); border-block:1px solid var(--line); }.entry-path article { min-block-size:25rem; padding:clamp(1.4rem,3.2vw,2.2rem); background:var(--ink); }.entry-path h2 { max-inline-size:12ch; margin:4.5rem 0 1.3rem; font-family:ui-serif,Georgia,serif; font-size:clamp(2rem,3.2vw,3.1rem); font-weight:620; letter-spacing:-.04em; line-height:.98; }.entry-path p:last-child { max-inline-size:29ch; margin:0; color:var(--muted); line-height:1.7; }.start-boundary { max-inline-size:none; margin:0; padding:clamp(4rem,9vw,7rem) max(1.4rem,calc((100% - 78rem)/2)); background:var(--navy); }.start-boundary > * { max-inline-size:57rem; margin-inline:auto; }.start-boundary h2 { max-inline-size:18ch; margin-block:1rem; font-family:ui-serif,Georgia,serif; font-size:clamp(2.1rem,4.6vw,4.3rem); font-weight:620; letter-spacing:-.045em; line-height:.96; }.start-boundary p:last-child { max-inline-size:65ch; color:var(--muted); line-height:1.7; }
.brand { font-family:var(--font-brand); }
.hero h1,.chapter h2,.service-grid h3,.services-hero h1,.service-ledger h2,.services-boundary h2,.approach-hero h1,.working-model h2,.approach-boundary h2,.start-hero h1,.entry-path h2,.start-boundary h2 { font-family:var(--font-display); }
@media (prefers-reduced-motion: no-preference) { .ring-a { animation:orbit 22s linear infinite; }.ring-b { animation:drift 15s ease-in-out infinite alternate; }.mote-a,.mote-c { animation:float 8s ease-in-out infinite alternate; }.mote-b { animation:float 11s ease-in-out 2s infinite alternate; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation:none !important; scroll-behavior:auto !important; }.hero-video { display:none; } }
@keyframes orbit { to { transform:rotate(1turn); } } @keyframes drift { to { transform:translate(-2rem,1.2rem); } } @keyframes float { to { transform:translate(-1.4rem,1.1rem); } }
@media (max-width:52rem) { .site-header { grid-template-columns:1fr auto; }.site-header nav { grid-column:1 / -1; grid-row:2; justify-content:start; }.site-header > p { text-align:end; }.service-grid,.method-grid,.service-ledger,.working-model,.entry-path { grid-template-columns:1fr; }.service-grid article { min-block-size:9.5rem; }.service-grid h3 { margin-block-start:1.7rem; }.service-ledger article { min-block-size:14rem; }.working-model article,.entry-path article { min-block-size:15rem; }.working-model h2,.entry-path h2 { margin-block-start:2.6rem; }.ring-a { inline-size:42rem; inset-inline-end:-24rem; }.path-a { inline-size:34rem; } }
@media (max-width:34rem) { .site-header { display:flex; flex-wrap:wrap; gap:.75rem; }.site-header nav { inline-size:100%; order:3; }.site-header > p { margin-inline-start:auto; }.locale-link { border-inline-start:0; padding-inline-start:0; }.hero { min-block-size:43rem; padding-block-start:5rem; }.hero h1 { font-size:clamp(3rem,16vw,4.3rem); }.hero-actions { align-items:flex-start; flex-direction:column; }.hero-note { margin-block-start:3.5rem; }.ring-a,.ring-c,.path-a,.path-b,.mote-a,.mote-b,.mote-c { display:none; }.ring-b { inline-size:19rem; inset-inline-end:-9rem; }.chapter h2 { font-size:clamp(2.1rem,12vw,3.3rem); } footer { align-items:flex-start; flex-direction:column; } }

/* Water-scroll staging candidate: the single decorative field stays in place while home-page content scrolls over it. */
main { overflow:visible; }
.scroll-stage { position:relative; isolation:isolate; min-block-size:100vh; }
.scroll-stage::before { position:absolute; z-index:-2; inset:0; background:linear-gradient(180deg,rgba(7,17,27,.18),rgba(7,17,27,.34) 54%,rgba(7,17,27,.5)); content:""; pointer-events:none; }
.stage-video { position:sticky; z-index:-3; inset:unset; inset-block-start:0; display:block; inline-size:100%; block-size:100svh; margin-block-end:-100svh; object-fit:cover; opacity:.82; filter:saturate(1.04) brightness(var(--preview-video-brightness,.96)) contrast(1.05); pointer-events:none; }
.stage-field { position:sticky; z-index:-1; inset:unset; inset-block-start:0; display:block; inline-size:100%; block-size:100svh; margin-block-end:-100svh; }
.scroll-stage .hero,.scroll-stage .chapter { position:relative; z-index:1; }
.scroll-stage .chapter { min-block-size:100svh; }
.sound-control { position:fixed; z-index:4; inset-block-end:1rem; inset-inline-end:1rem; }.sound-control button { min-block-size:2.25rem; padding-inline:.8rem; border:1px solid rgba(165,221,255,.42); border-radius:999px; color:var(--paper); background:rgba(7,17,27,.58); font:inherit; font-size:.64rem; font-weight:820; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; backdrop-filter:blur(.65rem); }.sound-control button:hover { border-color:var(--blue); background:rgba(7,17,27,.8); }.sound-control button[aria-pressed="true"] { border-color:var(--blue); color:var(--blue); }.sound-control button:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }.sr-only { position:absolute; inline-size:1px; block-size:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.scroll-stage .chapter-dark { max-inline-size:78rem; background:transparent; }
.scroll-stage .chapter-dark > * { max-inline-size:none; margin-inline:0; }
.scroll-stage .service-grid { gap:0; background:transparent; border:1px solid var(--line); }
.scroll-stage .service-grid article { background:transparent; border:1px solid var(--line); }

/* Version 0.2: complete bilingual public-home surface. */
.bazel-site-shell { background:var(--ink); color:var(--paper); }
.bazel-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1.5rem; padding:1.1rem max(1.4rem,calc((100% - 78rem)/2)); border-block-end:1px solid var(--line); }
.bazel-brand { color:var(--paper); font-family:var(--font-brand); font-size:1.02rem; font-weight:760; letter-spacing:.12em; text-decoration:none; }
.bazel-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }.bazel-nav a { display:inline-flex; align-items:center; min-block-size:2.25rem; color:var(--muted); font-size:.75rem; font-weight:760; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }.bazel-nav a:hover { color:var(--paper); }
.brand-line { margin:0; color:var(--muted); font-size:.7rem; font-weight:760; letter-spacing:.1em; text-align:end; text-transform:uppercase; }
.content-wrap { inline-size:min(100% - 2.8rem,78rem); margin-inline:auto; }.water-stage { position:relative; display:grid; align-items:end; min-block-size:min(49rem,calc(100svh - 4.8rem)); overflow:hidden; isolation:isolate; }.water-video { position:absolute; z-index:-3; inset:0; inline-size:100%; block-size:100%; object-fit:cover; opacity:.58; filter:saturate(.9) brightness(.7) contrast(1.08); pointer-events:none; }.water-overlay { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(3,10,16,.82),rgba(3,10,16,.38) 62%,rgba(3,10,16,.55)),linear-gradient(0deg,rgba(3,10,16,.64),transparent 54%); }.hero-content { position:relative; z-index:1; padding-block:clamp(4rem,12vw,10rem); }.hero-content h1,.section h2 { margin:1rem 0; font-family:var(--font-display); font-weight:620; letter-spacing:-.045em; }.hero-content h1 { max-inline-size:11ch; font-size:clamp(3.4rem,8vw,7.3rem); line-height:.88; }.hero-text,.section-intro { max-inline-size:58ch; margin:0; color:var(--muted); font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.7; }.hero-actions { display:flex; flex-wrap:wrap; gap:1.4rem; align-items:center; margin-block-start:2rem; }.button { display:inline-flex; align-items:center; justify-content:center; min-block-size:2.9rem; padding:.82rem 1.15rem; border:0; font:inherit; font-size:.78rem; font-weight:850; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; cursor:pointer; }.button-primary { color:var(--ink); background:var(--blue); }.button-primary:hover { background:#9bd5ff; }.field-note { position:absolute; z-index:1; inset-inline-end:max(1.4rem,calc((100% - 78rem)/2)); inset-block-end:1.7rem; margin:0; color:var(--muted); font-size:.65rem; font-weight:740; letter-spacing:.1em; text-transform:uppercase; }.sound-toggle { position:absolute; z-index:2; inset-inline-end:max(1.4rem,calc((100% - 78rem)/2)); inset-block-end:3.6rem; min-block-size:2.25rem; padding-inline:.8rem; border:1px solid rgba(165,221,255,.42); border-radius:999px; color:var(--paper); background:rgba(7,17,27,.58); font:inherit; font-size:.64rem; font-weight:820; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; backdrop-filter:blur(.65rem); }.sound-toggle:hover { border-color:var(--blue); }.sound-toggle[aria-pressed="true"] { border-color:var(--blue); color:var(--blue); }
.section { padding-block:clamp(4.5rem,10vw,8rem); border-block-start:1px solid var(--line); }.section-tint { background:var(--navy); }.section h2 { max-inline-size:20ch; font-size:clamp(2.3rem,5vw,4.8rem); line-height:.96; }.card-grid { display:grid; gap:1px; margin-block-start:3rem; background:var(--line); }.three-up { grid-template-columns:repeat(3,minmax(0,1fr)); }.two-up { grid-template-columns:repeat(2,minmax(0,1fr)); }.content-card { min-block-size:13rem; padding:1.5rem; background:var(--ink); }.section-tint .content-card { background:var(--navy); }.content-card h3 { margin:0 0 1rem; font-family:var(--font-display); font-size:clamp(1.25rem,2vw,1.7rem); font-weight:620; line-height:1.1; }.content-card p { max-inline-size:36ch; margin:0; color:var(--muted); line-height:1.65; }.deliverables-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; padding:0; margin:3rem 0 0; list-style:none; background:var(--line); }.deliverables-list li { min-block-size:5.5rem; padding:1.3rem; background:var(--ink); color:var(--paper); line-height:1.55; }.section-tint .deliverables-list li { background:var(--navy); }.deliverables-list li::before { color:var(--blue); content:"→ "; }.method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; padding:0; margin:3rem 0 0; list-style:none; background:var(--line); }.method-grid li { min-block-size:17rem; padding:1.5rem; background:var(--navy); }.method-grid span { color:var(--blue); font-size:.72rem; font-weight:800; letter-spacing:.1em; }.method-grid h3 { margin:3.2rem 0 1rem; font-family:var(--font-display); font-size:clamp(1.5rem,2.4vw,2.2rem); font-weight:620; }.method-grid p { max-inline-size:27ch; margin:0; color:var(--muted); line-height:1.65; }.credibility-list { max-inline-size:66rem; }.long-copy { max-inline-size:68ch; }.contact-section { background:linear-gradient(135deg,#0e2334,#07111b); }.contact-section a { color:var(--blue); }.project-form { max-inline-size:66rem; margin-block-start:2rem; }.project-form p { margin:0 0 1.2rem; }.project-form label { display:block; margin-block-end:.5rem; color:var(--paper); font-size:.84rem; font-weight:700; }.project-form input,.project-form textarea { inline-size:100%; border:1px solid rgba(169,189,201,.42); border-radius:0; padding:.8rem; color:var(--paper); background:rgba(7,17,27,.72); font:inherit; line-height:1.45; }.project-form input:focus,.project-form textarea:focus { border-color:var(--blue); outline:2px solid rgba(105,189,255,.38); outline-offset:2px; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.2rem; }.form-note { max-inline-size:70ch; color:var(--muted); font-size:.82rem; line-height:1.6; }.form-message { padding:1rem; border-inline-start:3px solid var(--gold); background:rgba(230,201,106,.12); }.form-message.success { border-color:var(--blue); background:rgba(105,189,255,.12); }.honeypot { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }.bazel-footer { padding-block:1.4rem; border-block-start:1px solid var(--line); color:var(--muted); font-size:.66rem; font-weight:760; letter-spacing:.1em; }.bazel-footer .content-wrap { display:flex; justify-content:space-between; gap:1rem; }.bazel-footer a { color:var(--paper); font-family:var(--font-brand); text-decoration:none; }
html[dir=rtl] .bazel-brand,html[dir=rtl] .brand-line,html[dir=rtl] .eyebrow { letter-spacing:.06em; }.bazel-public-ar .bazel-nav a { letter-spacing:0; text-transform:none; }.bazel-public-ar .field-note,.bazel-public-ar .sound-toggle { letter-spacing:0; text-transform:none; }.bazel-public-ar .deliverables-list li::before { content:"← "; }.bazel-public-ar .hero-content h1,.bazel-public-ar .section h2 { letter-spacing:0; }
@media (max-width:52rem) { .bazel-header { grid-template-columns:1fr auto; }.bazel-nav { grid-column:1/-1; justify-content:start; }.brand-line { text-align:end; }.three-up,.two-up,.method-grid,.deliverables-list,.form-grid { grid-template-columns:1fr; }.content-card,.method-grid li { min-block-size:0; }.method-grid h3 { margin-block-start:1.7rem; } }
@media (max-width:34rem) { .bazel-header { display:flex; flex-wrap:wrap; gap:.75rem; }.bazel-nav { inline-size:100%; order:3; }.brand-line { margin-inline-start:auto; }.water-stage { min-block-size:44rem; }.hero-content h1 { font-size:clamp(3rem,16vw,4.3rem); }.hero-actions { align-items:flex-start; flex-direction:column; }.field-note { display:none; }.sound-toggle { inset-block-end:1rem; }.bazel-footer .content-wrap { align-items:flex-start; flex-direction:column; } }

/* WP-096: continuous reading field for the complete public-home journey. */
.bazel-site-shell { background:transparent; }
.scroll-stage { isolation:auto; }
.stage-video { position:fixed; z-index:0; inset:0; inline-size:100vw; block-size:100svh; margin:0; object-fit:cover; opacity:.82; filter:saturate(1.04) brightness(.96) contrast(1.05); }
.scroll-stage::before { position:fixed; z-index:1; inset:0; background:linear-gradient(180deg,rgba(7,17,27,.22),rgba(7,17,27,.42) 56%,rgba(7,17,27,.56)); }
.scroll-stage .hero,.scroll-stage .chapter { z-index:2; background:rgba(7,17,27,.42); }
.scroll-stage .content-card,.scroll-stage .section-tint .content-card,.scroll-stage .deliverables-list li,.scroll-stage .section-tint .deliverables-list li,.scroll-stage .method-grid li { background:rgba(7,17,27,.68); backdrop-filter:blur(.18rem); }
.bazel-header { position:relative; z-index:3; background:rgba(7,17,27,.76); }
@media (prefers-reduced-motion:reduce) { .stage-video,.scroll-stage::before { display:none; } }

/* v0.2.5 correction: one continuous water field behind the full public-home journey. */
.scroll-stage .water-stage { background:transparent; }
.scroll-stage .section,.scroll-stage .section-tint,.scroll-stage .contact-section { background:rgba(7,17,27,.42); }
.scroll-stage .content-card,.scroll-stage .section-tint .content-card,.scroll-stage .deliverables-list li,.scroll-stage .section-tint .deliverables-list li,.scroll-stage .method-grid li { background:rgba(7,17,27,.68); backdrop-filter:blur(.18rem); }
.scroll-stage .sound-toggle { position:fixed; z-index:5; inset-inline-end:1rem; inset-block-end:1rem; }
@media (prefers-reduced-motion: reduce) { .stage-video { display:none; } }

/* v0.2.7 correction: reading stays directly on the water field, without opaque cards. */
.scroll-stage .hero,.scroll-stage .chapter,.scroll-stage .section-tint,.scroll-stage .contact-section { background:transparent; }
.scroll-stage .card-grid,.scroll-stage .deliverables-list,.scroll-stage .method-grid { gap:clamp(1.5rem,3vw,2.6rem); background:transparent; }
.scroll-stage .content-card,.scroll-stage .section-tint .content-card,.scroll-stage .deliverables-list li,.scroll-stage .section-tint .deliverables-list li,.scroll-stage .method-grid li { min-block-size:0; padding:0; border:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.scroll-stage .section h2,.scroll-stage .section h3,.scroll-stage .section p,.scroll-stage .deliverables-list li,.scroll-stage .method-grid li { text-shadow:0 .12rem .9rem rgba(0,0,0,.88); }

/* v0.2.8: override the earlier home-page surface treatment so reading remains directly on the motion field. */
body.home .scroll-stage .hero,
body.home .scroll-stage .section,
body.home .scroll-stage .section-tint,
body.home .scroll-stage .contact-section { background:transparent !important; }
body.home .scroll-stage .content-card,
body.home .scroll-stage .section-tint .content-card,
body.home .scroll-stage .deliverables-list li,
body.home .scroll-stage .section-tint .deliverables-list li,
body.home .scroll-stage .method-grid li { background:transparent !important; border:0 !important; box-shadow:none !important; backdrop-filter:none !important; }

/* WP-099: focused privacy surface and a usable public footer. */
.bazel-privacy-shell { min-block-size:100vh; background:radial-gradient(circle at 76% 14%,rgba(61,127,163,.35),transparent 29rem),var(--ink); }
.privacy-main { min-block-size:calc(100vh - 12rem); overflow:visible; }
.privacy-intro { padding-block:clamp(5rem,13vw,10rem); }
.privacy-intro h1 { max-inline-size:14ch; margin:1rem 0; font-family:var(--font-display); font-size:clamp(3rem,7vw,6.2rem); font-weight:620; letter-spacing:-.045em; line-height:.92; }
.privacy-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-block-start:3rem; background:var(--line); }
.privacy-list article { min-block-size:14rem; padding:1.5rem; background:rgba(7,17,27,.72); }
.privacy-list h2 { margin:0 0 1rem; font-family:var(--font-display); font-size:clamp(1.35rem,2vw,1.85rem); font-weight:620; line-height:1.08; }
.privacy-list p { max-inline-size:38ch; margin:0; color:var(--muted); line-height:1.7; }
.bazel-footer .content-wrap { align-items:center; }
.footer-brand { flex:0 0 auto; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }
.footer-links a { color:var(--muted); text-decoration:none; }
.footer-links a:hover { color:var(--paper); }
.footer-rights { text-align:end; }
@media (max-width:52rem) { .privacy-list { grid-template-columns:1fr; } .bazel-footer .content-wrap { align-items:flex-start; } .footer-links { justify-content:flex-start; } .footer-rights { text-align:start; } }
