/* VYRITY-007A • ZenTech public refresh
   Al's canonical ZenTech Brand System v2.0, Sep 15 2026.
   References existing approved Vyrity artwork and installed final font files.
   This stylesheet intentionally loads LAST, after legacy font/nav overrides.
   No database, routing, authentication, assessment, or admin changes.
*/
@font-face{font-family:"Vyrity";src:url('/assets/fonts/vyrity/Vyrity-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Vyrity";src:url('/assets/fonts/vyrity/Vyrity-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--zen-brand:"Vyrity","Montserrat",system-ui,sans-serif;--zen-reading:"Source Sans Pro","Segoe UI",system-ui,sans-serif}
/* Shared pages — update the existing visual system rather than replacing behavior. */
body{background-attachment:fixed}
.public-header{box-shadow:0 3px 25px rgba(8,36,65,.045)}
.public-header .brand-link{gap:.7rem}
.public-header .brand-word{font-family:var(--zen-brand)!important;font-weight:700!important;font-size:1.07rem;letter-spacing:.095em!important}
.public-header .public-nav>a:hover,.public-header .nav-style-summary:hover,.public-header .sign-in:hover{color:var(--zen-ink)!important}
.public-header .nav-button,.button-primary{transition:transform .24s ease,box-shadow .24s ease,filter .24s ease}
.public-header .nav-button:hover,.button-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(65,204,216,.17)}
/* Theme-respecting heading and surface improvements across existing public pages. */
body .content-title,body .hero-copy h1,body .story-grid h2,body .door-card h2,body .story-section h2,body .blog-card h2,body .blog-empty h2{font-family:var(--zen-brand)!important;font-weight:400!important;letter-spacing:-.036em!important}
body .content-title{font-size:clamp(2.85rem,5.6vw,5.35rem)!important;line-height:1.02!important;max-width:930px;text-wrap:balance}
body .content-hero{position:relative;isolation:isolate;padding:clamp(76px,8vw,114px) 0 100px}
body .content-hero:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 82% 0%,rgba(190,142,226,.11),transparent 43%),radial-gradient(ellipse at 8% 26%,rgba(54,201,222,.09),transparent 44%)}
body .content-lead{max-width:800px;font-size:clamp(1.17rem,1.55vw,1.38rem)}
body .story-grid article,body .door-card,body .notice-card,body .blog-card,body .blog-empty{border-radius:27px;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
body .story-grid article:hover,body .door-card:hover,body .blog-card:hover{transform:translateY(-4px);border-color:rgba(100,196,218,.35);box-shadow:var(--zen-shadow-soft)}
body .auth-card{border-radius:27px;background:var(--zen-surface)!important}
body .auth-card label,body .auth-card input{font-family:var(--zen-reading)!important}
body .auth-card input{border-radius:14px}
body .button{font-family:"Montserrat",system-ui,sans-serif!important;font-weight:600}
body .button-secondary{border:1px solid var(--zen-line)}
body .eyebrow{letter-spacing:.14em}
body .step-num{color:var(--zen-cyan)}
body .public-footer{background:var(--zen-header);backdrop-filter:blur(16px)}
/* Home — its own scoped composition, with the theme selector kept active. */
.zen-home{overflow:hidden}
.zen-home h1,.zen-home h2,.zen-home h3{font-family:var(--zen-brand)!important;letter-spacing:-.044em!important;font-weight:400!important}
.zen-home h1{font-size:clamp(3.3rem,6.15vw,7.25rem)!important;line-height:.99!important;margin:22px 0 24px;letter-spacing:-.052em!important}
.zen-home h2{font-size:clamp(2.65rem,4.65vw,4.85rem);line-height:1.06}
.zen-home h3{font-size:1.52rem;line-height:1.2}
.zen-home p{color:var(--zen-muted)}
.zen-glow-text{background:linear-gradient(105deg,var(--zen-ink) 0%,var(--zen-cyan) 37%,var(--zen-lav) 72%,var(--zen-mauve) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.zen-eyebrow{display:flex;gap:11px;align-items:center;margin:0 0 12px;color:var(--zen-cyan)!important;font:700 .73rem/1.3 "Montserrat",system-ui,sans-serif!important;letter-spacing:.17em;text-transform:uppercase}
.zen-spark{height:2px;width:27px;flex:0 0 27px;background:linear-gradient(90deg,var(--zen-cyan),var(--zen-lav));box-shadow:0 0 16px rgba(114,237,240,.4);border-radius:10px}
.zen-hero{min-height:720px;position:relative;isolation:isolate;display:flex;align-items:center;padding:86px 0 104px}
.zen-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:34px;align-items:center;position:relative;z-index:2}
.zen-hero-copy{max-width:690px}
.zen-hero-lead{font-size:clamp(1.24rem,1.7vw,1.55rem);line-height:1.52;font-weight:600;color:var(--zen-ink)!important;max-width:635px;margin:0 0 12px}
.zen-hero-desc{font-size:1.08rem;line-height:1.76;max-width:620px;margin:0}
.zen-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:31px}
.zen-pill{font-size:.91rem!important;min-height:54px;padding:14px 23px!important;border-radius:999px!important;text-decoration:none;font-weight:700!important;display:inline-flex;align-items:center;gap:11px;justify-content:center}
.zen-pill span{font-size:1.12rem}
.zen-hero-note{font:600 .79rem/1.5 "Montserrat",system-ui,sans-serif!important;color:var(--zen-muted-2)!important;margin:22px 0 0;display:flex;align-items:center;gap:9px}
.zen-note-dot{width:7px;height:7px;background:var(--zen-cyan);box-shadow:0 0 13px var(--zen-cyan);border-radius:50%}
.zen-ambient{pointer-events:none;position:absolute;filter:blur(60px);opacity:.20;border-radius:50%;z-index:-1;animation:zen-drift 15s ease-in-out infinite alternate}
.zen-ambient-cyan{width:min(560px,55vw);aspect-ratio:1;left:-16%;top:-15%;background:#4fe4ec}
.zen-ambient-lav{width:min(520px,45vw);aspect-ratio:1;right:-12%;top:2%;background:#ce98dc;animation-delay:-6s}
.zen-hero-art{position:relative;height:min(580px,47vw);min-height:420px;display:grid;place-items:center;isolation:isolate}
.zen-hero-art:before{content:"";position:absolute;inset:15%;border-radius:50%;background:conic-gradient(from 40deg,rgba(114,237,240,.31),rgba(197,181,255,.35),rgba(232,168,216,.38),rgba(114,237,240,.31));filter:blur(62px);opacity:.76;z-index:-1}
.zen-orbit{display:block;position:absolute;border:1px solid var(--zen-line);border-radius:50%;pointer-events:none;box-shadow:inset 0 0 36px rgba(131,159,238,.03)}
.zen-orbit-one{width:100%;aspect-ratio:1;max-width:570px}
.zen-orbit-two{width:82%;aspect-ratio:1;max-width:470px;border-color:rgba(162,150,225,.33)}
.zen-orbit-three{width:65%;aspect-ratio:1;max-width:374px;border-color:rgba(88,204,214,.4)}
.zen-symbol-disc{position:relative;z-index:3;width:min(58%,320px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 36% 22%,rgba(255,255,255,.17),transparent 39%),var(--zen-bg-2);border:1px solid rgba(150,191,214,.3);box-shadow:0 0 0 11px rgba(114,237,240,.035),0 0 55px rgba(51,196,215,.16),0 0 112px rgba(186,148,224,.13),0 28px 55px rgba(12,28,51,.14);overflow:hidden;animation:zen-breathe 8s ease-in-out infinite alternate}
.zen-symbol-disc img{width:100%;height:100%;object-fit:contain;display:block}
.zen-orbit-tag{position:absolute;z-index:5;white-space:nowrap;color:var(--zen-ink);font:600 .78rem/1.2 "Montserrat",system-ui,sans-serif!important;padding:12px 17px;border-radius:999px;background:var(--zen-surface-solid);border:1px solid var(--zen-line);box-shadow:var(--zen-shadow-soft);backdrop-filter:blur(16px)}
.zen-tag-a{top:24%;left:-2%}.zen-tag-b{top:20%;right:-7%}.zen-tag-c{bottom:13%;right:3%}
.zen-triad{position:relative;border-top:1px solid var(--zen-line);border-bottom:1px solid var(--zen-line);background:linear-gradient(90deg,rgba(51,196,215,.08),rgba(149,135,217,.085),rgba(232,168,216,.085))}
.zen-triad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.zen-triad-grid>div{padding:34px 31px;position:relative}
.zen-triad-grid>div:not(:last-child):after{content:"";height:57%;width:1px;right:0;top:21%;position:absolute;background:var(--zen-line)}
.zen-triad-index{font:700 .69rem/1.2 "Montserrat",system-ui,sans-serif;color:var(--zen-muted-2);text-transform:uppercase;letter-spacing:.16em}
.zen-triad h2{font-size:1.65rem!important;letter-spacing:-.03em!important;margin:9px 0}.zen-triad h2 span{color:var(--zen-cyan)}
.zen-triad-grid>div:nth-child(2) h2 span{color:var(--zen-lav)}.zen-triad-grid>div:nth-child(3) h2 span{color:var(--zen-mauve)}
.zen-triad p{font-size:.96rem;line-height:1.6;margin:0;max-width:370px}
.zen-section{padding:105px 0;position:relative}
.zen-story-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(45px,8vw,120px);align-items:center}
.zen-story-copy h2{margin:15px 0 22px}.zen-story-copy>p:not(.zen-eyebrow){font-size:1.11rem;line-height:1.76;max-width:570px}
.zen-text-link{display:inline-flex;gap:12px;align-items:center;color:var(--zen-cyan);text-decoration:none;font:700 .93rem "Montserrat",system-ui,sans-serif;margin-top:17px;border-bottom:1px solid currentColor;padding-bottom:6px}
.zen-text-link:hover{color:var(--zen-lav)}
.zen-story-art{position:relative;min-height:425px;display:grid;place-items:center;isolation:isolate}
.zen-story-aura{position:absolute;inset:13%;background:radial-gradient(ellipse at center,rgba(114,237,240,.14),rgba(197,181,255,.12) 36%,transparent 67%);filter:blur(16px)}
.zen-story-core{height:240px;width:240px;border-radius:50%;border:1px solid rgba(135,202,217,.36);background:radial-gradient(circle at 40% 28%,rgba(114,237,240,.33),transparent 42%),radial-gradient(circle at 80% 72%,rgba(232,168,216,.24),transparent 45%),var(--zen-surface);box-shadow:0 0 0 28px rgba(125,156,196,.03),0 0 0 67px rgba(125,156,196,.025),0 24px 80px rgba(8,33,62,.13);display:grid;place-items:center}
.zen-story-inner-dot{width:65px;height:65px;border-radius:50%;background:var(--zen-gradient);box-shadow:0 0 40px rgba(114,237,240,.28)}
.zen-story-card{position:absolute;z-index:2;width:180px;height:120px;border-radius:22px;display:flex;flex-direction:column;justify-content:center;gap:11px;padding:22px;background:var(--zen-surface-solid);border:1px solid var(--zen-line);box-shadow:var(--zen-shadow-soft);transform:rotate(-9deg)}
.zen-story-card-a{top:3%;left:1%}.zen-story-card-b{right:0;bottom:2%;transform:rotate(9deg)}
.zen-story-line{height:8px;background:var(--zen-gradient);border-radius:8px;width:90%}.zen-story-line.short{width:47%;opacity:.65}.zen-story-line.medium{width:68%;opacity:.45}
.zen-story-star{font-size:2.2rem;color:var(--zen-lav);line-height:1}.zen-story-wave{height:7px;width:83%;background:var(--zen-gradient);border-radius:8px}.zen-story-wave.shorter{width:54%;opacity:.45}
.zen-doors{background:linear-gradient(180deg,transparent,rgba(113,154,202,.045) 35%,rgba(186,141,207,.055) 75%,transparent)}
.zen-section-head{text-align:center;max-width:770px;margin:0 auto 43px}.zen-section-head .zen-eyebrow{justify-content:center}.zen-section-head h2{margin:13px 0 19px}.zen-section-head p:not(.zen-eyebrow){font-size:1.14rem;line-height:1.72}
.zen-doors-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.zen-door{position:relative;min-height:272px;padding:24px 23px 23px;display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;background:var(--zen-surface);border:1px solid var(--zen-line);border-radius:25px;box-shadow:var(--zen-shadow-soft);backdrop-filter:blur(16px);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.zen-door:hover{transform:translateY(-6px);border-color:rgba(93,201,213,.42);box-shadow:0 20px 45px rgba(33,91,140,.13)}
.zen-door:focus-visible{outline:3px solid var(--zen-cyan);outline-offset:4px}
.zen-door-number{position:absolute;right:24px;top:24px;color:var(--zen-muted-2);font:700 .69rem "Montserrat",system-ui,sans-serif;letter-spacing:.16em}
.zen-door-symbol{font:400 2rem/1 var(--zen-brand)!important;color:var(--zen-cyan);width:49px;height:49px;border-radius:16px;background:var(--zen-cyan-soft);display:grid;place-items:center;margin-bottom:20px}
.zen-door:nth-child(3n+2) .zen-door-symbol{color:var(--zen-lav);background:rgba(155,132,208,.12)}
.zen-door:nth-child(3n) .zen-door-symbol{color:var(--zen-mauve);background:rgba(232,168,216,.12)}
.zen-door h3{font-size:1.4rem;margin:0 0 12px;color:var(--zen-ink)}
.zen-door p{font-size:.93rem;line-height:1.6;margin:0 0 19px}
.zen-door-arrow{margin-top:auto;color:var(--zen-cyan);font:700 .79rem "Montserrat",system-ui,sans-serif;display:inline-flex;gap:9px}
.zen-section-foot{text-align:center;margin-top:30px}
.zen-final{padding:105px 0 120px;background:radial-gradient(ellipse at 50% 35%,rgba(118,213,232,.11),transparent 49%),radial-gradient(ellipse at 64% 64%,rgba(208,154,221,.10),transparent 40%)}
.zen-final-inner{text-align:center;max-width:800px}.zen-final-inner .zen-eyebrow{justify-content:center}.zen-final h2{margin:15px 0 21px}.zen-final p:not(.zen-eyebrow){font-size:1.13rem;line-height:1.75;max-width:640px;margin:0 auto}.zen-final .zen-actions{justify-content:center}
@keyframes zen-drift{to{transform:translate3d(22px,18px,0) scale(1.06)}}
@keyframes zen-breathe{to{transform:translateY(-7px);box-shadow:0 0 0 11px rgba(114,237,240,.045),0 0 68px rgba(51,196,215,.21),0 0 112px rgba(186,148,224,.18),0 28px 55px rgba(12,28,51,.14)}}
/* Light mode keeps the same visual language at reduced luminance; dark stays canonical midnight. */
html[data-theme="light"] .zen-glow-text{background-image:linear-gradient(105deg,#153a5e 0%,#168698 39%,#7463bc 69%,#aa658f 100%)}
html[data-theme="light"] .zen-eyebrow,html[data-theme="light"] .zen-text-link,html[data-theme="light"] .zen-door-arrow{color:#167b92!important}
html[data-theme="light"] .zen-door:nth-child(3n+2) .zen-door-symbol{color:#7463bc}
html[data-theme="light"] .zen-door:nth-child(3n) .zen-door-symbol{color:#aa658f}
html[data-theme="light"] .zen-triad h2 span{color:#167b92}
html[data-theme="light"] .zen-triad-grid>div:nth-child(2) h2 span{color:#7463bc}
html[data-theme="light"] .zen-triad-grid>div:nth-child(3) h2 span{color:#aa658f}
html[data-theme="light"] .zen-story-core{background:radial-gradient(circle at 40% 28%,rgba(114,237,240,.33),transparent 42%),radial-gradient(circle at 80% 72%,rgba(232,168,216,.24),transparent 45%),#fff}
@media(max-width:1150px){.zen-doors-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.zen-hero-grid{gap:18px}.zen-orbit-tag{font-size:.7rem}.zen-tag-b{right:-4%}}
@media(max-width:960px){.zen-hero-grid{grid-template-columns:1fr}.zen-hero{padding:74px 0 42px}.zen-hero-copy{max-width:800px}.zen-hero-art{width:min(610px,100%);height:500px;min-height:0;margin:0 auto}.zen-story-grid{grid-template-columns:1fr;gap:20px}.zen-story-art{max-width:620px;width:100%;margin:auto;order:2}.zen-story-copy{order:1}.zen-doors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zen-triad-grid>div{padding:28px 21px}}
@media(max-width:680px){.zen-home h1{font-size:clamp(3.15rem,12vw,5.25rem)!important}.zen-home h2{font-size:clamp(2.65rem,9vw,3.85rem)}.zen-hero{padding:57px 0 45px}.zen-hero-art{width:min(100%,460px);height:390px}.zen-tag-a{left:0;top:18%}.zen-tag-b{right:0;top:21%}.zen-tag-c{right:1%;bottom:10%}.zen-orbit-tag{font-size:.65rem;padding:9px 12px}.zen-triad-grid{grid-template-columns:1fr}.zen-triad-grid>div{padding:23px 5px}.zen-triad-grid>div:not(:last-child):after{top:auto;bottom:0;left:0;right:0;width:100%;height:1px}.zen-section{padding:72px 0}.zen-doors-grid{grid-template-columns:1fr}.zen-door{min-height:235px}.zen-story-art{min-height:360px}.zen-story-core{height:204px;width:204px}.zen-story-card{width:148px;height:101px;padding:18px}.zen-final{padding-bottom:90px}.zen-actions .button{width:100%}}
@media(max-width:385px){.zen-hero-art{height:330px}.zen-orbit-tag{font-size:.59rem;padding:7px 9px}.zen-story-card{width:130px}.zen-hero-lead{font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){.zen-home *, .zen-home *::before,.zen-home *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
