
:root { --ink:#f4f3ef; --muted:#8b8b86; --black:#050505; --line:rgba(255,255,255,.16); --mx:50vw; --my:30vh; }
* { box-sizing:border-box; }
html { background:var(--black); color:var(--ink); scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--ink); font-family:Arial, Helvetica, sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
::selection { background:#fff; color:#000; }
.site { min-height:100vh; opacity:0; transition:opacity .65s ease; }
.site.is-loaded { opacity:1; }
.ambient { position:fixed; inset:0; pointer-events:none; z-index:0; background:radial-gradient(620px circle at var(--mx) var(--my),rgba(255,255,255,.055),transparent 55%); }
.frame { width:min(100% - 56px, 1440px); margin-inline:auto; position:relative; z-index:1; }
.intro { position:fixed; z-index:100; inset:0; background:#f1f0ec; color:#070707; display:flex; align-items:center; justify-content:center; gap:22px; letter-spacing:.52em; font-size:11px; animation:intro-out .8s cubic-bezier(.76,0,.24,1) .55s forwards; }
.intro .monogram { filter:invert(1); transform:scale(1.2); }
@keyframes intro-out { to { transform:translateY(-102%); visibility:hidden; } }
.nav { height:96px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:50; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:15px; font-size:10px; letter-spacing:.42em; }
.monogram { width:23px; height:28px; position:relative; display:inline-block; flex:0 0 auto; }
.monogram i { position:absolute; display:block; background:#f8f8f5; height:3px; transform:skewX(-38deg); transform-origin:left; }
.monogram i:nth-child(1) { width:19px; left:5px; top:2px; }
.monogram i:nth-child(2) { width:16px; left:5px; top:13px; }
.monogram i:nth-child(3) { width:3px; height:25px; left:3px; top:2px; transform:skewY(-38deg); }
.desktop-nav { display:flex; align-items:center; gap:36px; }
.desktop-nav a { color:#aaa; font-size:11px; letter-spacing:.12em; text-transform:uppercase; transition:color .3s; }
.desktop-nav a:hover { color:#fff; }
.menu-button { display:none; border:0; background:none; width:38px; height:38px; padding:9px; cursor:pointer; }
.menu-button span { height:1px; background:#fff; display:block; margin:7px 0; }
.mobile-menu { display:none; }
.hero { min-height:calc(100svh - 96px); display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr auto; padding-top:10vh; padding-bottom:52px; }
.hero::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:linear-gradient(transparent,var(--line),transparent); }
.hero-kicker { position:absolute; top:42px; left:0; color:var(--muted); text-transform:uppercase; letter-spacing:.24em; font-size:9px; display:flex; align-items:center; gap:10px; }
.line-dot { display:inline-block; width:4px; height:4px; background:#fff; border-radius:50%; }
.hero-mark { position:absolute; right:2vw; top:11vh; opacity:.11; transform:scale(8); transform-origin:center; }
.hero-title { grid-column:1/-1; align-self:end; margin:0 0 10vh; font-weight:400; font-size:clamp(68px,10.5vw,162px); line-height:.84; letter-spacing:-.065em; max-width:1300px; }
.hero-title span { display:block; }
.hero-title-offset { margin-left:13vw; font-family:Georgia, 'Times New Roman', serif; font-style:italic; font-weight:400; letter-spacing:-.075em; color:#c9c8c3; }
.hero-bottom { grid-column:2; display:flex; justify-content:space-between; align-items:flex-end; gap:40px; padding-left:48px; }
.hero-bottom p { margin:0; color:#9a9a96; font-size:13px; line-height:1.65; max-width:420px; }
.text-link { display:inline-flex; align-items:center; white-space:nowrap; gap:9px; padding-bottom:7px; border-bottom:1px solid #777; text-transform:uppercase; letter-spacing:.16em; font-size:9px; transition:border-color .3s,gap .3s; }
.text-link:hover { border-color:#fff; gap:14px; }
.text-link svg,.portal-arrow svg,.circle-link svg { width:16px; fill:none; stroke:currentColor; stroke-width:1.3; }
.scroll-cue { position:absolute; left:-7px; bottom:47px; display:flex; gap:15px; align-items:center; transform:rotate(-90deg); transform-origin:left center; color:#666; font-size:8px; letter-spacing:.22em; text-transform:uppercase; }
.scroll-cue i { display:block; width:42px; height:1px; background:#444; }
.reveal { opacity:0; transform:translateY(26px); animation:reveal .85s cubic-bezier(.22,1,.36,1) forwards; }
.reveal-1 { animation-delay:.7s; }.reveal-2 { animation-delay:.82s; }.reveal-3 { animation-delay:1s; }
@keyframes reveal { to { opacity:1; transform:none; } }
.section-space { padding-block:160px; }
.eyebrow { margin:0; color:#898984; font-size:9px; letter-spacing:.26em; text-transform:uppercase; }
.statement { border-top:1px solid var(--line); }
.statement-copy { margin:78px 0 0 auto; max-width:1130px; font-weight:400; font-size:clamp(42px,6.4vw,96px); line-height:1.02; letter-spacing:-.055em; }
.statement-copy em { font-family:Georgia,serif; font-weight:400; color:#aaa9a4; }
.section-heading { display:flex; justify-content:space-between; align-items:center; padding-bottom:22px; border-bottom:1px solid var(--line); }
.section-number { color:#5d5d5a; font-size:9px; letter-spacing:.18em; }
.portal-row { min-height:138px; display:grid; grid-template-columns:10% 42% 1fr auto; align-items:center; border-bottom:1px solid var(--line); transition:background .45s,padding .45s; }
.portal-row:hover { background:#f0efeb; color:#080808; padding-inline:22px; }
.portal-index { font-size:9px; color:#777; }
.portal-label { font-size:clamp(30px,4vw,58px); letter-spacing:-.045em; }
.portal-note { font-family:Georgia,serif; font-style:italic; color:#8e8e89; font-size:17px; }
.portal-arrow { width:48px; height:48px; border:1px solid currentColor; border-radius:50%; display:grid; place-items:center; }
.manifesto { display:grid; grid-template-columns:1.2fr 1fr; gap:10vw; align-items:center; }
.manifesto-visual { height:min(72vw,780px); position:relative; overflow:hidden; background:#000; }
.manifesto-visual::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.09); }
.manifesto-visual img { width:100%; height:100%; object-fit:cover; filter:contrast(1.08); transform:scale(1.02); transition:transform 1.2s cubic-bezier(.22,1,.36,1); }
.manifesto-visual:hover img { transform:scale(1.06); }
.image-label { position:absolute; bottom:20px; left:20px; z-index:2; font-size:8px; letter-spacing:.2em; color:#777; }
.manifesto-copy h2 { margin:38px 0; font-size:clamp(45px,6vw,88px); font-weight:400; line-height:.95; letter-spacing:-.06em; }
.manifesto-copy>p:not(.eyebrow) { max-width:440px; color:#8e8e89; font-family:Georgia,serif; font-size:18px; line-height:1.7; margin-bottom:45px; }
.closing { border-top:1px solid var(--line); min-height:75vh; display:flex; flex-direction:column; justify-content:center; }
.closing h2 { font-size:clamp(68px,10vw,150px); letter-spacing:-.065em; line-height:.85; font-weight:400; margin:55px 0; }
.circle-link { width:110px; height:110px; border:1px solid #777; border-radius:50%; display:grid; place-items:center; margin-left:auto; transition:background .4s,color .4s,transform .4s; }
.circle-link:hover { background:#fff; color:#000; transform:rotate(45deg); }
.footer { border-top:1px solid var(--line); padding-block:65px 34px; }
.footer-main { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; min-height:150px; }
.footer-main p { font-family:Georgia,serif; font-style:italic; color:#888; font-size:24px; }
.footer-main a { font-size:10px; letter-spacing:.15em; text-transform:uppercase; border-bottom:1px solid #555; padding-bottom:5px; }
.footer-bottom { display:flex; justify-content:space-between; color:#555; font-size:8px; text-transform:uppercase; letter-spacing:.18em; padding-top:25px; border-top:1px solid #181818; }
.page-hero { min-height:75vh; padding-top:15vh; display:grid; grid-template-columns:1fr 3fr; align-content:start; }
.page-index { color:#555; font-size:9px; letter-spacing:.18em; grid-row:1/4; }
.page-hero h1 { margin:50px 0 70px; max-width:1100px; font-size:clamp(70px,11vw,165px); line-height:.85; font-weight:400; letter-spacing:-.07em; }
.page-intro { max-width:570px; color:#91918c; font-family:Georgia,serif; font-size:19px; line-height:1.6; margin:0; }
.content-section { padding-block:80px 160px; }
.content-title { max-width:900px; font-weight:400; font-size:clamp(46px,6vw,88px); letter-spacing:-.055em; line-height:1; margin:38px 0 90px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.feature-card { min-height:420px; padding:34px 34px 40px 0; border-bottom:1px solid var(--line); border-right:1px solid var(--line); display:flex; flex-direction:column; }
.feature-card:nth-child(3n) { border-right:0; padding-left:34px; }.feature-card:nth-child(3n+2) { padding-left:34px; }
.feature-card small { color:#666; font-size:9px; letter-spacing:.18em; }
.feature-card h2 { margin:auto 0 25px; font-size:34px; font-weight:400; letter-spacing:-.04em; }
.feature-card p { color:#858580; line-height:1.65; font-size:13px; max-width:330px; }
.plans { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.plan { min-height:570px; padding:35px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; transition:background .4s,color .4s; }
.plan:last-child { border-right:0; }.plan:hover,.plan.featured { background:#efeee9; color:#080808; }
.plan small { text-transform:uppercase; letter-spacing:.2em; font-size:8px; }
.plan h2 { font-size:40px; font-weight:400; margin:50px 0 15px; }.plan .price { font-family:Georgia,serif; font-size:20px; color:#888; }
.plan ul { list-style:none; padding:0; margin:auto 0 50px; }.plan li { padding:14px 0; border-bottom:1px solid currentColor; opacity:.55; font-size:12px; }
.plan a { display:flex; justify-content:space-between; align-items:center; font-size:9px; letter-spacing:.17em; text-transform:uppercase; }
.faq-list { max-width:1050px; margin-left:auto; border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-question { width:100%; color:inherit; border:0; background:none; padding:33px 0; text-align:left; display:grid; grid-template-columns:60px 1fr auto; cursor:pointer; }
.faq-question small { color:#666; }.faq-question span { font-size:20px; }.faq-question i { font-style:normal; font-size:20px; transition:transform .3s; }
.faq-item.open .faq-question i { transform:rotate(45deg); }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s ease; }.faq-item.open .faq-answer { grid-template-rows:1fr; }
.faq-answer div { overflow:hidden; }.faq-answer p { color:#888; line-height:1.7; max-width:660px; margin:0 0 36px 60px; }
.journal-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.article { background:#050505; min-height:500px; padding:36px; display:flex; flex-direction:column; transition:background .45s,color .45s; }.article:hover { background:#efeee9; color:#090909; }
.article small { font-size:8px; letter-spacing:.2em; text-transform:uppercase; opacity:.5; }.article h2 { margin:auto 0 25px; font-size:clamp(35px,4vw,58px); font-weight:400; letter-spacing:-.05em; line-height:1; }.article p { max-width:480px; font-family:Georgia,serif; color:#888; line-height:1.6; }
.roles { border-top:1px solid var(--line); }.role { min-height:110px; display:grid; grid-template-columns:1fr 2fr 1fr auto; align-items:center; border-bottom:1px solid var(--line); transition:padding .35s,background .35s,color .35s; }.role:hover { padding-inline:20px; background:#efeee9;color:#080808; }.role small { color:#666; }.role h2 { font-size:25px;font-weight:400; }.role span { color:#777;font-size:11px; }.role svg { width:18px; fill:none;stroke:currentColor; }
.empty-note { margin:70px 0 0 auto; max-width:650px; color:#888; font-family:Georgia,serif; font-size:20px; line-height:1.6; }
@media (max-width:900px) {
  .frame { width:min(100% - 34px,1440px); }.nav { height:78px; }.desktop-nav { display:none; }.menu-button { display:block; }
  .mobile-menu { display:flex; position:fixed; inset:0; z-index:40; background:#efeee9; color:#080808; flex-direction:column; padding:120px 28px 40px; transform:translateY(-105%); transition:transform .6s cubic-bezier(.76,0,.24,1); }.mobile-menu.open { transform:none; }.mobile-menu>p { font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:#888;margin-bottom:40px; }.mobile-menu a { font-size:44px;letter-spacing:-.05em;padding:12px 0;border-bottom:1px solid #ccc; }.mobile-menu small { font-size:8px;display:inline-block;width:45px;color:#888; }
  .hero { min-height:calc(100svh - 78px); display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:35px; }.hero::before{display:none}.hero-kicker{top:25px}.hero-title{font-size:clamp(58px,17vw,110px);margin:0 0 50px}.hero-title-offset{margin-left:0}.hero-mark{right:22vw;top:20vh;transform:scale(5)}.hero-bottom{padding:0;display:block}.hero-bottom p{margin-bottom:25px}.scroll-cue{display:none}
  .section-space{padding-block:100px}.statement-copy{margin-top:55px}.portal-row{grid-template-columns:45px 1fr auto;min-height:105px}.portal-note{display:none}.manifesto{grid-template-columns:1fr;gap:70px}.manifesto-visual{height:calc(100vw - 34px)}.closing{min-height:65vh}.circle-link{width:85px;height:85px}.footer-main{grid-template-columns:auto 1fr}.footer-main a{grid-column:1/-1}.footer-bottom{gap:15px;flex-wrap:wrap}
  .page-hero{min-height:70vh;padding-top:12vh;display:block}.page-index{position:absolute;right:0}.page-hero h1{margin:45px 0;font-size:clamp(65px,20vw,120px)}.feature-grid,.plans{grid-template-columns:1fr}.feature-card,.feature-card:nth-child(3n),.feature-card:nth-child(3n+1),.feature-card:nth-child(3n+2){min-height:300px;border-right:0;padding:28px 0}.plan{min-height:500px;border-right:0;padding:30px 0}.plan.featured{padding-inline:25px}.journal-grid{grid-template-columns:1fr}.article{min-height:420px}.role{grid-template-columns:45px 1fr auto}.role span{display:none}.faq-question{grid-template-columns:40px 1fr auto}.faq-answer p{margin-left:40px}
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.intro{display:none}.reveal{opacity:1;transform:none} }

/* Standalone cPanel build */
.static-shell .site.is-loaded { opacity:1; }
