:root {
  --paper: #eee8da;
  --paper-bright: #f7f1e5;
  --ink: #171912;
  --muted: #565449;
  --line: rgba(23, 25, 18, 0.18);
  --moss: #80bc25;
  --moss-dark: #466f18;
  --violet: #6650a5;
  --ember: #e16c2e;
  --teal: #267d78;
  --night: #18211d;
  --radius: 1.5rem;
  --content: min(1240px, calc(100% - 2.5rem));
  --shadow: 0 24px 70px rgba(38, 35, 25, 0.13);
}

*, *::before, *::after { box-sizing: border-box; }
:focus-visible { outline: 3px solid rgba(102,80,165,.52); outline-offset: 3px; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; color: var(--ink); font-family: "Manrope", sans-serif; background: var(--paper); }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; opacity: .32; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E"); }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { font-family: "Newsreader", Georgia, serif; font-weight: 600; letter-spacing: -.035em; }
h1 { max-width: 11ch; font-size: clamp(3.65rem, 6.7vw, 6.75rem); line-height: .91; text-wrap: balance; }
h2 { font-size: clamp(2.65rem, 4.7vw, 5rem); line-height: .98; text-wrap: balance; }
h3 { font-size: clamp(1.55rem, 2.45vw, 2.35rem); line-height: 1.06; text-wrap: balance; }
p { line-height: 1.72; }

.page-shell { position: relative; overflow: clip; }
.portal-wash { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.portal-wash span { position: absolute; width: 34rem; height: 34rem; border-radius: 50%; filter: blur(90px); opacity: .12; animation: ambient-drift 18s ease-in-out infinite alternate; }
.portal-wash span:nth-child(1) { top: -14rem; left: -9rem; background: var(--moss); }
.portal-wash span:nth-child(2) { top: 28%; right: -18rem; background: var(--violet); animation-delay: -6s; }
.portal-wash span:nth-child(3) { bottom: -18rem; left: 32%; background: var(--ember); animation-delay: -10s; }

.site-header, .section, .site-footer { width: var(--content); margin-inline: auto; }
.site-header { position: sticky; top: .7rem; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .7rem; padding: .6rem .7rem .6rem 1rem; border: 1px solid rgba(23,25,18,.12); border-radius: 999px; background: rgba(247,241,229,.84); box-shadow: 0 8px 30px rgba(38,35,25,.08); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: .62rem; padding: .1rem; text-decoration: none; }
.brand-logo { width: 12.5rem; height: 2.3rem; object-fit: cover; object-position: center; border-radius: .15rem; }
.brand-circle-logo { width: 2.65rem; height: 2.65rem; flex: none; border-radius: 50%; background-color: #000; background-image: url("./assets/echowerks-logo-full.png"); background-repeat: no-repeat; background-size: 18rem 12rem; background-position: -2.93rem -4.35rem; box-shadow: 0 4px 14px rgba(23,25,18,.16); }
.brand-symbol { position: relative; width: 2.35rem; height: 2.35rem; flex: none; border: 2px solid var(--ink); border-right-color: var(--moss); border-radius: 50%; transform: rotate(-12deg); }
.brand-symbol::before { content: ""; position: absolute; inset: .34rem; border: 1px solid var(--violet); border-left-color: var(--ember); border-radius: 50%; }
.brand-symbol::after { content: ""; position: absolute; width: 1.15rem; height: 1px; right: -1rem; top: 50%; background: var(--ink); box-shadow: .55rem -.35rem 0 var(--teal), .8rem .32rem 0 var(--ember); }
.brand-symbol i { position: absolute; width: .34rem; height: .34rem; left: 50%; top: 50%; z-index: 2; border-radius: 50%; background: var(--ink); transform: translate(-50%,-50%); }
.brand-symbol b { position: absolute; width: .23rem; height: .23rem; right: -.52rem; top: calc(50% - .11rem); z-index: 2; border-radius: 50%; background: var(--moss-dark); }
.brand-word { color: var(--ink); font-family: "Manrope", sans-serif; font-size: 1.18rem; font-weight: 500; letter-spacing: -.045em; }
.brand-word > span { color: var(--moss-dark); font-weight: 700; }
.site-nav { display: flex; align-items: center; justify-content: flex-end; gap: .15rem; }
.site-nav a { padding: .72rem .85rem; border-radius: 999px; color: #37392f; text-decoration: none; font-size: .88rem; font-weight: 700; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav a[aria-current="page"] { background: rgba(23,25,18,.07); color: var(--ink); transform: translateY(-1px); }
.site-nav .nav-ai { color: var(--moss-dark); }
.site-nav .nav-cta { margin-left: .25rem; color: #f8f5ed; background: var(--ink); }
.site-nav .nav-cta:hover { color: #fff; background: var(--violet); }
.nav-toggle { display: none; border: 0; border-radius: 999px; padding: .7rem 1rem; color: white; background: var(--ink); font-weight: 700; }

.section { padding-block: clamp(4.5rem, 7.5vw, 7.5rem); }
.page-home #home, .page-about .about-hero, .page-credentials .credentials-hero, .page-ai .ai-hero, .page-projects .projects-hero, .page-tools .tools-shell, .page-login .login-shell, .page-model .model-shell { padding-top: clamp(4rem, 6vw, 6rem); }
.eyebrow, .section-index, .card-kicker, .business-status, .status-pill, .service-number { font-family: "DM Mono", monospace; font-size: .78rem; font-weight: 500; line-height: 1.45; letter-spacing: .1em; text-transform: uppercase; }
.eyebrow { margin-bottom: 1rem; color: var(--moss-dark); }
.section-index { padding-top: .5rem; border-top: 1px solid var(--line); color: var(--muted); }
.section-heading { margin-bottom: 2.5rem; }
.section-deck, .split-heading > p { max-width: 47rem; color: var(--muted); font-size: 1.08rem; }
.split-heading { display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 4rem; }
.editorial-heading { max-width: 55rem; }

.hero { min-height: calc(100vh - 5.5rem); display: grid; grid-template-columns: 1.06fr .94fr; gap: clamp(2.5rem,5vw,5rem); align-items: center; padding-top: clamp(5rem, 8vw, 7rem); }
.hero-copy { position: relative; z-index: 2; }
.hero-lead { max-width: 49rem; margin-top: 1.6rem; color: #4d4c42; font-size: clamp(1.03rem, 1.5vw, 1.25rem); }
.hero-actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 2rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-height: 3.35rem; padding: .85rem 1.3rem; border: 1px solid var(--ink); border-radius: 999px; text-decoration: none; cursor: pointer; font-weight: 700; transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; }
.button:hover { transform: translateY(-3px) rotate(-.4deg); box-shadow: 0 10px 26px rgba(23,25,18,.14); }
.button-primary { color: #f8f5ed; background: var(--ink); }
.button-primary:hover { background: var(--violet); }
.button-secondary { background: transparent; }
.button-light { border-color: var(--paper-bright); color: var(--night); background: var(--paper-bright); }
.signal-strip { display: flex; gap: 1.6rem; flex-wrap: wrap; margin-top: 4rem; padding-top: 1.25rem; border-top: 1px solid var(--line); color: #45463c; font-size: .83rem; }
.signal-strip span { display: flex; align-items: center; gap: .55rem; }
.signal-strip b { color: var(--ember); font-family: "DM Mono", monospace; font-size: .7rem; }

.portal-stage { position: relative; min-height: 38rem; display: grid; place-items: center; isolation: isolate; }
.portal-stage::before { content:""; position:absolute; width:min(34rem,92%); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(128,188,37,.12),rgba(102,80,165,.08) 47%,transparent 71%); filter:blur(10px); }
.portal-orbit { position: absolute; z-index:-1; border-radius: 50%; opacity:.78; }
.orbit-one { width: 31rem; height: 31rem; background:conic-gradient(from 15deg,transparent 0 17%,rgba(102,80,165,.62) 17% 31%,transparent 31% 57%,rgba(38,125,120,.42) 57% 68%,transparent 68%); mask:radial-gradient(transparent 66%,#000 67% 69%,transparent 70%); animation: spin 28s linear infinite; }
.orbit-two { width: 27rem; height: 27rem; background:conic-gradient(from 130deg,transparent 0 22%,rgba(128,188,37,.78) 22% 37%,transparent 37% 70%,rgba(225,108,46,.65) 70% 78%,transparent 78%); mask:radial-gradient(transparent 70%,#000 71% 72%,transparent 73%); animation: spin-reverse 19s linear infinite; }
.portal-core { position: relative; width: min(23rem,76vw); aspect-ratio:1; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; color: white; background:#0a100d; box-shadow: 0 32px 80px rgba(5,9,6,.3),0 0 75px rgba(102,80,165,.24),inset 0 0 45px rgba(255,255,255,.09); }
.portal-path-mark svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.portal-sky { fill:url(#portalSky); }
.portal-depth-rings ellipse { fill:none; stroke:rgba(229,240,207,.18); stroke-width:1.2; }
.portal-depth-rings ellipse:nth-child(2) { stroke:rgba(229,240,207,.26); }
.portal-depth-rings ellipse:nth-child(3) { stroke:rgba(229,240,207,.38); }
.portal-path-glow { fill:#e8f2b9; opacity:.55; filter:url(#portalGlow); }
.portal-path-road { fill:url(#portalRoad); opacity:.94; }
.portal-path-center { fill:none; stroke:rgba(17,26,19,.5); stroke-width:1.4; stroke-dasharray:5 8; }
.portal-path-destination { fill:#f7ffd9; filter:drop-shadow(0 0 9px #e4f29f); }
.portal-circuitry { fill:none; stroke:rgba(184,211,130,.5); stroke-width:1.2; }
.portal-circuitry circle { fill:#dfecab; stroke:none; }
.portal-rim { fill:none; stroke:rgba(237,241,219,.46); stroke-width:1.5; }
.portal-core span { position: absolute; z-index: 2; bottom: 1.15rem; padding: .38rem .65rem; border: 1px solid rgba(231,239,205,.2); border-radius: 999px; color: #edf2dd; background: rgba(8,13,9,.78); font-family: "DM Mono", monospace; font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; }
.portal-note { position: absolute; right: 0; bottom: 1.5rem; max-width: 13rem; padding-top: .7rem; border-top: 1px solid var(--line); color: var(--muted); font-family: "DM Mono", monospace; font-size: .76rem; }
.entry-splash { position: fixed; inset: 0; z-index: 110; min-height: 100svh; display: grid; place-items: center; overflow: hidden; color: var(--paper-bright); background: #151711 url("./assets/echowerks-portal.jpg") center / cover no-repeat; }
.entry-splash::before { content: ""; position: absolute; inset: -2rem; z-index: 0; background: rgba(13,15,10,.36); backdrop-filter: blur(18px); }
.entry-splash > img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: center; filter: saturate(.8) contrast(1.03) brightness(.72); transition: transform 1100ms cubic-bezier(.72,0,.2,1), filter 800ms ease; }
.entry-splash::after { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(13,15,10,.7) 0%, rgba(13,15,10,.32) 28%, transparent 54%), linear-gradient(0deg, rgba(13,15,10,.38), transparent 28%); }
.entry-overlay { position: absolute; top: clamp(1.25rem, 3vh, 2.5rem); left: 50%; z-index: 4; width: var(--content); display: flex; flex-direction: column; align-items: flex-start; transform: translateX(-50%); transition: opacity 260ms ease, transform 440ms ease; }
.entry-overlay .eyebrow { color: #c7dc8e; }
.entry-mark { margin: 0 0 .7rem .1rem; border-color: rgba(255,255,255,.85); border-right-color: var(--moss); transform: scale(1.04) rotate(-12deg); }
.entry-mark::after { background: rgba(255,255,255,.8); }
.entry-mark i { background: rgba(255,255,255,.9); }
.entry-title { max-width: 20ch; color: var(--paper-bright); font-family: "Newsreader", Georgia, serif; font-size: clamp(2.5rem, 4.4vw, 4.35rem); font-weight: 600; letter-spacing: -.035em; line-height: .91; text-shadow: 0 2px 32px rgba(0,0,0,.38); }
.entry-actions { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1.15rem; }
.entry-control { display: inline-flex; align-items: center; gap: .8rem; padding: .95rem 1.25rem; border: 1px solid rgba(255,255,255,.72); border-radius: 999px; color: white; background: rgba(17,20,15,.35); backdrop-filter: blur(10px); text-decoration: none; font-weight: 700; transition: transform 180ms ease, background 180ms ease; }
.entry-control:hover, .entry-control:focus-visible { transform: translateY(-3px); background: rgba(102,80,165,.88); }
.entry-control-secondary { color: #20231c; background: rgba(247,241,229,.9); border-color: rgba(247,241,229,.9); }
.entry-skip { margin: .75rem 0 0 1.25rem; color: rgba(255,255,255,.86); font-family: "DM Mono", monospace; font-size: .75rem; text-underline-offset: .2rem; }
.entry-splash.is-leaving .entry-overlay { opacity: 0; transform: translateY(1rem); }
.entry-splash.is-leaving > img { transform: scale(1.035); filter: saturate(.9) contrast(1.04) brightness(.5); }
.entry-splash.is-entered { display: none; }
.entry-locked { overflow: hidden; }
.during-entry-transition { overflow: hidden; }
.star-transition { position: fixed; inset: 0; z-index: 120; visibility: hidden; opacity: 0; pointer-events: none; overflow: hidden; background: #010203; transition: opacity 160ms ease, visibility 0s linear 160ms; }
.star-transition.is-active { visibility: visible; opacity: 1; transition: opacity 160ms ease; }
.star-field { position: absolute; inset: 0; perspective: 28rem; }
.warp-star { position: absolute; left: 50%; top: 50%; width: var(--length); height: var(--weight); border-radius: 999px; opacity: 0; background: linear-gradient(90deg, rgba(255,255,255,0), var(--star-color)); box-shadow: 0 0 .4rem var(--star-color); transform-origin: left center; transform: rotate(var(--angle)) translateX(2rem) scaleX(.05); }
.star-transition.is-warping .warp-star { animation: star-warp var(--duration) cubic-bezier(.18,.62,.26,1) var(--delay) both; }
.star-portal-core { position: absolute; left: 50%; top: 50%; width: 2rem; height: 2rem; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; opacity: 0; background: #fff; box-shadow: 0 0 2rem #fff, 0 0 7rem #8ebc7c, 0 0 12rem #6650a5; transform: translate(-50%,-50%) scale(.1); }
.star-transition.is-warping .star-portal-core { animation: portal-bloom 1.25s cubic-bezier(.45,0,.75,.5) .28s both; }
.av-transition { position: fixed; inset: 0; z-index: 121; visibility: hidden; opacity: 0; pointer-events: none; overflow: hidden; background: #050706; transition: opacity 180ms ease, visibility 0s linear 180ms; }
.av-transition.is-active { visibility: visible; opacity: 1; transition: opacity 180ms ease; }
.av-tunnel { position: absolute; inset: -22vmax; background: repeating-radial-gradient(circle at center, transparent 0 7vmin, rgba(126,159,101,.17) 7.2vmin 7.5vmin, transparent 7.7vmin 13vmin), conic-gradient(from 35deg at center, #050706, #24332e, #181421, #050706, #34261c, #050706); transform: scale(.38); opacity: .7; }
.av-fault { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; opacity: 0; color: #d9efb1; background: repeating-linear-gradient(0deg, transparent 0 5px, rgba(217,239,177,.08) 6px 7px); font-family: "DM Mono", monospace; font-size: clamp(.75rem, 1.5vw, 1rem); letter-spacing: .26em; }
.av-fault span { padding: .75rem 1rem; border: 1px solid currentColor; background: #050706; transform: translateX(-9px); }
.av-fault i { position: absolute; width: 38vw; height: 1px; left: 9vw; top: 32%; background: currentColor; box-shadow: 41vw 21vh 0 #8b75bc, 17vw 39vh 0 #c1845a; transform: rotate(-7deg); }
.av-fault i:nth-of-type(2) { left: 44vw; top: 54%; transform: rotate(11deg); }.av-fault i:nth-of-type(3) { left: 17vw; top: 71%; transform: rotate(3deg); }
.av-transition.is-broken .av-fault { opacity: 1; animation: av-signal-break 130ms steps(2,end) infinite; }
.av-transition.is-broken .av-tunnel { transform: translate(4vw,-2vh) scale(.32) skewX(8deg); filter: saturate(.3); }
.av-transition.is-repairing .av-fault { animation: av-signal-repair 340ms steps(4,end) both; }
.av-transition.is-flying .av-tunnel { animation: av-tunnel-flight 1.55s cubic-bezier(.2,.7,.2,1) both; }
.av-flight-field { position: absolute; inset: 0; overflow: hidden; perspective: 34rem; }
.av-object { position: absolute; left: 50%; top: 50%; width: var(--size); height: calc(var(--size) * .68); opacity: 0; color: #e9e3d6; border: 2px solid currentColor; filter: drop-shadow(0 0 .65rem rgba(193,220,151,.42)); transform: translate(-50%,-50%) scale(.08) rotate(-12deg); }
.av-transition.is-flying .av-object { animation: av-product-flight var(--duration) cubic-bezier(.15,.55,.2,1) var(--delay) both; }
.av-tv { border-radius: .35rem; box-shadow: inset 0 0 0 .25rem rgba(5,7,6,.8); }
.av-tv::before { content: ""; position: absolute; left: 26%; right: 26%; bottom: -18%; height: 2px; background: currentColor; box-shadow: 0 .32rem 0 currentColor; }
.av-speaker { width: calc(var(--size) * .55); height: var(--size); border-radius: .35rem; background: radial-gradient(circle at 50% 72%, transparent 0 21%, currentColor 22% 24%, transparent 25%), radial-gradient(circle at 50% 25%, transparent 0 9%, currentColor 10% 13%, transparent 14%); }
.av-camera { height: calc(var(--size) * .48); border-radius: 999px; background: radial-gradient(circle, #050706 0 19%, #9ecb9a 20% 24%, transparent 25%); }
.av-camera::before { content: ""; position: absolute; width: 34%; height: 2px; left: 33%; bottom: -28%; background: currentColor; box-shadow: 0 .3rem 0 currentColor; }
.av-keyboard { height: calc(var(--size) * .38); border-radius: .22rem; background: repeating-linear-gradient(90deg, transparent 0 9%, rgba(233,227,214,.42) 10% 11%); }
.av-portal-core { position: absolute; left: 50%; top: 50%; width: 8rem; height: 8rem; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; opacity: 0; color: #fff; background: radial-gradient(circle, #f4efdf 0 4%, #8db277 5% 12%, #4f4278 28%, #080a08 62%); box-shadow: 0 0 6rem rgba(141,178,119,.55); transform: translate(-50%,-50%) scale(.12); }
.av-portal-core span { font-family: "DM Mono", monospace; font-size: .58rem; letter-spacing: .1em; }
.av-transition.is-flying .av-portal-core { animation: av-core-flight 1.5s cubic-bezier(.35,0,.7,.3) .18s both; }

.theme-toggle { flex: none; min-width: 3.8rem; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: rgba(247,241,229,.7); cursor: pointer; font: 700 .75rem/1 "DM Mono", monospace; text-transform: uppercase; }
body[data-theme="dark"] { --paper: #171914; --paper-bright: #21241d; --ink: #f2ede2; --muted: #aaa99f; --line: rgba(242,237,226,.16); --shadow: 0 20px 60px rgba(0,0,0,.28); color: var(--ink); background: var(--paper); }
body[data-theme="dark"] .site-header { background: rgba(30,33,27,.88); }
body[data-theme="dark"] .theme-toggle { color: #f2ede2; background: rgba(255,255,255,.06); }
body[data-theme="dark"] .schedule-panel, body[data-theme="dark"] .panel-form, body[data-theme="dark"] .contact-card, body[data-theme="dark"] .login-card, body[data-theme="dark"] .tools-note, body[data-theme="dark"] .tools-card:not([class*="palette-"]):not(.trash-stash-card):not(.local-model-card), body[data-theme="dark"] .day-card { background: rgba(255,255,255,.045); }
body[data-theme="dark"] input, body[data-theme="dark"] select, body[data-theme="dark"] textarea { color: var(--ink); background: rgba(255,255,255,.06); }
body[data-theme="dark"] .button-secondary, body[data-theme="dark"] .project-tab { color: var(--ink); background: rgba(255,255,255,.04); }
body[data-theme="dark"] .site-nav a { color: #ddd8cd; }
body[data-theme="dark"] .site-nav a:hover, body[data-theme="dark"] .site-nav a:focus-visible, body[data-theme="dark"] .site-nav a[aria-current="page"] { color: #fffaf0; background: rgba(255,255,255,.09); }
body[data-theme="dark"] .site-nav .nav-ai { color: #c3dc92; }
body[data-theme="dark"] .eyebrow, body[data-theme="dark"] .selected-slot, body[data-theme="dark"] .form-status[data-state="success"] { color: #c3dc92; }
body[data-theme="dark"] .site-nav .nav-cta, body[data-theme="dark"] .button-primary, body[data-theme="dark"] .nav-toggle { color: #171912; border-color: #f2ede2; background: #f2ede2; }
body[data-theme="dark"] .site-nav .nav-cta:hover, body[data-theme="dark"] .button-primary:hover { color: #fff; border-color: var(--violet); background: var(--violet); }
body[data-theme="dark"] .hero-lead, body[data-theme="dark"] .signal-strip { color: #d0ccc2; }
body[data-theme="dark"] .marquee { color: #f7f1e5; background: #090b08; }
body[data-theme="dark"] .button-light { color: #18211d; border-color: #f7f1e5; background: #f7f1e5; }
body[data-theme="dark"] .model-console, body[data-theme="dark"] .model-form, body[data-theme="dark"] .model-status-card { background: rgba(255,255,255,.045); }
body[data-theme="dark"] .model-message-system, body[data-theme="dark"] .model-message-assistant { color: #23251f; background: #e3dfd3; }
body[data-theme="dark"] .slot-button:disabled { color: #c3bfb5; background: rgba(255,255,255,.045); }
body[data-theme="dark"] input::placeholder, body[data-theme="dark"] textarea::placeholder { color: #aaa69c; opacity: 1; }

.marquee { overflow: hidden; padding: 1rem 0; border-block: 1px solid var(--line); color: #f7f1e5; background: var(--ink); white-space: nowrap; }
.marquee div { width: max-content; font-family: "Newsreader", serif; font-size: clamp(1.4rem, 2.4vw, 2.3rem); animation: marquee 24s linear infinite; }
.marquee i { padding-inline: 2rem; color: var(--moss); font-style: normal; }

.intro-grid { display: grid; grid-template-columns: .28fr 1.1fr .62fr; gap: 2.5rem; align-items: start; padding-bottom: 2.5rem; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding-top: 0; }
.service-card { position: relative; min-height: 32rem; display: flex; flex-direction: column; align-items: flex-start; padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); transition: transform 260ms ease; }
.service-card:hover { transform: translateY(-8px) rotate(.25deg); }
.service-card::after { content: ""; position: absolute; width: 14rem; height: 14rem; right: -7rem; bottom: -7rem; border: 2.4rem solid currentColor; border-radius: 50%; opacity: .11; }
.service-av { color: #f4eee0; background: #252d28; }
.service-install { color: #251f19; background: #c9b99d; }
.service-ai { color: #f4eee0; background: #4d3f78; }
.service-card .eyebrow { color: currentColor; opacity: .7; }
.service-card h3 { margin-bottom: 1.2rem; }
.service-card p:not(.eyebrow) { color: currentColor; opacity: .78; }
.service-number { margin-left: auto; margin-bottom: 5rem; opacity: .6; }
.tag-list { display: flex; gap: .5rem; flex-wrap: wrap; margin: auto 0 0; padding: 2rem 0 0; list-style: none; }
.tag-list li { padding: .55rem .7rem; border: 1px solid currentColor; border-radius: 999px; font-size: .72rem; opacity: .72; }
.text-link { display: inline-flex; gap: .5rem; margin-top: auto; padding-top: 2rem; font-weight: 700; text-decoration: none; }

.portal-break { width: min(1420px, calc(100% - 1.5rem)); min-height: 42rem; margin: 4rem auto; display: grid; grid-template-columns: 1fr 1fr; border-radius: 2rem; overflow: hidden; color: var(--paper-bright); background: var(--night); }
.portal-break-art { position: relative; min-height: 32rem; overflow: hidden; background: radial-gradient(circle at center, #f7ebc8 0 4%, #8cb844 5% 12%, #426d69 13% 24%, #614e94 25% 35%, #1a221c 36% 42%, transparent 43%), repeating-radial-gradient(circle, rgba(238,232,218,.18) 0 1px, transparent 2px 28px), conic-gradient(from 15deg, #1a211c, #292525, #4d3f78, #1a211c, #315e5a, #1a211c); }
.portal-break-art::before, .portal-break-art::after { content: ""; position: absolute; inset: 8%; border: 1px dashed rgba(255,255,255,.3); border-radius: 50%; animation: spin 30s linear infinite; }
.portal-break-art::after { inset: 19%; animation-direction: reverse; animation-duration: 18s; }
.portal-break-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(3rem, 7vw, 7rem); }
.portal-break-copy .eyebrow { color: #acd566; }
.portal-break-copy p:not(.eyebrow) { margin: 1.5rem 0 2rem; color: #c9cec5; }

.business-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 3rem; }
.business-card, .tools-card { position: relative; min-height: 25rem; display: flex; flex-direction: column; padding: 2rem; border: 1px solid rgba(255,255,255,.12); border-radius: .65rem; overflow: hidden; box-shadow: var(--shadow); }
.business-card::before, .tools-card[class*="palette-"]::before { content: ""; position: absolute; inset: 0 0 auto; height: .42rem; background: var(--card-accent); }
/* Portal-wheel business lanes: olive, ember and teal remain distinct but formal. */
.palette-crestron { --card-accent: #a6bd55; color: #edf0e4; background: #283128; }
.palette-builder { --card-accent: #b66034; color: #31231c; background: #d9c0aa; }
.palette-commercial { --card-accent: #54a09a; color: #eef2f1; background: #293e49; }
.palette-trash { --card-accent: #d19a3d; color: #efe9dc; background: #3a3025; }
.card-kicker { margin-bottom: 5rem; color: var(--card-accent); }
.business-card h3 { margin-bottom: 1rem; }
.business-card > p:not(.card-kicker), .tools-card[class*="palette-"] > p:not(.card-kicker) { color: currentColor; opacity: .72; }
.business-status, .business-link { align-self: flex-start; margin-top: auto; padding-top: 2rem; color: currentColor; opacity: .72; text-decoration: none; }
.business-link { font-weight: 700; opacity: 1; }

.profile-band { display: grid; grid-template-columns: .78fr 1.22fr; padding-inline: 0; }
.profile-image { min-height: 38rem; border-radius: var(--radius) 0 0 var(--radius); overflow: hidden; }
.profile-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.profile-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 7vw, 7rem); border-radius: 0 var(--radius) var(--radius) 0; color: #f6f0e4; background: #332b26; }
.profile-copy .eyebrow { color: #d6a988; }
.profile-copy > p:not(.eyebrow) { max-width: 46rem; margin-top: 1.5rem; color: #d1c8bd; }
.profile-copy .profile-credentials { margin-top: .9rem; color: #bed590; font-family: "DM Mono", monospace; font-size: .77rem; letter-spacing: .04em; }
.profile-links { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 2rem; }
.profile-links a { color: #e7bc91; font-weight: 700; text-decoration: none; }

.schedule-layout, .contact-layout, .login-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.schedule-panel, .panel-form, .contact-card, .login-card, .tools-note, .tools-card { padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(247,241,229,.72); box-shadow: var(--shadow); }
.schedule-head, .form-intro { display: grid; gap: .5rem; margin-bottom: 1rem; }
.slot-browser { display: grid; gap: 1rem; }
.day-card { padding: 1.1rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.32); }
.day-card-head { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; margin-bottom: .8rem; }
.day-card-head p, .loading-copy { color: var(--muted); }
.slot-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; }
.slot-button { min-height: 2.8rem; border: 1px solid var(--line); border-radius: .7rem; color: var(--ink); background: transparent; cursor: pointer; }
.slot-button:hover:not(:disabled), .slot-button.is-selected { color: white; background: var(--violet); }
.slot-button:disabled { color: #77776f; border-color: rgba(23,25,18,.1); background: rgba(95,95,88,.09); opacity: .58; cursor: not-allowed; }
.panel-form, .contact-form, .login-card { display: grid; gap: 1rem; }
label { display: grid; gap: .4rem; }
label span { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
input, select, textarea { width: 100%; padding: .95rem 1rem; border: 1px solid var(--line); border-radius: .7rem; color: var(--ink); background: rgba(255,255,255,.42); }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(102,80,165,.2); border-color: var(--violet); }
.selected-slot { color: var(--violet); font-size: .88rem; font-weight: 700; }
.form-status { min-height: 1.4rem; color: var(--muted); }
.form-status[data-state="success"] { color: var(--moss-dark); }
.form-status[data-state="error"] { color: #a52e2e; }
.contact-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 5rem); color: #f5eee0; background: var(--ink); }
.contact-card .eyebrow { color: var(--moss); }
.contact-card > p:not(.eyebrow) { margin-top: 1.5rem; color: #c9c7bc; }
.contact-points { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; margin-top: 2rem; }
.contact-points a { color: #c8de8f; text-decoration: none; }

.site-footer { display: grid; grid-template-columns: 1fr auto auto; gap: 2rem; align-items: end; padding-block: 3rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .85rem; }
.footer-mark { color: var(--ink); font-family: "Newsreader", serif; font-size: 2rem; }
.footer-links { display: flex; justify-content: flex-end; gap: .75rem 1.3rem; flex-wrap: wrap; }
.footer-links a { text-decoration: none; }
.footer-easter-egg { width: var(--content); min-height: 5.5rem; margin: 0 auto 1rem; display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; padding: 1.5rem .35rem .6rem; border-top: 1px dashed rgba(23,25,18,.16); color: rgba(23,25,18,.48); }
.edition-note { font-family: "Newsreader", serif; font-size: .82rem; font-style: italic; letter-spacing: .06em; transform: rotate(-2deg); }
.signature-doodle { position: relative; width: 7.5rem; height: 3.7rem; opacity: .62; transform: rotate(-2deg); }
.doodle-orbit, .doodle-orbit::before, .doodle-orbit::after { position: absolute; border: 1px solid currentColor; border-radius: 50%; }
.doodle-orbit { width: 2.5rem; height: 2.1rem; right: 1.5rem; top: .2rem; transform: rotate(19deg); }
.doodle-orbit::before { content: ""; width: 1.75rem; height: 2.6rem; left: .2rem; top: -.3rem; transform: rotate(58deg); }
.doodle-orbit::after { content: "✦"; width: auto; height: auto; left: .67rem; top: .36rem; border: 0; font-size: .7rem; }
.doodle-trail { position: absolute; width: 4.6rem; height: 1.5rem; right: .45rem; bottom: .35rem; border-bottom: 1px solid currentColor; border-radius: 50%; transform: skewX(-28deg) rotate(-6deg); }
.doodle-signature { position: absolute; left: 0; bottom: 0; font-family: "Newsreader", serif; font-size: .68rem; font-style: italic; letter-spacing: .04em; }

/* About */
.about-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(3rem, 5vw, 5rem); align-items: start; min-height: 0; padding-block: clamp(4rem, 6vw, 6rem); }
.about-intro h1 { max-width: 13ch; font-size: clamp(4rem, 6.4vw, 6.4rem); line-height: .9; }
.about-portrait { position: relative; }
.about-portrait img { width: 100%; max-height: 38rem; aspect-ratio: 4 / 5; object-fit: cover; object-position: center bottom; border-radius: 14rem 14rem .8rem .8rem; filter: saturate(.8) contrast(1.03); }
.about-portrait p { position: absolute; right: -1rem; bottom: 1.5rem; padding: .75rem 1rem; border-radius: .3rem; color: white; background: var(--violet); font-family: "DM Mono", monospace; font-size: .72rem; text-transform: uppercase; }
.credibility-grid { display: grid; grid-template-columns: .25fr 1fr .7fr; gap: 3rem; border-top: 1px solid var(--line); }
.credibility-main p:not(.eyebrow) { max-width: 50rem; margin-top: 1.4rem; color: var(--muted); }
.credibility-facts { display: grid; align-content: start; border-top: 1px solid var(--line); }
.credibility-facts div { display: grid; gap: .25rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.credibility-facts span { color: var(--muted); font-family: "DM Mono", monospace; font-size: .72rem; text-transform: uppercase; }
.origin-story { display: grid; grid-template-columns: .25fr 1.15fr .6fr; gap: 3rem; align-items: start; border-top: 1px solid var(--line); }
.origin-copy h2 { max-width: 50rem; }
.origin-copy p:not(.eyebrow) { max-width: 51rem; margin-top: 1.25rem; color: var(--muted); }
.origin-copy em, .origin-notes em { color: var(--ink); font-family: "Newsreader", Georgia, serif; }
.origin-notes { display: grid; align-content: start; border-top: 1px solid var(--line); }
.origin-notes div { display: grid; gap: .3rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.origin-notes span { color: var(--ember); font-family: "DM Mono", monospace; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.origin-notes strong { line-height: 1.4; }
.credentials-section { display: grid; grid-template-columns: .25fr .75fr 1fr; gap: 3rem; align-items: start; border-top: 1px solid var(--line); }
.credentials-copy > p:last-child { max-width: 42rem; margin-top: 1.25rem; color: var(--muted); }
.credential-grid { display: grid; gap: .8rem; }
.credential-badge { min-height: 8rem; display: grid; grid-template-columns: 6rem 1fr; gap: 1.2rem; align-items: center; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; color: var(--ink); background: rgba(247,241,229,.45); text-decoration: none; transition: transform 180ms ease, background 180ms ease; }
.credential-badge:hover { transform: translateY(-3px); background: rgba(247,241,229,.72); }
.credential-badge img { width: 5.5rem; max-height: 5.5rem; margin-inline: auto; object-fit: contain; }
.credential-badge span { display: grid; gap: .25rem; }
.credential-badge strong { font-size: 1rem; }
.credential-badge small, .credential-note { color: var(--muted); line-height: 1.5; }
.credential-ledger { grid-column: 2 / 4; display: grid; grid-template-columns: 1.25fr .75fr; gap: 1rem; }
.credential-ledger > div { padding: 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(247,241,229,.32); }
.credential-ledger ul { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 1.5rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.credential-ledger li { position: relative; padding-left: 1rem; color: var(--ink); line-height: 1.45; }
.credential-ledger li::before { position: absolute; left: 0; color: var(--ember); content: "•"; }
.credential-ledger > div > p:not(.eyebrow) { margin-top: 1rem; color: var(--muted); }
.credential-ledger a { display: inline-block; margin-top: 1rem; color: var(--ink); font-weight: 700; text-underline-offset: .2em; }
.credential-note { grid-column: 2 / 4; font-size: .83rem; }
.capabilities-section { border-top: 1px solid var(--line); }
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.capability-grid article { min-height: 20rem; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.capability-grid article:nth-child(3n) { border-right: 0; }
.capability-grid article:nth-last-child(-n+3) { border-bottom: 0; }
.capability-grid span { color: var(--ember); font-family: "DM Mono", monospace; font-size: .78rem; }
.capability-grid h3 { margin: 4rem 0 1rem; }
.capability-grid p { color: var(--muted); }
.field-carousel { width: min(100%, 64rem); margin-inline: auto; overflow: hidden; }
.field-carousel-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.field-carousel-controls p { color: var(--muted); font-family: "DM Mono", monospace; font-size: .75rem; letter-spacing: .08em; }
.field-carousel-controls > div { display: flex; gap: .45rem; }
.field-carousel-controls button { width: 2.75rem; height: 2.75rem; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: rgba(247,241,229,.72); cursor: pointer; transition: transform 180ms ease, color 180ms ease, background 180ms ease; }
.field-carousel-controls button:hover, .field-carousel-controls button:focus-visible { color: #f7f1e5; background: var(--teal); transform: translateY(-2px); }
.field-gallery { display: flex; gap: .8rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.field-gallery::-webkit-scrollbar { display: none; }
.field-photo { position: relative; min-width: 100%; min-height: clamp(18rem, 42vw, 32rem); margin: 0; overflow: hidden; border-radius: 1rem; scroll-snap-align: start; background: #15231f; box-shadow: var(--shadow); }
.field-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 520ms cubic-bezier(.2,.7,.2,1), filter 280ms ease; }
.field-photo::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(5,12,10,.76)); pointer-events: none; }
.field-photo figcaption { position: absolute; right: 1rem; bottom: .9rem; left: 1rem; z-index: 1; color: #f7f1e5; font-family: "DM Mono", monospace; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.field-photo:hover img { transform: scale(1.035); filter: saturate(1.08); }
body[data-theme="dark"] .credential-badge { background: rgba(255,255,255,.035); }
body[data-theme="dark"] .credential-badge:hover { background: rgba(255,255,255,.07); }
body[data-theme="dark"] .credential-ledger > div { background: rgba(255,255,255,.025); }
.study-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 3rem; border: 1px solid var(--line); }
.study-grid article { min-height: 22rem; padding: 1.5rem; border-right: 1px solid var(--line); }
.study-grid article:last-child { border: 0; }
.study-grid article > span { color: var(--ember); font-family: "DM Mono", monospace; }
.study-grid h3 { margin: 5rem 0 1rem; }
.study-grid p { color: var(--muted); }
.values-band { width: min(1420px, calc(100% - 1.5rem)); margin: 3rem auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; padding: clamp(3rem, 7vw, 7rem); border-radius: 2rem; color: #f2eddf; background: #314943; }
.values-band .eyebrow { color: #b8d382; }
.values-band ol { margin: 0; padding: 0; list-style: none; }
.values-band li { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid rgba(255,255,255,.18); color: #d1d9d4; }
.values-band li span { color: #b8d382; font-family: "DM Mono", monospace; font-size: .7rem; }
.about-close { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; align-items: center; }
.about-close-photo { max-height: 36rem; overflow: hidden; border-radius: 50% 50% .8rem .8rem; }
.about-close-photo img { width: 100%; height: 100%; object-fit: cover; }
.about-close > div:last-child > p:not(.eyebrow) { max-width: 45rem; margin-top: 1.4rem; color: var(--muted); }

/* Credentials */
.credentials-hero { min-height: 43rem; display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.credentials-hero h1 { max-width: 10ch; }
.credentials-hero-copy { position: relative; z-index: 1; }
.credential-signal-card { position: relative; display: grid; padding: 1.6rem; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius); overflow: hidden; color: #f2eddf; background: #26332e; box-shadow: var(--shadow); }
.credential-signal-card::after { content: ""; position: absolute; width: 15rem; height: 15rem; right: -8rem; top: -8rem; border: 2rem solid rgba(128,188,37,.16); border-radius: 50%; }
.credential-signal-card .eyebrow { color: #b9d27f; }
.credential-signal-card div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; align-items: baseline; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.credential-signal-card strong { color: #d7e9ad; font-family: "Newsreader", Georgia, serif; font-size: 2.4rem; line-height: 1; white-space: nowrap; }
.credential-signal-card span { color: #d4d9d3; }
.credential-signal-card > p:last-child { margin-top: 1.2rem; color: #aeb9b2; font-size: .78rem; }
.credential-proof-section { border-top: 1px solid var(--line); }
.verified-credential-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.verified-credential-card { --credential-accent: var(--moss); position: relative; min-height: 27rem; display: flex; flex-direction: column; padding: 1.6rem; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: rgba(247,241,229,.42); box-shadow: var(--shadow); }
.verified-credential-card::before { content: ""; position: absolute; inset: 0 0 auto; height: .38rem; background: var(--credential-accent); }
.credential-pmp { --credential-accent: #d5a23e; }.credential-avixa { --credential-accent: #588eaa; }.credential-isc2 { --credential-accent: #5b9369; }.credential-ai { --credential-accent: #7a5fbd; }
.credential-monogram { width: 5rem; height: 5rem; display: grid; place-items: center; margin-bottom: 2rem; border: 1px solid currentColor; border-radius: 50%; color: var(--credential-accent); font: 500 .86rem/1 "DM Mono", monospace; letter-spacing: .04em; box-shadow: inset 0 0 0 .5rem rgba(255,255,255,.25); }
.credential-state { margin-bottom: .7rem; color: var(--moss-dark); font: 500 .7rem/1.45 "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.verified-credential-card h3 { max-width: 18ch; }
.verified-credential-card > p:not(.credential-state) { margin-top: .55rem; color: var(--muted); }
.verified-credential-card ul { display: flex; gap: .4rem; flex-wrap: wrap; margin: 1.3rem 0 0; padding: 0; list-style: none; }
.verified-credential-card li { padding: .42rem .58rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .7rem; }
.verified-credential-card > a { align-self: flex-start; margin-top: auto; padding-top: 2rem; font-weight: 700; text-underline-offset: .22rem; }
.platform-ledger { width: min(1420px, calc(100% - 1.5rem)); margin: 4rem auto; display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 6vw, 6rem); padding: clamp(3rem, 7vw, 7rem); border-radius: 2rem; color: #f2eddf; background: #1c2522; }
.platform-ledger-intro { align-self: start; position: sticky; top: 7rem; }
.platform-ledger-intro .eyebrow { color: #b7d083; }
.platform-ledger-intro > p:last-child { max-width: 34rem; margin-top: 1.5rem; color: #aeb8b2; }
.platform-ledger-groups { display: grid; }
.platform-ledger-groups article { padding: 2rem 0; border-top: 1px solid rgba(255,255,255,.17); }
.platform-ledger-groups article:last-child { border-bottom: 1px solid rgba(255,255,255,.17); }
.platform-ledger-groups article > span { color: #b7d083; font: 500 .7rem/1.4 "DM Mono", monospace; letter-spacing: .09em; text-transform: uppercase; }
.platform-ledger-groups h3 { margin-top: .45rem; }
.platform-ledger-groups ul { display: grid; gap: .75rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.platform-ledger-groups li { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; padding-top: .75rem; border-top: 1px dashed rgba(255,255,255,.12); }
.platform-ledger-groups strong { color: #f4f0e6; line-height: 1.4; }
.platform-ledger-groups small { color: #aeb8b2; font-size: .76rem; line-height: 1.5; }
.capability-map-section { border-top: 1px solid var(--line); }
.credential-capability-map { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); }
.credential-capability-map article { min-height: 18rem; padding: 1.6rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.credential-capability-map article:nth-child(2n) { border-right: 0; }.credential-capability-map article:nth-last-child(-n+2) { border-bottom: 0; }
.credential-capability-map span { color: var(--ember); font: 500 .74rem/1 "DM Mono", monospace; }
.credential-capability-map h3 { margin: 3.5rem 0 1rem; }
.credential-capability-map p { color: var(--muted); }
.academic-momentum { width: min(1420px, calc(100% - 1.5rem)); margin: 4rem auto; display: grid; grid-template-columns: 1fr .5fr .8fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; padding: clamp(3rem, 6vw, 6rem); border-radius: 2rem; color: #27221d; background: #d8c3ab; }
.academic-momentum .eyebrow { color: #7b452b; }
.academic-momentum > div:first-child > p:last-child { max-width: 36rem; margin-top: 1.2rem; color: #5f5147; }
.academic-score { display: grid; justify-items: start; }
.academic-score strong { font-family: "Newsreader", Georgia, serif; font-size: clamp(5rem, 10vw, 8rem); font-weight: 600; letter-spacing: -.07em; line-height: .75; }
.academic-score span { margin-top: 1rem; font: 500 .74rem/1 "DM Mono", monospace; letter-spacing: .09em; text-transform: uppercase; }
.academic-score small { margin-top: .7rem; color: #6b584c; }
.academic-momentum ul { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.academic-momentum li { padding: .85rem 0; border-bottom: 1px solid rgba(39,34,29,.18); }
.academic-momentum li strong { display: block; font-weight: 700; }
.academic-momentum li small { display: block; margin-top: .2rem; color: #69584c; font-size: .74rem; line-height: 1.45; }
.credential-cta { max-width: 58rem; margin-inline: auto; text-align: center; }
.credential-cta > p:not(.eyebrow) { max-width: 46rem; margin: 1.4rem auto 0; color: var(--muted); }
.credential-cta .hero-actions { justify-content: center; }
body[data-theme="dark"] .verified-credential-card { background: rgba(255,255,255,.035); }
body[data-theme="dark"] .credential-monogram { box-shadow: inset 0 0 0 .5rem rgba(255,255,255,.04); }

/* On-prem AI */
.page-ai { --paper: #e8e7df; --paper-bright: #f3f2ea; --moss: #9fbd54; --moss-dark: #49683b; }
.ai-hero { min-height: 82vh; display: grid; grid-template-columns: 1.08fr .92fr; gap: 5rem; align-items: center; }
.ai-hero h1 { max-width: 12ch; }
.ai-node-map { position: relative; aspect-ratio: 1; max-width: 39rem; width: 100%; margin-inline: auto; border: 1px solid rgba(23,25,18,.18); border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 3.8rem, rgba(23,25,18,.12) 3.9rem 4rem), conic-gradient(from 20deg, rgba(128,188,37,.18), transparent 30%, rgba(38,125,120,.18), transparent 68%, rgba(102,80,165,.18)); animation: breathe 8s ease-in-out infinite; }
.ai-node-map::before, .ai-node-map::after { content: ""; position: absolute; inset: 15%; border: 1px dashed var(--teal); border-radius: 50%; animation: spin 30s linear infinite; }
.ai-node-map::after { inset: 33%; border-color: var(--violet); animation-direction: reverse; }
.ai-node-map b { position: absolute; inset: 42%; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--ink); font-family: "DM Mono", monospace; font-size: .65rem; letter-spacing: .1em; }
.node { position: absolute; z-index: 2; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper-bright); box-shadow: var(--shadow); font-family: "DM Mono", monospace; font-size: .65rem; text-transform: uppercase; }
.node-a { top: 7%; left: 44%; }.node-b { top: 45%; right: 0; }.node-c { bottom: 8%; left: 40%; }.node-d { top: 46%; left: -2%; }
.ai-proof-strip { width: var(--content); margin-inline: auto; display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.ai-proof-strip p { padding: 1.2rem; border-right: 1px solid var(--line); font-family: "DM Mono", monospace; font-size: .72rem; text-align: center; text-transform: uppercase; }
.ai-proof-strip p:last-child { border: 0; }
.fit-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 3rem; }
.fit-grid article { min-height: 24rem; padding: 1.5rem; border: 1px solid var(--line); border-right: 0; }
.fit-grid article:last-child { border-right: 1px solid var(--line); }
.fit-grid span { color: var(--teal); font-family: "DM Mono", monospace; }
.fit-grid h3 { margin: 7rem 0 1rem; }
.fit-grid p { color: var(--muted); }
.ai-service-room { width: min(1420px, calc(100% - 1.5rem)); margin: 3rem auto; display: grid; grid-template-columns: .7fr 1.3fr; gap: 5rem; padding: clamp(3rem, 7vw, 7rem); border-radius: 2rem; color: white; background: #243630; }
.ai-service-room .eyebrow { color: #b8d382; }
.ai-service-list { border-top: 1px solid rgba(255,255,255,.22); }
.ai-service-list article { display: grid; grid-template-columns: .3fr .65fr 1fr; gap: 1.5rem; padding: 1.4rem 0; border-bottom: 1px solid rgba(255,255,255,.22); align-items: baseline; }
.ai-service-list span { color: #b8d382; font-family: "DM Mono", monospace; font-size: .7rem; text-transform: uppercase; }
.ai-service-list p { color: #c6d0ca; }
.ai-boundaries { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; border-top: 1px solid var(--line); }
.ai-boundaries div:last-child { display: grid; gap: 1.2rem; color: var(--muted); font-size: 1.05rem; }
.ai-close { width: min(1120px, calc(100% - 2.5rem)); margin: 3rem auto 8rem; padding: clamp(3rem, 8vw, 8rem); border-radius: 50% 50% 1rem 1rem; color: white; text-align: center; background: radial-gradient(circle at 50% 0, rgba(159,189,84,.45), transparent 25%), #4c3f73; }
.ai-close .eyebrow { color: #d4e6ac; }.ai-close h2 { margin-inline: auto; max-width: 14ch; }.ai-close > p:not(.eyebrow) { max-width: 42rem; margin: 1.5rem auto 2rem; color: #d8d2e8; }

/* Protected tools and login */
.page-tools .site-header, .page-login .site-header { position: relative; }
.tools-shell, .login-shell { min-height: 72vh; }
.tools-topbar { margin-bottom: 2rem; }
.tools-topbar h1, .login-info h1 { max-width: 10ch; }
.tools-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.tools-note { display: grid; align-content: start; gap: 1rem; }
.tools-note ul, .tools-list { margin: 0; padding-left: 1.1rem; line-height: 1.75; }
.tools-card { min-height: 22rem; }
.tools-card:not([class*="palette-"]) { color: var(--ink); background: rgba(247,241,229,.72); }
.tools-card-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1rem; }
.tools-card .card-kicker { margin-bottom: 3rem; }
.status-pill { flex: none; padding: .45rem .65rem; border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.48); }
.status-live { color: #335813; background: #dbeabf; }.status-map { color: #324b63; background: #d6e2e9; }.status-research { color: #76502c; background: #ead8c0; }
.tools-list { margin-top: 1rem; color: currentColor; opacity: .75; }
.login-info { display: grid; gap: 2rem; align-content: start; }
.tools-card.local-model-card { color: #eef0e9; background: #2a382f; border-color: rgba(255,255,255,.13); }
.local-model-card .card-kicker { color: #a8cc68; }
.tool-card-links { display: flex; align-items: center; gap: .65rem 1rem; flex-wrap: wrap; }
.business-link-secondary { opacity: .78; font-size: .82rem; }
.business-link-secondary:hover { opacity: 1; }
.connected-tools { display: grid; grid-template-columns: .7fr 1.3fr; gap: 3rem; margin-top: 4rem; padding-top: 3rem; border-top: 1px solid var(--line); }
.connected-tools > div:first-child > p:last-child { margin-top: 1rem; color: var(--muted); }
.connected-tool-links { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); }
.connected-tool-links a { min-height: 7rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1.2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 700; }
.connected-tool-links a:nth-child(2n) { border-right: 0; }
.connected-tool-links a:nth-last-child(-n+2) { border-bottom: 0; }
.connected-tool-links a:hover { background: rgba(102,80,165,.1); }
.model-project-link { display: inline-flex; margin-top: 1rem; }
.tools-card.trash-stash-card { color: #efe8dc; background: #3c3126; border-color: rgba(255,255,255,.12); }
.trash-stash-card .card-kicker { color: #e1aa54; }
.projects-hero { min-height: 62vh; display: grid; grid-template-columns: 1fr .72fr; gap: 5rem; align-items: end; }
.projects-hero h1 { max-width: 11ch; }
.projects-intro { max-width: 38rem; padding: 1.5rem; border-left: 1px solid var(--line); color: var(--muted); }
.page-projects #tech-stash, .page-projects .legacy-project-anchor { scroll-margin-top: 7rem; }
.legacy-project-anchor { display: block; height: 0; pointer-events: none; }
.project-tabs { display: flex; gap: .55rem; flex-wrap: wrap; margin: 1.5rem 0 2rem; }
.project-tab { padding: .7rem 1rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: rgba(247,241,229,.5); text-decoration: none; font-size: .82rem; font-weight: 700; }
.project-tab[aria-current="page"] { color: #f5eee0; border-color: #3c3126; background: #3c3126; }
.project-feature { display: grid; grid-template-columns: .8fr 1.2fr; min-height: 35rem; overflow: hidden; border-radius: 1.5rem; color: #efe8dc; background: #3c3126; box-shadow: var(--shadow); }
.project-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(2rem, 5vw, 5rem); }
.project-feature-copy .eyebrow { color: #e1aa54; }
.project-feature-copy > p:not(.eyebrow) { margin: 1.2rem 0; color: #d5cabd; }
.project-feature-visual { position: relative; display: grid; place-items: center; min-height: 30rem; overflow: hidden; background: radial-gradient(circle at 62% 38%, rgba(225,170,84,.4), transparent 9%), repeating-linear-gradient(125deg, transparent 0 34px, rgba(239,232,220,.08) 35px 36px), #241d17; }
.project-community { display: flex; align-items: end; justify-content: space-between; gap: 3rem; border-top: 1px solid var(--line); }
.project-community > div { max-width: 48rem; }
.project-community > div > p:last-child { margin-top: 1.2rem; color: var(--muted); }
.stash-window { width: min(80%, 34rem); padding: 1.4rem; border: 1px solid rgba(239,232,220,.2); border-radius: 1rem; background: rgba(60,49,38,.84); box-shadow: 0 2rem 5rem rgba(0,0,0,.28); transform: rotate(2deg); }
.stash-window-head { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(239,232,220,.16); }
.stash-parts { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; margin-top: 1rem; }
.stash-part { min-height: 6rem; padding: .85rem; border: 1px solid rgba(239,232,220,.12); border-radius: .6rem; color: #d8cbbd; background: rgba(255,255,255,.035); font-family: "DM Mono", monospace; font-size: .74rem; }
.model-shell { display: grid; gap: 1rem; }
.model-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: end; }
.model-intro h1 { max-width: 10ch; }
.model-intro > div:first-child > p:last-child { max-width: 49rem; margin-top: 1.25rem; color: var(--muted); }
.model-status-card { display: flex; gap: 1rem; align-items: center; padding: 1.3rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.3); }
.model-status-card .micro-label { margin: 0 0 .25rem; }
.model-status-card small { display: block; margin-top: .25rem; color: var(--muted); }
.model-status-dot { width: .8rem; height: .8rem; flex: none; border-radius: 50%; background: #8a867b; box-shadow: 0 0 0 .35rem rgba(138,134,123,.13); }
.model-status-dot[data-state="online"] { background: #6da332; box-shadow: 0 0 0 .35rem rgba(109,163,50,.15); }
.model-status-dot[data-state="warning"] { background: #d19a3d; }.model-status-dot[data-state="offline"] { background: #a94840; }
.model-console { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(247,241,229,.76); box-shadow: var(--shadow); }
.model-transcript { min-height: 24rem; max-height: 48rem; display: grid; align-content: start; gap: 1rem; padding: clamp(1.25rem, 3vw, 2.5rem); overflow-y: auto; }
.model-message { max-width: min(78%, 50rem); padding: 1rem 1.1rem; border-radius: 1rem; }
.model-message span { display: block; margin-bottom: .35rem; font-family: "DM Mono", monospace; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.model-message p { white-space: pre-wrap; }
.model-message-system, .model-message-assistant { justify-self: start; background: #e3dfd3; }
.model-message-user { justify-self: end; color: white; background: #4d3f78; }
.model-form { padding: 1rem; border-top: 1px solid var(--line); background: rgba(255,255,255,.3); }
.model-form textarea { resize: vertical; min-height: 7rem; }
.model-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .75rem; }
.model-form-actions .form-status { margin-right: auto; }
.model-safety-note { display: grid; grid-template-columns: .3fr 1fr; gap: 2rem; margin-top: 1rem; padding: 1.3rem; border-top: 1px solid var(--line); color: var(--muted); }

.reveal-on-scroll { opacity: 0; transform: translateY(34px) scale(.985); transition: opacity 700ms cubic-bezier(.2,.8,.2,1), transform 700ms cubic-bezier(.2,.8,.2,1); }
.reveal-on-scroll.is-visible { opacity: 1; transform: none; }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes spin-reverse { to { transform: rotate(-360deg); } }
@keyframes breathe { 50% { transform: scale(1.025); } }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes ambient-drift { to { transform: translate3d(5rem, 3rem, 0) scale(1.12); } }
@keyframes star-warp { 0% { opacity: 0; transform: rotate(var(--angle)) translateX(1rem) scaleX(.04); } 18% { opacity: .95; } 100% { opacity: 0; transform: rotate(var(--angle)) translateX(78vmax) scaleX(4); } }
@keyframes portal-bloom { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.1); } 40% { opacity: 1; } 100% { opacity: 1; transform: translate(-50%,-50%) scale(85); } }
@keyframes av-product-flight { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.04) rotate(-16deg); } 16% { opacity: .95; } 68% { opacity: .9; } 100% { opacity: 0; transform: translate(var(--end-x), var(--end-y)) scale(5.4) rotate(var(--spin)); } }
@keyframes av-tunnel-flight { 0% { transform: scale(.38) rotate(0); opacity: .45; } 100% { transform: scale(1.3) rotate(18deg); opacity: 1; } }
@keyframes av-core-flight { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.12); } 38% { opacity: 1; } 100% { opacity: 1; transform: translate(-50%,-50%) scale(16); } }
@keyframes av-signal-break { 0% { clip-path: inset(8% 0 56% 0); transform: translateX(-1.5vw); } 50% { clip-path: inset(46% 0 12% 0); transform: translateX(2vw); } 100% { clip-path: inset(18% 0 20% 0); transform: translateX(-.5vw); } }
@keyframes av-signal-repair { 0% { opacity: 1; filter: blur(0); } 60% { opacity: .75; filter: blur(1px); } 100% { opacity: 0; filter: blur(5px); } }

@media (max-width: 1050px) {
  .site-header { border-radius: 1.3rem; align-items: flex-start; }
  .nav-toggle { display: inline-flex; }
  .site-nav { position: absolute; top: calc(100% + .5rem); left: 0; right: 0; display: none; padding: .6rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--paper-bright); box-shadow: var(--shadow); }
  .site-nav.is-open { display: grid; }
  .site-nav a { padding: .9rem 1rem; }
  .site-nav .nav-cta { margin: 0; }
  .hero, .about-hero, .credentials-hero, .platform-ledger, .academic-momentum, .ai-hero, .profile-band, .portal-break, .values-band, .ai-service-room, .ai-boundaries, .model-intro, .projects-hero, .project-feature, .connected-tools { grid-template-columns: 1fr; }
  .platform-ledger-intro { position: static; }
  .about-portrait { width: min(100%, 32rem); margin-inline: auto; }
  .hero { padding-top: 6rem; }.portal-stage { min-height: 32rem; }.portal-note { right: 8%; }
  .intro-grid, .credibility-grid, .origin-story, .credentials-section { grid-template-columns: .3fr 1fr; }.intro-grid .section-deck, .credibility-facts, .origin-notes { grid-column: 2; }.origin-copy { grid-column: 2; }.credential-grid, .credential-ledger, .credential-note { grid-column: 2; }
  .service-grid, .business-grid { grid-template-columns: 1fr; }.service-card { min-height: 25rem; }.service-number { margin-bottom: 3rem; }
  .portal-break-art { min-height: 32rem; }.profile-image { border-radius: var(--radius) var(--radius) 0 0; }.profile-copy { border-radius: 0 0 var(--radius) var(--radius); }
  .study-grid, .fit-grid, .capability-grid { grid-template-columns: repeat(2, 1fr); }.study-grid article:nth-child(2) { border-right: 0; }.study-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.fit-grid article { border: 1px solid var(--line); }.capability-grid article, .capability-grid article:nth-child(3n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.capability-grid article:nth-child(2n) { border-right: 0; }.capability-grid article:nth-last-child(-n+2) { border-bottom: 0; }
  .ai-service-list article { grid-template-columns: .3fr 1fr; }.ai-service-list article p { grid-column: 2; }
}

@media (max-width: 720px) {
  :root { --content: min(100% - 1.25rem, 1240px); }
  h1, .about-intro h1 { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(2.8rem, 14vw, 4.8rem); }.section { padding-block: 4.5rem; }.page-home #home, .page-about .about-hero, .page-credentials .credentials-hero, .page-ai .ai-hero, .page-projects .projects-hero, .page-tools .tools-shell, .page-login .login-shell, .page-model .model-shell { padding-top: 3.5rem; }
  .brand-logo { width: 10.5rem; height: 2rem; }.brand-circle-logo { width: 2.35rem; height: 2.35rem; background-size: 16rem 10.67rem; background-position: -2.6rem -3.87rem; }.brand-symbol { width: 2rem; height: 2rem; }.brand-word { font-size: 1.02rem; }
  .entry-title { max-width: 19ch; font-size: clamp(2.25rem, 9vw, 3.45rem); }.entry-overlay { top: 1rem; min-height: 0; }.entry-mark { margin-bottom: .45rem; transform: scale(.88) rotate(-12deg); transform-origin: left center; }.entry-overlay .eyebrow { margin-bottom: .45rem; }.entry-actions { gap: .5rem; margin-top: .85rem; }.entry-control { padding: .72rem .9rem; font-size: .82rem; }.entry-skip { margin-top: .55rem; }
  .hero { gap: 1rem; }.portal-stage { min-height: 25rem; transform: scale(.78); margin-block: -2rem; }.signal-strip { margin-top: 2.5rem; }
  .intro-grid, .credibility-grid, .origin-story, .credentials-section, .split-heading, .about-close, .schedule-layout, .contact-layout, .login-layout, .tools-grid, .model-safety-note { grid-template-columns: 1fr; gap: 1.5rem; }
  .verified-credential-grid, .credential-capability-map { grid-template-columns: 1fr; }
  .credential-capability-map article, .credential-capability-map article:nth-child(2n), .credential-capability-map article:nth-last-child(-n+2) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .credential-capability-map article:last-child { border-bottom: 0; }
  .platform-ledger, .academic-momentum { width: calc(100% - .75rem); padding: 2rem; }
  .platform-ledger-groups li { grid-template-columns: 1fr; gap: .25rem; }
  .academic-score strong { font-size: 6rem; }
  .intro-grid .section-deck, .credibility-facts, .origin-copy, .origin-notes, .credential-grid, .credential-ledger, .credential-note { grid-column: 1; }.credential-ledger { grid-template-columns: 1fr; }.credential-ledger ul { grid-template-columns: 1fr; }.split-heading { align-items: start; }
  .portal-break, .values-band, .ai-service-room { width: calc(100% - .75rem); }.portal-break-copy, .values-band, .ai-service-room { padding: 2rem; }
  .profile-image { min-height: 28rem; }.profile-copy { padding: 2rem; }
  .study-grid, .fit-grid, .capability-grid { grid-template-columns: 1fr; }.study-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }.study-grid h3, .fit-grid h3 { margin-top: 3rem; }.fit-grid article { min-height: 19rem; }.capability-grid article, .capability-grid article:nth-child(2n), .capability-grid article:nth-child(3n), .capability-grid article:nth-last-child(-n+2) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }.capability-grid article:last-child { border-bottom: 0; }.capability-grid h3 { margin-top: 2.5rem; }
  .about-portrait p { right: 0; }.about-close-photo { max-height: 28rem; }
  .ai-proof-strip { grid-template-columns: 1fr; }.ai-proof-strip p { border-right: 0; border-bottom: 1px solid var(--line); }.ai-node-map { margin-top: 2rem; }
  .ai-service-list article { grid-template-columns: 1fr; }.ai-service-list article p { grid-column: 1; }.ai-close { border-radius: 10rem 10rem 1rem 1rem; padding-top: 7rem; }
  .slot-grid { grid-template-columns: 1fr; }.site-footer { grid-template-columns: 1fr; align-items: start; }.footer-links { flex-wrap: wrap; }
  .footer-easter-egg { align-items: center; padding-top: 1rem; }.signature-doodle { transform: scale(.86) rotate(-2deg); transform-origin: right center; }
  .model-message { max-width: 92%; }.model-form-actions { align-items: stretch; flex-direction: column; }.model-form-actions .button { width: 100%; }
  .connected-tool-links { grid-template-columns: 1fr; }.connected-tool-links a, .connected-tool-links a:nth-child(2n), .connected-tool-links a:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }.connected-tool-links a:last-child { border-bottom: 0; }
  .project-community { align-items: flex-start; flex-direction: column; }
  .field-photo { min-height: 15rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal-on-scroll { opacity: 1; transform: none; }
}
