/* ŌRIGIN v8 (2026-11-06): the owner's attached homepage ("ŌRIGIN Mockup Replica") as the design, and every inner page in the
   same language: black and gold openings, parchment sections, cream cards with a gold edge, the gold-wave footer.
   Desktop sizes are in --u = 1/1025 of the page width (the mockup's grid), so the whole composition scales as one;
   at 768 px and below the layout reflows with pixel sizes. Fonts: Tinos / Arimo (OFL), metric twins of the mockup's
   Times New Roman / Arial, self-hosted so every device renders the same. */

@font-face{font-family:"Tinos";src:url("../fonts/tinos-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Tinos";src:url("../fonts/tinos-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Tinos";src:url("../fonts/tinos-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Arimo";src:url("../fonts/arimo-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Arimo";src:url("../fonts/arimo-bold.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}

:root{
  color-scheme:dark;
  --black:#090909;--ivory:#e8ddc5;--gold:#e5d4ab;--gold-2:#c9b27e;--gold-3:#b4a07a;--bronze:#6f582b;--bronze-2:#65522a;
  --ink:#12120f;--ink-2:#3a3121;--ink-3:#5b4e37;--parch:#ecdfca;--cream:#f2eadc;--line:#bca980;--line-soft:#cdbd99;
  --font-display:"Tinos","Times New Roman",Times,serif;--font-body:"Arimo",Arial,Helvetica,sans-serif;
}

/* ---------- base (from the mockup) ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:#eee9dd;font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}
button,a{-webkit-tap-highlight-color:transparent}
img,svg{display:block}
img{max-width:100%}
figure{margin:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #bb8c38;outline-offset:4px}
::selection{background:#d2b16b;color:#181108}
[hidden]{display:none!important}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:12px 18px;background:#f5e8c9;color:#111;transform:translateY(-160%)}
.skip-link:focus{transform:none}
main:focus{outline:none}

.page{max-width:1440px;margin:auto;container-type:inline-size;box-shadow:0 0 100px #000;background:var(--black)}
.page>*{--u:.0975609756cqw;--text-hero:calc(50 * var(--u));--text-section:calc(30 * var(--u))}

/* ---------- header ---------- */
.site-header{height:calc(53 * var(--u));position:relative;z-index:30;border-bottom:1px solid #897a5b;background:linear-gradient(100deg,#100d06,#070809 43%,#08090a)}
.wordmark{position:absolute;left:calc(65 * var(--u));top:calc(4 * var(--u));font:400 calc(40 * var(--u))/1.17 var(--font-display);letter-spacing:calc(1.7 * var(--u));color:#ecdbb2}
.wordmark:hover{color:#f6e6be}
.nav-panel{position:absolute;left:calc(360 * var(--u));right:calc(51 * var(--u));top:0;height:100%}
.primary-nav{list-style:none;margin:0;padding:0;height:100%;display:flex;align-items:center;justify-content:space-between;font-size:calc(13.2 * var(--u));color:#e7e6e3}
.primary-nav>li{position:relative;height:100%;display:flex;align-items:center}
.nav-top{display:flex;align-items:center;gap:calc(7 * var(--u));white-space:nowrap;font-size:inherit;padding:0;height:100%;transition:color .2s}
.nav-top:hover,.has-menu:hover>.nav-top,.nav-btn[aria-expanded="true"]{color:#fce4ab}
.nav-top[aria-current="page"],.nav-btn[data-current]{color:#f3d9a0}
.chevron{width:calc(5 * var(--u));height:calc(5 * var(--u));border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.nav-btn[aria-expanded="true"] .chevron{transform:rotate(225deg) translate(-1px,-1px)}
.submenu{list-style:none;margin:0;padding:10px 0;position:absolute;top:100%;left:calc(-18 * var(--u));min-width:220px;background:#0b0b0bf7;border:1px solid #6d5d3f;border-top-color:#a68b59;border-radius:0 0 10px 10px;box-shadow:0 18px 40px #000a;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility 0s .2s}
.has-menu:hover>.submenu,.has-menu:focus-within>.submenu,.nav-btn[aria-expanded="true"]+.submenu{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .25s cubic-bezier(.2,1.4,.4,1)}
.submenu a{display:block;padding:9px 20px;font-size:14px;color:#e7e3d8;white-space:nowrap}
.submenu a:hover{color:#fce4ab;background:#d3ad5d14}
.menu-toggle{display:none}

/* ---------- buttons, links ---------- */
.button{height:calc(32 * var(--u));min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:calc(8 * var(--u));border:1px solid #745823;border-radius:calc(7 * var(--u));font-size:max(13px,calc(12 * var(--u)));font-weight:600;white-space:nowrap;padding:0 max(16px,calc(18 * var(--u)));color:#14140f;background:#fbf1df35;transition:background .2s,border-color .2s,box-shadow .2s}
.button svg{width:max(16px,calc(19 * var(--u)));height:max(11px,calc(13 * var(--u)));fill:none;stroke:currentColor;stroke-width:1.25;transition:transform .3s cubic-bezier(.2,1.6,.4,1)}
.button:hover{background:#d3ad5d2a;border-color:#9c7a37}
.button:hover svg{transform:translateX(3px)}
.button--light,.hero .button{color:#f3efdf;border-color:#b4a07a;background:transparent;font-weight:400;box-shadow:inset 0 0 0 1px #b4a07a20}
.button--light:hover,.hero .button:hover{background:#d3ad5d1c;border-color:#e5cc8c}
.link{color:var(--ink);text-decoration:underline;text-decoration-color:#b0904f;text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color .2s,color .2s}
.link:hover{color:#5a4420;text-decoration-color:#5a4420}
.link--light{color:#eee5cf;text-decoration-color:#a68b59}
.link--light:hover{color:#fce4ab;text-decoration-color:#fce4ab}

/* ---------- home: hero (mockup) ---------- */
.hero{position:relative;height:calc(342 * var(--u));background:#090909;overflow:hidden}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.hero-copy{position:absolute;z-index:2;left:calc(66 * var(--u));top:calc(21 * var(--u));width:calc(445 * var(--u))}
.hero h1{font:400 var(--text-hero)/.96 var(--font-display);letter-spacing:calc(-.45 * var(--u));color:#e8ddc5;text-shadow:0 0 1px #ebdbb9}
.hero h1 span{display:block;transform-origin:left center}
.hero h1 span:first-child{transform:scaleX(1.026)}
.hero h1 span:last-child{transform:scaleX(.974)}
.gold-rule{height:calc(2 * var(--u));width:calc(62 * var(--u));margin-top:calc(15 * var(--u));background:linear-gradient(90deg,#fff6ce,#ddc58c 58%,transparent);box-shadow:0 0 8px #d1a0527a}
.hero-sub{font:400 calc(25 * var(--u))/.97 var(--font-display);margin-top:calc(12 * var(--u));color:#eeede7}
.hero-sub>span{display:inline-block;transform:scaleX(1.027);transform-origin:left center}
.hero-lead{font-size:calc(12.5 * var(--u));line-height:calc(16.5 * var(--u));color:#d2d1cb;margin-top:calc(11 * var(--u))}
.hero-actions{display:flex;gap:calc(18 * var(--u));margin-top:calc(14 * var(--u))}
.hero .button{min-height:0;font-size:calc(12 * var(--u));padding:0 calc(18 * var(--u));gap:calc(8 * var(--u))}
.hero .button svg{width:calc(19 * var(--u));height:calc(13 * var(--u))}
.button.primary{width:calc(188 * var(--u));border-color:#dac9a1;box-shadow:0 0 7px #c4a56326,inset 0 0 0 1px #e1cd9b25}
.button.secondary{width:calc(181 * var(--u));color:#eee9df}

/* ---------- home: ecosystem cards (mockup) ---------- */
.ecosystem{height:calc(304 * var(--u));background:linear-gradient(180deg,#111111 0%,#211d18 21%,#665846 49%,#b49b79 73%,#ead8b7 100%);position:relative}
.ecosystem-heading{text-align:center;transform:translateY(calc(-4 * var(--u)))}
.heading-line{display:flex;align-items:center;justify-content:center;gap:calc(27 * var(--u))}
.heading-line h2{font:400 var(--text-section)/1 var(--font-display);color:#ecdeb8}
.heading-line span{display:block;width:calc(117 * var(--u));height:1px;background:linear-gradient(90deg,transparent,#c9b27e)}
.heading-line span:last-child{background:linear-gradient(90deg,#c9b27e,transparent)}
.ecosystem-heading p{margin-top:calc(10 * var(--u));font:400 calc(15 * var(--u))/1 var(--font-display);color:#eee9dc}
.technology-grid{position:absolute;top:calc(73 * var(--u));left:calc(31 * var(--u));right:calc(29 * var(--u));display:grid;grid-template-columns:238fr 234fr 232fr 228fr;gap:calc(12 * var(--u))}
.technology-card{display:block;min-width:0;height:calc(210 * var(--u));border:1px solid #bca980;border-radius:calc(11 * var(--u));background:linear-gradient(100deg,#f2eadc,#eee3d1 80%,#ebd9be);overflow:hidden;color:var(--ink);box-shadow:0 calc(3 * var(--u)) calc(8 * var(--u)) #725a3530;position:relative;transition:transform .45s cubic-bezier(.2,1.5,.4,1),box-shadow .3s}
.technology-card:hover{transform:translateY(calc(-3 * var(--u)));box-shadow:0 calc(10 * var(--u)) calc(22 * var(--u)) #725a3545}
.technology-card>img{width:100%;height:calc(100 * var(--u));object-fit:cover;transition:filter .4s}
.technology-card:hover>img{filter:brightness(1.12) saturate(1.05)}
.card-copy{display:block;padding:calc(6 * var(--u)) calc(20 * var(--u));position:relative;height:calc(109 * var(--u))}
.card-copy>span{display:block}
.card-name{font:700 calc(22.5 * var(--u))/1.03 var(--font-display);letter-spacing:calc(-.25 * var(--u));white-space:nowrap;transform-origin:left}
.technology-card:nth-child(2) .card-name{transform:scaleX(.953)}
.technology-card:nth-child(3) .card-name,.technology-card:nth-child(4) .card-name{transform:scaleX(.92)}
.card-subtitle{font:400 calc(14 * var(--u))/calc(16 * var(--u)) var(--font-display);margin-top:calc(1 * var(--u))}
.card-description{font-size:calc(11 * var(--u));line-height:calc(14 * var(--u));position:absolute;left:calc(20 * var(--u));top:calc(67 * var(--u));letter-spacing:calc(-.1 * var(--u))}
.card-copy .card-open{position:absolute;right:calc(4 * var(--u));bottom:0;width:calc(35 * var(--u));height:calc(35 * var(--u));display:grid;place-items:center;color:#65522a;border-radius:6px;transition:color .2s,background .2s}
.card-open svg{width:calc(19 * var(--u));height:calc(14 * var(--u));fill:none;stroke:currentColor;stroke-width:1.2;transition:transform .35s cubic-bezier(.2,1.6,.4,1)}
.technology-card:hover .card-open{color:#111;background:#b78c3c18}
.technology-card:hover .card-open svg{transform:translateX(3px)}

/* ---------- the Living Ether architecture diagram (any width: sized by its own container) ---------- */
.architecture-diagram{position:relative;width:100%;aspect-ratio:520/278;container-type:inline-size;color:var(--ink)}
.architecture-art,.architecture-vector{position:absolute;inset:0;width:100%;height:100%}
.architecture-art{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 97%,transparent)}
.architecture-labels{--d:calc(100cqw / 520);list-style:none;padding:0;margin:0;position:absolute;inset:0;text-align:center}
.architecture-labels li{position:absolute;left:calc(62 * var(--d));width:calc(425 * var(--d));top:calc(18 * var(--d))}
.architecture-labels li:nth-child(2){top:calc(75 * var(--d))}
.architecture-labels li:nth-child(3){top:calc(132 * var(--d))}
.architecture-labels li:nth-child(4){top:calc(189 * var(--d))}
.architecture-labels h3{font:700 calc(13.5 * var(--d))/1.15 var(--font-display);letter-spacing:calc(-.35 * var(--d));color:var(--ink)}
.architecture-labels p{font-size:max(9px,calc(10.5 * var(--d)));line-height:1.3;margin-top:calc(2 * var(--d));color:var(--ink)}
.architecture-diagram li{transition:transform .5s cubic-bezier(.2,1.5,.4,1)}
.architecture-diagram li:hover{transform:translateY(-2px)}

/* ---------- home: architecture band (mockup) ---------- */
.architecture{height:calc(280 * var(--u));position:relative;color:var(--ink);background:#ecdfca url("../art/parchment.webp") center/100% 100%;border-top:1px solid #fbf0d7;isolation:isolate}
.architecture-copy{position:absolute;left:calc(35 * var(--u));top:calc(37 * var(--u));z-index:2}
.architecture-copy h2{font:700 calc(30 * var(--u))/1.07 var(--font-display);letter-spacing:calc(-.45 * var(--u))}
.architecture-copy p{font-size:calc(14 * var(--u));line-height:calc(18 * var(--u));margin-top:calc(10 * var(--u))}
.architecture-button{height:calc(33 * var(--u));min-height:0;width:calc(166 * var(--u));font-size:calc(12 * var(--u));margin-top:calc(19 * var(--u));justify-content:space-between;padding:0 calc(22 * var(--u))}
.architecture-button svg{width:calc(19 * var(--u));height:calc(13 * var(--u))}
.architecture-art{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 97%,transparent),linear-gradient(#000 80%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.architecture>.architecture-diagram{position:absolute;left:calc(230 * var(--u));top:0;width:calc(520 * var(--u));height:calc(278 * var(--u));z-index:1}
.architecture-features{position:absolute;left:calc(770 * var(--u));top:calc(29 * var(--u));list-style:none;padding:0;margin:0;display:grid;gap:calc(9 * var(--u));z-index:2}
.architecture-features li{display:flex;align-items:center;gap:calc(16 * var(--u));height:calc(25 * var(--u));font-size:calc(11.5 * var(--u));letter-spacing:calc(-.3 * var(--u));white-space:nowrap}
.architecture-features svg,.caps svg{height:calc(27 * var(--u));width:calc(27 * var(--u));color:#6f582b;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* ---------- footer: gold wave + four ways in (mockup) + legal line ---------- */
.footer{position:relative;padding-top:calc(14 * var(--u));background:linear-gradient(#211d13,#0b0c0b calc(70 * var(--u)),#0c0c0b);border-bottom:1px solid #42351e;isolation:isolate}
.wave-art{position:absolute;left:0;right:0;top:calc(-40 * var(--u));height:calc(53 * var(--u));background:url("../art/gold-wave.webp") center/100% 100%;z-index:1;mask-image:linear-gradient(transparent,#000 22%,#000 84%,transparent);pointer-events:none}
.wave-vector{position:absolute;left:0;top:calc(-30 * var(--u));height:calc(65 * var(--u));width:100%;opacity:.6;z-index:2;pointer-events:none}
.footer-grid{position:relative;height:calc(105 * var(--u));display:grid;grid-template-columns:255fr 251fr 253fr 266fr;z-index:3}
.footer-item{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
.footer-item:not(:last-child)::after{content:"";position:absolute;right:0;top:calc(8 * var(--u));height:calc(94 * var(--u));width:1px;background:linear-gradient(transparent,#927a44 25%,#927a4480 85%,transparent)}
.footer-item>svg{height:calc(40 * var(--u));width:calc(47 * var(--u));stroke:url(#icon-gold);stroke-width:1.8;fill:none;stroke-linejoin:round;stroke-linecap:round;margin-bottom:calc(6 * var(--u));transition:transform .5s cubic-bezier(.2,1.6,.4,1)}
.footer-item:last-child>svg{width:calc(52 * var(--u))}
.footer-item:hover>svg{transform:translateY(-3px)}
.fi-name{font:400 calc(22 * var(--u))/1 var(--font-display);color:#e8e4d7;transition:color .2s}
.fi-desc{font-size:calc(13 * var(--u));line-height:calc(16 * var(--u));margin-top:calc(6 * var(--u));color:#d1d0ca}
.footer-item:hover .fi-name{color:#efce83}
.legal{position:relative;z-index:3;margin-top:calc(12 * var(--u));border-top:1px solid #2c2618;padding:calc(12 * var(--u)) calc(66 * var(--u)) calc(14 * var(--u));display:flex;align-items:center;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;font-size:max(12px,calc(10.5 * var(--u)));color:#a79d86}
.legal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.legal a:hover{color:#f0d79c}
.legal-word{font-family:var(--font-display);font-size:1.45em;letter-spacing:.06em;color:#d9c79e;margin-right:10px;vertical-align:-1px}

/* ===================================================================== */
/* Inner pages: the same language                                         */
/* ===================================================================== */
.wrap{padding:0 calc(66 * var(--u));position:relative;z-index:2}
.measure{max-width:46em}
.page-opening{position:relative;overflow:hidden;color:#eee9dd;padding:calc(46 * var(--u)) 0 calc(150 * var(--u));
  background:linear-gradient(180deg,#090909 0,#090909 calc(100% - 150 * var(--u)),#211d18 calc(100% - 112 * var(--u)),#665846 calc(100% - 66 * var(--u)),#b49b79 calc(100% - 30 * var(--u)),#ecdfca 100%)}
.page-opening::before{content:"";position:absolute;top:0;right:0;width:64%;height:calc(100% - 110 * var(--u));background:url("../art/hero-art.webp") right top/cover no-repeat;opacity:.62;
  mask-image:linear-gradient(90deg,transparent,#000 45%),linear-gradient(#000 55%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in;pointer-events:none}
.page-opening:has(.plate)::before{opacity:.28}
.page-opening .wrap{z-index:2}
.page-opening h1{font:400 max(36px,calc(46 * var(--u)))/1.02 var(--font-display);letter-spacing:calc(-.4 * var(--u));color:#e8ddc5;text-shadow:0 0 1px #ebdbb9;max-width:15em}
.page-opening h1::after{content:"";display:block;height:max(2px,calc(2 * var(--u)));width:calc(62 * var(--u));min-width:48px;margin-top:calc(15 * var(--u));background:linear-gradient(90deg,#fff6ce,#ddc58c 58%,transparent);box-shadow:0 0 8px #d1a0527a}
.page-opening h1 em,.section h2 em,.tone-ink h2 em{font-style:normal;color:#e9cf90}
.section h2 em{color:#7b5c22}
.page-opening .lead{font-size:max(16px,calc(14 * var(--u)));line-height:1.55;color:#d6d4cc;margin-top:calc(14 * var(--u));max-width:36em}
.page-opening .kicker{color:#cdb27a}
.page-opening .kicker a{color:#e6d3a6;text-decoration:underline;text-decoration-color:#7d6a43;text-underline-offset:3px}
.page-opening .kicker a:hover{color:#fce4ab}
.page-opening .chip{color:#e8dcc0;border-color:#8f7a4f;background:#14110bb0}
.page-opening .grid2{align-items:center}
.plate{justify-self:end;width:min(100%,calc(300 * var(--u)));border:1px solid #bca980;border-radius:calc(11 * var(--u));overflow:hidden;box-shadow:0 0 0 1px #00000080,0 0 calc(40 * var(--u)) #c4a25b33,0 calc(10 * var(--u)) calc(30 * var(--u)) #000c;background:#000}
.plate img{width:100%;height:auto;aspect-ratio:236/99;object-fit:cover}

.kicker{display:block;font:600 max(11px,calc(10 * var(--u)))/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);margin:0 0 calc(12 * var(--u))}
.mark{display:flex;align-items:center;gap:10px;font:600 max(11px,calc(10 * var(--u)))/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);margin:0 0 calc(10 * var(--u))}
.mark .o{width:9px;height:9px;border-radius:50%;border:1px solid #a17f3c;box-shadow:0 0 6px #d6ad5c88;flex:none}
.mark .echo{display:none}

.section{position:relative;color:var(--ink);background:#ecdfca url("../art/parchment.webp") center/100% 100%;padding:calc(48 * var(--u)) 0;font-size:max(15px,calc(12.5 * var(--u)));line-height:1.62}
.section+.section{border-top:1px solid #fbf0d7}
.section.tone-soft{background:radial-gradient(ellipse 60% 70% at 72% 40%,#fff3d4b0,transparent 70%),linear-gradient(180deg,#efe4d1,#e8d9bf)}
.section.tone-band{background:radial-gradient(ellipse 50% 80% at 50% 0,#fff2cf,transparent 70%),linear-gradient(180deg,#e6d4b3,#efe4d1)}
.section h2{font:700 max(26px,calc(30 * var(--u)))/1.08 var(--font-display);letter-spacing:calc(-.45 * var(--u));color:var(--ink);margin:0 0 calc(12 * var(--u))}
.section h3{font:700 max(19px,calc(17 * var(--u)))/1.2 var(--font-display);color:var(--ink);margin:0 0 6px}
.section p{margin:0 0 calc(12 * var(--u));max-width:42em;color:#2a2418}
.section .pull{font:400 max(18px,calc(16.5 * var(--u)))/1.35 var(--font-display);color:var(--ink-2);margin-bottom:calc(14 * var(--u))}
.small{font-size:.88em}
.muted,.section .muted{color:var(--ink-3)}
.meta,.section .meta{font-size:.86em;color:var(--ink-3)}
.after{margin-top:calc(22 * var(--u))!important}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:calc(48 * var(--u));align-items:center}
.grid2--top{align-items:start}
.grid2--text{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}

/* section headings with gold lines (the mockup's "Our Technology Ecosystem") */
.section-heading{text-align:center;margin-bottom:calc(30 * var(--u))}
.heading-line--ink h2{font-weight:400;color:var(--ink);margin:0;font-size:var(--text-section)}
.heading-line--ink span{background:linear-gradient(90deg,transparent,#9c7f45)}
.heading-line--ink span:last-child{background:linear-gradient(90deg,#9c7f45,transparent)}
.section-heading p{margin:calc(10 * var(--u)) auto 0;font:400 max(16px,calc(15 * var(--u)))/1.35 var(--font-display);color:var(--ink-2);max-width:none}
.section-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:calc(28 * var(--u)) auto 0!important;max-width:none!important}

/* cream cards with a gold edge (the mockup's technology cards) */
.tech,.status-card,.note,.tier,.workflow li,.flow li,.table-wrap,.people li,.entries>li,.eco{border:1px solid var(--line);border-radius:calc(11 * var(--u));background:linear-gradient(100deg,#f5eee2,#f0e6d5 80%,#ecdcc2);box-shadow:0 calc(3 * var(--u)) calc(8 * var(--u)) #725a3530}
.status-card,.note{padding:calc(22 * var(--u)) calc(24 * var(--u))}
.note>:last-child,.status-card>:last-child{margin-bottom:0}

/* technologies overview */
.tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(16 * var(--u))}
.tech{padding:calc(24 * var(--u)) calc(26 * var(--u));position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.2,1.5,.4,1),box-shadow .3s}
.tech::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#d9b469,transparent);opacity:.7}
.tech:hover{transform:translateY(-3px);box-shadow:0 calc(10 * var(--u)) calc(22 * var(--u)) #725a3545}
.tech--wide{grid-column:1/-1}
.tech h2{font-size:max(24px,calc(24 * var(--u)))}
.facts{margin:calc(14 * var(--u)) 0 0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 22px;font-size:.95em}
.facts dt{font:600 .78em/1.9 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.facts dd{margin:0}
.chips{list-style:none;padding:0;margin:calc(16 * var(--u)) 0 0;display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:13px;line-height:1.4;padding:4px 12px;border:1px solid #9c8150;border-radius:999px;color:var(--ink-2);background:#fbf4e6a0}

/* research themes, steps, books */
.themes{list-style:none;padding:0;margin:calc(14 * var(--u)) 0 0;display:flex;flex-wrap:wrap;gap:8px}
.themes li{font:400 max(16px,calc(14 * var(--u)))/1.2 var(--font-display);padding:6px 14px;border:1px solid #a88c56;border-radius:999px;background:#fbf4e6b0;color:var(--ink)}
.themes li.exploratory{border-style:dashed;font-style:italic}
.steps{list-style:none;padding:0;margin:calc(14 * var(--u)) 0 0;display:flex;flex-wrap:wrap;gap:8px;counter-reset:st}
.steps li{counter-increment:st;font-size:.92em;padding:5px 14px 5px 10px;border-radius:999px;background:#fbf4e6c0;border:1px solid var(--line)}
.steps li::before{content:counter(st);color:#8a6a2c;font-weight:700;margin-right:8px}
.books{list-style:none;padding:0;margin:calc(14 * var(--u)) 0 0;border-top:1px solid var(--line-soft)}
.books li{padding:10px 0;border-bottom:1px solid var(--line-soft)}
.books cite{font:400 max(19px,calc(17 * var(--u)))/1.3 var(--font-display);font-style:normal;color:var(--ink)}

/* evidence tiers */
.tiers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(16 * var(--u))}
.tiers--stack{grid-template-columns:1fr;margin-top:calc(16 * var(--u))}
.tier{padding:calc(20 * var(--u)) calc(22 * var(--u))}
.tier-label{display:flex;align-items:center;gap:10px;font:700 max(18px,calc(17 * var(--u)))/1.2 var(--font-display);color:var(--ink);margin-bottom:calc(10 * var(--u))}
.tier-dot{width:12px;height:12px;border-radius:50%;flex:none}
.tier--published .tier-dot{background:radial-gradient(circle at 35% 35%,#fff2c4,#c9973c);box-shadow:0 0 8px #e0b25c}
.tier--building .tier-dot{border:2px solid #b38a3e;background:radial-gradient(circle,#e8c57a 0 30%,transparent 34%)}
.tier--research .tier-dot{border:1.5px dashed #a17f3c}
.tier>ul:not(.themes){list-style:none;margin:0 0 10px;padding:0}
.tier>ul:not(.themes) li{padding:7px 0;border-top:1px solid var(--line-soft)}
.tier>ul:not(.themes) li:first-child{border-top:0}
.tier .themes li{font-size:max(14px,calc(12.5 * var(--u)))}
.tier p{margin:0}

/* people */
.umbrella{text-align:center}
.umbrella>.kicker{display:none}
.people{list-style:none;padding:0;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(16 * var(--u));max-width:calc(820 * var(--u))}
.people li{text-align:center;padding:calc(22 * var(--u)) calc(16 * var(--u))}
.people .mark{display:grid;place-items:center;width:calc(58 * var(--u));height:calc(58 * var(--u));min-width:52px;min-height:52px;margin:0 auto calc(12 * var(--u));border-radius:50%;border:1px solid #a17f3c;background:radial-gradient(circle at 50% 38%,#2a2112,#0e0c08 70%);box-shadow:0 0 0 3px #f3e7cf,0 0 0 4px #c9a65e,0 0 18px #d6ad5c66;font:400 max(17px,calc(17 * var(--u)))/1 var(--font-display);letter-spacing:.06em;color:#ecd9ac;text-transform:none}
.person-name{font:700 max(18px,calc(17 * var(--u)))/1.2 var(--font-display);color:var(--ink);margin:0!important;max-width:none!important}
.person-focus{font-size:.92em;color:var(--ink-3)!important;margin:4px 0 0!important;max-width:none!important}

/* flows and workflows (Cocoon, ORI, Stairway) */
.workflow{list-style:none;padding:0;margin:calc(12 * var(--u)) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(12 * var(--u));counter-reset:step}
.workflow li{counter-increment:step;padding:calc(14 * var(--u)) calc(18 * var(--u));border-style:dashed}
.workflow h3::before{content:counter(step) ". ";color:#8a6a2c}
.workflow p{margin:0;color:var(--ink-3)}
.flow{list-style:none;padding:0;margin:calc(28 * var(--u)) 0 0;display:flex;gap:calc(28 * var(--u));align-items:stretch}
.flow li{flex:1 1 0;position:relative;padding:calc(16 * var(--u)) calc(16 * var(--u));text-align:center;display:flex;flex-direction:column;gap:4px;justify-content:center}
.flow li+li::before{content:"";position:absolute;left:calc(-24 * var(--u));top:50%;width:calc(20 * var(--u));height:1px;background:#8a6a2c}
.flow li+li::after{content:"";position:absolute;left:calc(-10 * var(--u));top:calc(50% - 4px);width:7px;height:7px;border:solid #8a6a2c;border-width:1px 1px 0 0;transform:rotate(45deg)}
.flow.two-way li+li::after{box-shadow:none}
.flow .flow-back{display:none}
.flow .f-core{background:radial-gradient(ellipse at 50% 30%,#2b2213,#0f0d09);border-color:#a68b59;box-shadow:0 0 24px #d6ad5c44}
.flow .f-core .f-name{color:#f0dca9}
.flow .f-core .f-desc{color:#cfc5ad}
.f-name{font:700 max(18px,calc(16 * var(--u)))/1.2 var(--font-display);color:var(--ink)}
.f-desc{font-size:.88em;line-height:1.4;color:var(--ink-3)}
.flow-note{margin-top:calc(18 * var(--u))!important;font-size:.92em;color:var(--ink-3)!important;max-width:52em!important}

/* the Living Ether page: text | diagram | capabilities */
.arch{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) minmax(0,.6fr);gap:calc(36 * var(--u));align-items:center}
.caps{list-style:none;margin:0;padding:0;display:grid;gap:calc(12 * var(--u))}
.caps li{display:flex;align-items:center;gap:calc(14 * var(--u));font-size:.95em}
.caps svg{width:calc(24 * var(--u));height:calc(24 * var(--u));min-width:22px;min-height:22px;stroke-width:1.5}

/* the ecosystem concept map (About) */
.eco{padding:calc(20 * var(--u))}
.eco-stage{position:relative;width:100%;max-width:520px;aspect-ratio:1/1;margin:0 auto}
.eco-lines{position:absolute;inset:0;width:100%;height:100%}
.eco-lines .gate{fill:none;stroke:#a88c56;stroke-width:1.2}
.eco-lines .orbit{fill:none;stroke:#c9b27e;stroke-width:1}
.eco-lines .rel{stroke:#8a6a2c;stroke-width:1.2;stroke-dasharray:4 5;opacity:.8}
.eco-lines .dot{fill:#8a6a2c}
.eco-gate,.eco-heart,.eco-areas li{position:absolute;margin:0!important;text-align:center;transform:translate(-50%,-50%)}
.eco-gate{left:50%;top:4%;background:#f3ebdd;padding:0 12px;max-width:none!important}
.eco-gate .name{font:400 22px/1.2 var(--font-display);letter-spacing:.12em;display:block;color:var(--ink)}
.eco-gate .role,.eco-heart .role{display:block;font-size:13px;line-height:1.35;color:var(--ink-3)}
.eco-heart{left:50%;top:50%;width:36%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background:radial-gradient(circle at 50% 40%,#2c2313,#0d0b07 72%);box-shadow:0 0 0 1px #a68b59,0 0 40px #e0b25c66;max-width:none!important}
.eco-heart .name{font:400 22px/1.1 var(--font-display);color:#f0dca9;display:block}
.eco-heart .role{color:#cfc5ad;margin-top:4px}
.eco-areas{list-style:none;padding:0;margin:0}
.eco-areas li{width:27%}
.eco-areas .kind{display:block;font:600 11px/1.3 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.eco-areas .name{display:block;font:700 18px/1.2 var(--font-display);color:var(--ink)}
.eco-areas .a1{left:24%;top:28%}.eco-areas .a2{left:76%;top:28%}.eco-areas .a3{left:24%;top:72%}.eco-areas .a4{left:76%;top:72%}
.eco-ground{text-align:center;margin:12px auto 0!important;font-size:.92em;color:var(--ink-3)!important;max-width:none!important}
.eco figcaption{text-align:center;margin-top:8px;font-size:13px;color:var(--ink-3)}
.eco figcaption span{display:block}

/* research labels table, demonstration fields */
.table-wrap{overflow-x:auto;margin-top:calc(12 * var(--u));padding:4px 18px}
table{width:100%;border-collapse:collapse;font-size:.94em}
caption{text-align:left;font-size:.88em;color:var(--ink-3);padding:12px 0 6px}
th,td{text-align:left;padding:10px 12px 10px 0;border-top:1px solid var(--line-soft);vertical-align:top}
th{font:600 .78em/1.6 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.fields{margin:calc(10 * var(--u)) 0 0;padding:0}
.fields div{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:16px;padding:9px 0;border-bottom:1px solid var(--line-soft)}
.fields div:last-child{border-bottom:0}
.fields dt{font:600 .78em/1.9 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.fields dd{margin:0}

/* 404 entries */
.entries{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.entries>li{padding:0}
.entry{display:block;padding:16px 20px;transition:background .2s}
.entry:hover{background:#fff6e260}
.entry-name{font:700 22px/1.2 var(--font-display);color:var(--ink)}
.entry-desc{margin:4px 0 0!important;color:var(--ink-3)!important}

/* legal pages */
.prose h2{font-size:max(22px,calc(21 * var(--u)));margin-top:calc(26 * var(--u))}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:1.2em;max-width:42em}
.prose li{margin:6px 0}
.prose a:not(.link){color:var(--ink);text-decoration:underline;text-decoration-color:#b0904f;text-underline-offset:3px}

/* contact form */
.form{display:grid;gap:calc(16 * var(--u));margin-top:calc(16 * var(--u))}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:.92em;color:var(--ink)}
.field input,.field select,.field textarea{font:inherit;font-size:16px;color:var(--ink);background:#fffaf0;border:1px solid #b9a37a;border-radius:8px;padding:10px 12px;width:100%;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#8a6a2c;box-shadow:0 0 0 3px #d6ad5c40;outline:none}
.field textarea{min-height:150px;resize:vertical}
.field [aria-invalid="true"]{border-color:#9b2c1f}
.hint,.error{font-size:.86em!important;margin:0!important}
.hint{color:var(--ink-3)!important}
.error{color:#8f2416!important}
.form-foot{display:grid;gap:10px;justify-items:start}
.form-status{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#fff8ea}
.form-status p{margin:0 0 6px}

/* dark closing band (before the footer) */
.section.tone-ink{background:radial-gradient(ellipse 50% 120% at 85% 50%,#3a2c1266,transparent 70%),linear-gradient(180deg,#100e0a,#0b0b0a);color:#eee9dd;padding-bottom:calc(72 * var(--u));border-top:1px solid #42351e}
.tone-ink h2{color:#ecdeb8;font-weight:400;font-size:var(--text-section)}
.tone-ink p{color:#d2d1cb}
.closing{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap}
.closing>div>p:last-child{margin-bottom:0}
.closing-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.section:not(.tone-ink) .closing{justify-content:flex-start;gap:16px}

/* rising in on scroll (motion.js; only once it runs, never without JavaScript) */
html.motion .reveal:not(.is-in){opacity:0;transform:translateY(18px)}
html.motion .reveal{transition:opacity .7s ease,transform .9s cubic-bezier(.2,1.3,.35,1)}
html.motion .reveal.d1{transition-delay:.08s}
html.motion .reveal.d2{transition-delay:.16s}


/* ===================================================================== */
/* Second mockup (inner pages): gold titles over night, cards on the dark */
/* ===================================================================== */
.page-opening h1{background:linear-gradient(180deg,#fbe9b6 0%,#e4c27a 55%,#b88d43 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 10px #d6a85530)}
.page-opening h1 em{color:inherit}
.page-opening--show{padding-top:calc(30 * var(--u))}
.page-opening--show::before{opacity:.4}
.page-opening--show h1{font-size:max(36px,calc(40 * var(--u)));max-width:none}
.page-opening--show h1::after{display:none}
.show-sub{font:400 max(17px,calc(15.5 * var(--u)))/1.3 var(--font-display);color:#e9e3d4;margin-top:calc(6 * var(--u))}
.show-sub--gold{color:#e2c482}
.show-lead{max-width:44em;margin-top:calc(22 * var(--u));font-size:max(15px,calc(12.5 * var(--u)));line-height:1.6;color:#cfccc2}
.show-more{margin-top:calc(18 * var(--u));font-size:max(15px,calc(12.5 * var(--u)))}
.show-actions{margin-top:calc(26 * var(--u));display:flex;justify-content:center}

/* row cards: picture left, cream body, round arrow (Technology, Research & Evidence) */
.rowcards{list-style:none;padding:0;margin:calc(24 * var(--u)) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(14 * var(--u))}
.rowcards--3{grid-template-columns:minmax(0,1fr);max-width:calc(640 * var(--u))}
.rowcard a{display:grid;grid-template-columns:calc(150 * var(--u)) minmax(0,1fr) auto;align-items:center;height:100%;min-height:calc(78 * var(--u));border:1px solid #bca980;border-radius:calc(9 * var(--u));overflow:hidden;background:linear-gradient(100deg,#f2eadc,#eee3d1 80%,#ebd9be);color:var(--ink);box-shadow:0 0 0 1px #0006,0 calc(6 * var(--u)) calc(18 * var(--u)) #0009;transition:transform .45s cubic-bezier(.2,1.5,.4,1),box-shadow .3s}
.rowcards--3 .rowcard a{grid-template-columns:calc(150 * var(--u)) minmax(0,1fr) auto}
.rowcard a:hover{transform:translateY(-3px);box-shadow:0 0 0 1px #0006,0 0 calc(26 * var(--u)) #d6ad5c40,0 calc(10 * var(--u)) calc(24 * var(--u)) #000b}
.rowcard img,.rowcard .rc-art{width:100%;height:100%;min-height:calc(78 * var(--u));object-fit:cover;display:block;background:#070707}
.rc-body{display:flex;flex-direction:column;gap:calc(4 * var(--u));padding:calc(12 * var(--u)) calc(14 * var(--u)) calc(12 * var(--u)) calc(18 * var(--u))}
.rc-name{font:700 max(18px,calc(16.5 * var(--u)))/1.1 var(--font-display)}
.rc-desc{font-size:max(13px,calc(11 * var(--u)));line-height:1.4;color:#2f291d}
.rc-go{display:grid;place-items:center;width:calc(28 * var(--u));height:calc(28 * var(--u));min-width:30px;min-height:30px;margin-right:calc(16 * var(--u));border:1px solid #7a6233;border-radius:50%;color:#4b3b1b;transition:background .2s,color .2s}
.rc-go svg{width:14px;height:10px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .35s cubic-bezier(.2,1.6,.4,1)}
.rowcard a:hover .rc-go{background:#1a140a;color:#f3dca2;border-color:#1a140a}
.rowcard a:hover .rc-go svg{transform:translateX(2px)}

/* gold button */
.button--gold{border-radius:999px;border-color:#f3d38a;background:linear-gradient(180deg,#f8e2a2,#dcb25d);color:#1c1406;box-shadow:0 0 18px #e0b25c66,inset 0 1px 0 #fff6d6;padding:0 max(22px,calc(24 * var(--u)))}
.button--gold:hover{background:linear-gradient(180deg,#fff0bd,#e6bd68);border-color:#fff0bd;box-shadow:0 0 28px #e8bd6b99}

/* the Living Ether system (Architecture) */
.orbit{position:relative;width:min(100%,calc(640 * var(--u)));aspect-ratio:1000/800;margin:calc(10 * var(--u)) auto 0;container-type:inline-size}
.orbit-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ol-ring{fill:none;stroke:#c9a65e;stroke-width:1;opacity:.55;vector-effect:non-scaling-stroke}
.ol-spokes path{fill:none;stroke:#d9b469;stroke-width:1;opacity:.45;vector-effect:non-scaling-stroke}
.ol-pulses circle{fill:#fff1c4}
.orbit-core,.on-disc{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50%;transform:translate(-50%,-50%)}
.orbit-core{left:50%;top:50%;width:27%;aspect-ratio:1;background:radial-gradient(circle at 50% 45%,#3b2b10 0,#150f07 55%,#090806 72%);border:2px solid #f0c770;box-shadow:0 0 0 1px #7a5a22,0 0 30px #f0c77099,0 0 90px #d9a54966,inset 0 0 30px #f0c77044;font:400 max(17px,4.2cqw)/1.05 var(--font-display);color:#f7e2ab;transition:box-shadow .3s}
.orbit-core:hover{box-shadow:0 0 0 1px #7a5a22,0 0 40px #f0c770cc,0 0 120px #d9a54988,inset 0 0 36px #f0c77066}
.orbit-nodes{list-style:none;margin:0;padding:0}
.orbit-node{position:absolute;width:15.5%;aspect-ratio:1;margin:-7.75% 0 0 -7.75%}
.orbit-node.n1{left:50%;top:12.5%}.orbit-node.n2{left:78.5%;top:38.4%}.orbit-node.n3{left:67.6%;top:80.3%}.orbit-node.n4{left:32.4%;top:80.3%}.orbit-node.n5{left:21.5%;top:38.4%}
.on-disc{left:0;top:0;transform:none;width:100%;height:100%;gap:2px;background:radial-gradient(circle at 50% 40%,#2a200e,#0c0a07 70%);border:1px solid #d9b469;box-shadow:0 0 18px #d6ad5c55,inset 0 0 14px #d6ad5c22;color:#f1dcab;transition:box-shadow .3s,border-color .3s}
a.on-disc:hover{border-color:#ffe29a;box-shadow:0 0 30px #f0c770aa,inset 0 0 16px #f0c77044}
.on-disc svg{width:max(14px,2.6cqw);height:max(14px,2.6cqw);fill:none;stroke:#e9c57b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:2px}
.on-name{font:400 max(12px,3cqw)/1.05 var(--font-display);color:#f3dfae}
.n4 .on-name{font-size:max(11px,2.5cqw)}
.on-role{font-size:max(9px,1.5cqw);line-height:1.2;color:#cbbf9f}
.orbit figcaption{position:absolute;left:0;right:0;top:100%;margin-top:calc(18 * var(--u));text-align:center;font-size:max(12px,calc(10.5 * var(--u)));color:#a99f88}
.page-opening:has(.orbit){padding-bottom:calc(200 * var(--u))}

/* Our Team rows */
.team-rows{list-style:none;padding:0;margin:calc(22 * var(--u)) 0 0;display:grid;gap:calc(12 * var(--u));max-width:calc(700 * var(--u))}
.team-rows li{display:flex;align-items:center;gap:calc(18 * var(--u));padding:calc(14 * var(--u)) calc(20 * var(--u));border:1px solid #4b3f27;border-radius:calc(9 * var(--u));background:linear-gradient(100deg,#ffffff0d,#ffffff05);backdrop-filter:blur(2px)}
.t-mono{flex:none;display:grid;place-items:center;width:calc(58 * var(--u));height:calc(58 * var(--u));min-width:54px;min-height:54px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#33260f,#0e0b07 70%);border:1px solid #d9b469;box-shadow:0 0 0 3px #0b0a08,0 0 0 4px #8d7140,0 0 20px #d6ad5c55;font:400 max(17px,calc(17 * var(--u)))/1 var(--font-display);letter-spacing:.06em;color:#f0dba8}
.t-body{display:flex;flex-direction:column;gap:2px}
.t-name{font:700 max(17px,calc(15.5 * var(--u)))/1.2 var(--font-display);color:#f1e8d4}
.t-role{font-size:max(13px,calc(11 * var(--u)));color:#e2c482}
.t-desc{font-size:max(13px,calc(11 * var(--u)));line-height:1.45;color:#c9c4b6}

/* Publications: the team's books as 3D objects (books.js tilts them on damped springs) */
.book{display:block;perspective:900px;width:100%}
.book-3d{position:relative;display:block;aspect-ratio:2/3;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(var(--tz,0px));border-radius:2px 5px 5px 2px;
  box-shadow:1px 0 0 #f1e7cf,2px 0 0 #cbbd9c,3px 0 0 #efe4ca,4px 0 0 #bfb08e,5px 1px 0 #e9dcc0,6px 1px 0 #a99a78,0 0 0 1px #00000060,calc(var(--sx,0) * 1px + 10px) 22px 34px -6px #000c,0 0 40px #d6ad5c22}
.book-3d img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px 4px 4px 2px}
.book-3d::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(90deg,#00000080 0,#ffffff30 2.2%,#0000004d 4.2%,#ffffff12 6%,transparent 11%,transparent 94%,#00000030)}
.book-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:var(--glare,0);mix-blend-mode:screen;
  background:radial-gradient(circle at var(--gx,30%) var(--gy,20%),#fff6dc8c,#ffe8b02e 28%,transparent 55%)}
.shelf{list-style:none;padding:0;margin:calc(30 * var(--u)) auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(30 * var(--u));max-width:calc(700 * var(--u));position:relative}
.shelf::after{content:"";position:absolute;left:-4%;right:-4%;bottom:calc(30 * var(--u));height:calc(10 * var(--u));border-radius:50%;background:radial-gradient(ellipse at 50% 0,#e8bd6b55,transparent 70%);pointer-events:none;z-index:-1}
.shelf a{display:flex;flex-direction:column;gap:calc(12 * var(--u));align-items:center;text-align:center}
.shelf-title{font:400 max(13px,calc(12 * var(--u)))/1.25 var(--font-display);color:#d8cfb8;transition:color .2s}
.shelf a:hover .shelf-title{color:#fce4ab}
.shelf-by{text-align:center;margin-top:calc(18 * var(--u));font:400 max(14px,calc(13 * var(--u)))/1.3 var(--font-display);letter-spacing:.08em;color:#e2c482}
.page-opening--books{padding-bottom:calc(170 * var(--u))}
.feature{display:grid;grid-template-columns:calc(220 * var(--u)) minmax(0,1fr);gap:calc(48 * var(--u));align-items:center;max-width:calc(860 * var(--u));margin:0 auto calc(46 * var(--u))}
.feature:last-child{margin-bottom:0}
.feature--flip{grid-template-columns:minmax(0,1fr) calc(220 * var(--u))}
.feature--flip>.book{order:2}
.feature .book{max-width:300px;justify-self:center}
.feature-text h3{font:700 max(26px,calc(28 * var(--u)))/1.08 var(--font-display);letter-spacing:calc(-.3 * var(--u));margin:0 0 calc(6 * var(--u))}
.feature-text .kicker{margin-bottom:calc(8 * var(--u))}
.feature-sub{font:italic 400 max(17px,calc(15 * var(--u)))/1.35 var(--font-display)!important;color:#6a5124!important;margin-bottom:calc(16 * var(--u))!important}
.feature-quote{margin:0 0 calc(16 * var(--u));padding:calc(4 * var(--u)) 0 calc(4 * var(--u)) calc(18 * var(--u));border-left:2px solid #c9a65e}
.feature-quote p{font:400 max(18px,calc(16 * var(--u)))/1.4 var(--font-display);color:var(--ink-2);margin-bottom:calc(8 * var(--u))}
.feature-quote p:last-child{margin-bottom:0}
.feature-quote--law{background:linear-gradient(100deg,#f8f1e3,#f1e6d1);border:1px solid var(--line);border-left:3px solid #c9a65e;border-radius:0 calc(9 * var(--u)) calc(9 * var(--u)) 0;padding:calc(16 * var(--u)) calc(22 * var(--u))}
.feature-quote--law p{font-size:max(16px,calc(14 * var(--u)))}
.law-title{font:700 max(12px,calc(10.5 * var(--u)))/1.4 var(--font-body)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze)!important}

/* Collaborate With Us: the horizon */
.page-opening--horizon{text-align:center}
.page-opening--horizon::before{display:none}
.page-opening--horizon h1{max-width:none}
.horizon{position:relative;height:calc(170 * var(--u));min-height:130px;margin:calc(8 * var(--u)) calc(-66 * var(--u)) 0;overflow:hidden;mask-image:linear-gradient(#000 55%,transparent 98%);-webkit-mask-image:linear-gradient(#000 55%,transparent 98%)}
.hz-planet{position:absolute;left:-15%;right:-15%;top:58%;height:600%;border-radius:50%;background:radial-gradient(ellipse 60% 12% at 50% 0,#4a3615,#0c0a07 60%,#090909);box-shadow:0 -1px 0 #ffe7a6,0 -6px 18px #f0c770aa,0 -30px 90px #d9a54966}
.hz-sun{position:absolute;left:50%;top:58%;width:60%;height:120%;transform:translate(-50%,-50%);background:radial-gradient(ellipse 40% 30% at 50% 50%,#fff8e0 0,#ffe2a0 10%,#e8b45a55 35%,transparent 70%);pointer-events:none}
.collab-actions{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:calc(16 * var(--u));margin-top:calc(-14 * var(--u))}
.collab-mail{display:inline-flex;align-items:center;gap:10px;font-size:max(15px,calc(13 * var(--u)));color:#eee5cf}
.collab-mail:hover{color:#fce4ab}
.collab-mail svg{width:22px;height:22px;fill:none;stroke:#e2c482;stroke-width:1.4}
.page-opening--horizon .collab-actions .button{height:calc(34 * var(--u))}

.part-links{list-style:none;margin:calc(14 * var(--u)) 0 0;padding:0;display:grid;gap:8px;max-width:52em}
.part-links li{padding:10px 0;border-bottom:1px solid var(--line-soft)}

@media(min-width:769px) and (max-width:1000px){
 .card-description{font-size:max(10px,calc(10.5 * var(--u)))}
 .arch{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
 .arch .caps{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
 .flow{flex-wrap:wrap}
 .flow li{flex:1 1 40%}
}

/* ---------- phones and small tablets (mockup) ---------- */
@media(max-width:768px){
 .page>*{--u:1px;--text-hero:clamp(38px,7.8vw,58px);--text-section:30px}
 .site-header{height:70px}
 .wordmark{left:24px;top:11px;font-size:38px}
 .menu-toggle{position:absolute;right:24px;top:14px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #9d835944;border-radius:4px}
 .bars{display:flex;flex-direction:column;gap:5px}
 .bars span{display:block;height:1px;background:#e4cc98;width:22px;transition:transform .3s,opacity .2s}
 .menu-toggle[aria-expanded="true"] .bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] .bars span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] .bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .nav-panel{display:none;position:absolute;left:0;right:0;top:69px;height:auto;background:#0b0b0bf7;border-bottom:1px solid #a68b59;padding:8px 24px 16px;z-index:40;max-height:calc(100dvh - 70px);overflow:auto}
 .nav-panel.is-open{display:block}
 .primary-nav{display:block;font-size:16px;height:auto}
 .primary-nav>li{display:block;height:auto;border-bottom:1px solid #2a2418}
 .nav-top{width:100%;min-height:48px;justify-content:space-between}
 .chevron{width:7px;height:7px}
 .submenu{position:static;display:none;min-width:0;opacity:1;visibility:visible;transform:none;background:transparent;border:0;box-shadow:none;padding:0 0 10px 12px;transition:none}
 .has-menu:hover>.submenu,.has-menu:focus-within>.submenu{display:none}
 .nav-btn[aria-expanded="true"]+.submenu{display:block}
 .submenu a{padding:10px 0;font-size:15px;color:#d8d2c2}

 .hero{height:auto;min-height:640px;padding:28px 24px 280px}
 .hero-art{top:auto;bottom:0;height:auto;aspect-ratio:1025/342;width:max(930px,calc(100% + 400px));max-width:none;left:auto;right:-90px;object-fit:fill;mask-image:linear-gradient(transparent,#000 22%)}
 .hero-copy{position:relative;left:auto;top:auto;width:100%;max-width:620px}
 .hero h1{font-size:var(--text-hero);line-height:.99;letter-spacing:-.6px}
 .gold-rule{margin-top:19px}
 .hero-sub{font-size:clamp(22px,4.3vw,29px);line-height:1.08;margin-top:16px}
 .hero-sub>span{display:inline;transform:none}
 .hero-lead{font-size:14px;line-height:20px;margin-top:15px;max-width:470px}
 .desktop-br{display:none}
 .hero-actions{gap:12px;margin-top:21px;flex-wrap:wrap}
 .hero .button,.button.primary,.button.secondary{height:42px;font-size:12px;width:auto;padding:0 16px}
 .hero .button svg{width:19px;height:13px}
 .button{min-height:42px;font-size:13px;border-radius:7px}

 .ecosystem{height:auto;padding:10px 24px 32px;background:linear-gradient(#111111,#463b2c 30%,#e5cfaa)}
 .heading-line{gap:12px}
 .heading-line h2{font-size:clamp(25px,4.4vw,32px);line-height:1.08}
 .heading-line span{width:40px;flex:1}
 .ecosystem-heading p{font-size:16px;line-height:1.4;margin-top:12px}
 .technology-grid{position:static;margin-top:26px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .technology-card{height:auto;min-height:280px;border-radius:11px}
 .technology-card>img{height:auto;aspect-ratio:2.36;min-height:110px;object-fit:cover}
 .card-copy{height:155px;padding:12px 16px}
 .card-name{font-size:24px;white-space:normal;letter-spacing:-.5px}
 .technology-card:nth-child(n) .card-name{transform:none}
 .card-subtitle{font-size:16px;line-height:18px;margin-top:4px}
 .card-description{position:static;font-size:12px;line-height:16px;margin-top:12px;padding-right:18px}
 .card-description br{display:none}
 .card-copy .card-open{width:44px;height:44px;right:0;bottom:0}
 .card-open svg{width:19px;height:14px}

 .architecture{height:auto;display:flex;flex-direction:column;align-items:stretch;padding:32px 24px 58px;gap:24px;background-size:auto 100%}
 .architecture-copy{position:relative;left:auto;top:auto}
 .architecture-copy h2{font-size:33px;line-height:1.05}
 .architecture-copy p{font-size:15px;line-height:21px;max-width:380px}
 .architecture-button{margin-top:18px;gap:20px;height:42px;width:auto;font-size:13px}
 .architecture-button svg{width:19px;height:13px}
 .architecture>.architecture-diagram{position:relative;left:auto;top:auto;width:100%;height:auto}
 .architecture-art{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 15%,#000);mask-composite:intersect}
 .architecture-labels h3{font-size:clamp(12px,2.69cqw,19px)}
 .architecture-labels p{font-size:clamp(10px,2.02cqw,14px)}
 .architecture-features{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .architecture-features li{height:auto;font-size:13px;line-height:18px;white-space:normal;gap:12px;letter-spacing:0}
 .architecture-features svg,.caps svg{width:27px;height:27px}

 .footer{padding:24px 16px 0}
 .wave-art{top:-40px;height:53px;background-size:auto 100%}
 .wave-vector{top:-30px;height:65px}
 .footer-grid{height:auto;grid-template-columns:1fr 1fr;gap:30px 0}
 .footer-item{min-height:115px}
 .footer-item:not(:last-child)::after{top:8px;height:94px}
 .footer-item:nth-child(2)::after{display:none}
 .fi-name{font-size:23px}
 .fi-desc{font-size:13px;line-height:18px;margin-top:6px}
 .footer-item>svg,.footer-item:last-child>svg{height:37px;width:43px;margin-bottom:6px}
 .legal{margin:16px -16px 0;padding:16px 24px 22px;flex-direction:column;align-items:flex-start;font-size:13px}
 .legal ul{gap:8px 18px}

 /* inner pages */
 .wrap{padding:0 24px}
 .page-opening{padding:36px 0 130px;background:linear-gradient(180deg,#090909 0,#090909 calc(100% - 130px),#211d18 calc(100% - 96px),#665846 calc(100% - 58px),#b49b79 calc(100% - 26px),#ecdfca 100%)}
 .page-opening::before{width:100%;height:calc(100% - 90px);opacity:.34;background-size:auto 100%;background-position:68% top}
 .page-opening h1{font-size:clamp(34px,8vw,46px)}
 .page-opening h1::after{width:56px;margin-top:16px}
 .page-opening .lead{font-size:16px}
 .plate{justify-self:start;width:min(100%,360px);border-radius:11px}
 .section{padding:44px 0;font-size:16px}
 .section h2{font-size:clamp(26px,6.4vw,32px)}
 .section p{margin-bottom:12px}
 .after{margin-top:22px!important}
 .grid2,.grid2--text,.arch{grid-template-columns:minmax(0,1fr);gap:32px}
 .tech-grid,.tiers,.people,.workflow{grid-template-columns:minmax(0,1fr);gap:14px}
 .tech,.tier,.status-card,.note{padding:20px;border-radius:11px}
 .people{max-width:420px}
 .people li{padding:18px}
 .flow{flex-direction:column;gap:22px}
 .flow li+li::before{left:50%;top:-16px;width:1px;height:12px}
 .flow li+li::after{left:calc(50% - 3.5px);top:-9px;transform:rotate(135deg)}
 .section-heading{margin-bottom:24px}
 .section-heading p{font-size:16px}
 .fields div{grid-template-columns:minmax(0,1fr);gap:2px}
 .tone-ink h2{font-size:28px}
 .section.tone-ink{padding-bottom:70px}

 .page-opening--show{padding-top:30px}
 .rowcards,.rowcards--3{grid-template-columns:minmax(0,1fr);gap:12px}
 .rowcard a,.rowcards--3 .rowcard a{grid-template-columns:118px minmax(0,1fr) auto;min-height:92px;border-radius:9px}
 .rowcard img,.rowcard .rc-art{min-height:92px}
 .rc-body{padding:12px 10px 12px 14px}
 .rc-go{margin-right:12px}
 .orbit{width:100%;aspect-ratio:1/1;margin-top:18px}
 .orbit-node{width:22%;margin:-11% 0 0 -11%}
 .orbit-node.n1{top:13%}.orbit-node.n2{left:82%;top:38%}.orbit-node.n3{left:68%;top:82%}.orbit-node.n4{left:32%;top:82%}.orbit-node.n5{left:18%;top:38%}
 .orbit-core{width:32%}
 .page-opening:has(.orbit){padding-bottom:190px}
 .orbit figcaption{margin-top:14px}
 .team-rows{max-width:none}
 .team-rows li{align-items:flex-start;padding:14px 16px;gap:14px;border-radius:9px}

 .shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px;max-width:380px;margin-top:26px}
 .shelf::after{display:none}
 .feature,.feature--flip{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:56px}
 .feature--flip>.book{order:0}
 .feature .book{max-width:220px}
 .feature-text h3{font-size:28px}
 .horizon{margin:8px -24px 0;height:130px}
 .collab-actions{margin-top:-6px}
 .page-opening--horizon .collab-actions .button{height:44px}
}
@media(max-width:480px){
 .hero{min-height:688px;padding-bottom:275px}
 .hero-sub br{display:none}
 .hero-actions{gap:10px}
 .hero .button{font-size:12px;padding:0 15px}
 .technology-grid{grid-template-columns:1fr;gap:20px}
 .technology-card{min-height:0}
 .card-copy{height:144px;padding:12px 20px}
 .card-name{font-size:26px}
 .card-subtitle{font-size:17px;line-height:19px}
 .card-description{font-size:13px;line-height:17px;max-width:280px}
 .card-subtitle br{display:none}
 .architecture-diagram{width:calc(100% + 40px);margin-left:-20px;aspect-ratio:520/330}
 .architecture>.architecture-diagram{width:calc(100% + 40px)}
 .architecture-labels li{top:calc(20 * var(--d))}
 .architecture-labels li:nth-child(2){top:calc(88 * var(--d))}
 .architecture-labels li:nth-child(3){top:calc(156 * var(--d))}
 .architecture-labels li:nth-child(4){top:calc(224 * var(--d))}
 .architecture-labels h3{font-size:12px;letter-spacing:-.3px}
 .architecture-labels p{font-size:10px;line-height:12px;max-width:270px;margin:3px auto 0}
 .architecture-features{grid-template-columns:1fr;gap:12px;margin-left:10px}
 .architecture-features li{font-size:14px;gap:16px}
 .fi-desc{font-size:12px;line-height:17px}
 .footer-item:last-child .fi-desc{max-width:160px}
 .eco-gate .name{font-size:18px}
 .eco-heart .name{font-size:17px}
 .eco-heart .role{font-size:11px}
 .eco-areas .name{font-size:15px}
 .eco-areas .kind{font-size:9.5px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{transition:none!important;animation:none!important}
}
@media print{
 .dust,.wave-art,.wave-vector,.menu-toggle{display:none}
 html.motion .reveal{opacity:1!important;transform:none!important}
}

/* the small shelf (homepage, About): ink titles on parchment */
.shelf--mini{max-width:calc(560 * var(--u));gap:calc(26 * var(--u));margin-top:0}
.shelf--mini::after{display:none}
.section .shelf-title{color:var(--ink-2)}
.section .shelf a:hover .shelf-title{color:#6a5124}
.grid2 .shelf--mini{grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(14 * var(--u));max-width:none;margin-top:calc(14 * var(--u))}
.grid2 .shelf--mini .shelf-title{font-size:max(12px,calc(10.5 * var(--u)))}
.home-books{border-top:1px solid #fbf0d7}
@media(max-width:768px){
 .shelf--mini,.grid2 .shelf--mini{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;max-width:340px;margin-left:auto;margin-right:auto}
}
