:root{--silver:#d9e0ea;--pearl:#f1f4f8}.landing{background:#071225;color:var(--pearl)}.landing a{color:inherit;text-decoration:none}.landing-nav{height:auto;min-height:80px;gap:20px}.landing-nav nav{display:flex;align-items:center;gap:25px;font-size:13px;color:#d1dbea}.landing-nav .nav-cta,.cta{display:inline-block;background:#d9e0ea;color:#101d31!important;padding:14px 22px;border-radius:10px;font-weight:750}.landing main{max-width:none;padding:0}.landing-hero{padding:115px max(7vw,24px) 110px;max-width:1350px;margin:auto}.landing-hero h1{font:clamp(55px,7.5vw,105px)/1.04 Georgia,serif;letter-spacing:-2px;margin:22px 0}.landing-hero h1 em{color:#d0d9e5;font-weight:normal}.landing-hero p{font-size:clamp(17px,2vw,22px);line-height:1.65;max-width:700px;color:#b9c8d9}.landing .eyebrow{color:#c6d5e6;letter-spacing:3px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px}.secondary-cta{border-bottom:1px solid #8fa3ba;padding:10px 0}.hero-foot{font-size:11px;color:#9eafc5;letter-spacing:2px;margin-top:85px}.landing-section{padding:85px max(7vw,24px);border-top:1px solid #243755;max-width:1500px;margin:auto;scroll-margin-top:80px}.landing-section h2,.end-cta h2{font:clamp(32px,4vw,56px)/1.15 Georgia,serif;margin:15px 0 20px}.intro{max-width:760px;color:#b9c8d9;line-height:1.7}.four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:35px}.four-grid article,.faculty-cards article,.plans article{border:1px solid #30435f;border-radius:18px;padding:25px;background:#0e203b}.four-grid span{color:#b7c8dd;font-size:12px}.four-grid h3{letter-spacing:2px}.four-grid p,.plans p{color:#b9c8d9;line-height:1.6}.sage-section{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.sage-section>div>p{color:#c1cfe0;line-height:1.8}.trial-note,.fineprint{font-size:12px;color:#a8bad0;line-height:1.7;margin-top:20px}.demo{border:1px solid #45607c;background:#0c1c34;border-radius:24px;padding:22px;box-shadow:0 25px 70px #0005}.demo-heading{display:flex;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid #34465d}.demo-heading small{display:block;color:#a9bad0;margin-top:5px}.sage-icon{border:1px solid #a5b6cc;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font:25px Georgia}.demo-messages{min-height:160px;padding:22px 0;display:flex;flex-direction:column;gap:12px}.demo-sage,.demo-user{border-radius:14px;padding:14px 17px;line-height:1.55;max-width:90%;background:#1a304d}.demo-user{align-self:flex-end;background:#29476c}.demo-choices{display:flex;flex-wrap:wrap;gap:9px}.demo-choices button,.reset{width:auto;margin:0;border-color:#7b91ab;font-size:13px}.demo-choices button:hover,.reset:hover{background:#253e5c}.faculty-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:28px}.faculty-cards b,.faculty-cards span{display:block}.faculty-cards span{color:#b6c6d9;font-size:13px;margin-top:9px}.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:850px}.price{font:38px Georgia,serif;margin:20px 0}.price small{font:12px system-ui;color:#b9c8d9}.plan-status{display:block;font-size:12px;color:#b8c8da;border-top:1px solid #30435f;padding-top:14px}.end-cta{text-align:center;padding:100px 20px;background:#10233e}.end-cta .cta{margin-top:20px}.landing footer{padding:35px 7vw;color:#b9c8d9;font-size:12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #30435f}.home-link{color:#d8e1ed;font-size:13px;text-decoration:none}.landing button:focus-visible,.landing a:focus-visible{outline:3px solid #8dbbff;outline-offset:3px}@media(max-width:900px){.four-grid{grid-template-columns:repeat(2,1fr)}.faculty-cards{grid-template-columns:repeat(3,1fr)}.sage-section{grid-template-columns:1fr}}@media(max-width:600px){.landing-nav{padding:15px 20px}.landing-nav nav{gap:12px}.landing-nav nav a:not(.nav-cta){display:none}.landing-nav .nav-cta{padding:11px;font-size:12px}.landing-hero{padding-top:70px;padding-bottom:70px}.hero-foot{line-height:1.8;margin-top:50px}.four-grid,.faculty-cards,.plans{grid-template-columns:1fr}.landing-section{padding-top:65px;padding-bottom:65px}.landing-hero h1{letter-spacing:-1px}.end-cta{padding:70px 20px}}
.trial-form{display:flex;gap:10px;align-items:stretch}.trial-form textarea{flex:1;min-width:0;resize:vertical;border:1px solid #6d819d;background:#102944;color:#f1f4f8;border-radius:12px;padding:13px;font:inherit}.trial-form button{width:auto;margin:0;padding:12px 17px;background:#d9e0ea;color:#0a1830;border-radius:12px;border:0;font-weight:700}.trial-form button:disabled{opacity:.55}.trial-status{color:#b8c7db;font-size:12px;line-height:1.6}.trial-continue{display:inline-block;margin-top:10px;color:#dbe8f7!important;text-decoration:underline!important}.demo-messages{max-height:390px;overflow-y:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.trial-form{flex-direction:column}.trial-form button{min-height:44px}}
/* Homepage refinement: keep the existing visual design, expose navigation on small screens. */
.landing-nav{flex-wrap:wrap}.landing-nav nav{flex-wrap:wrap}.demo{min-width:0}.demo-messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(390px,45dvh);max-height:min(390px,calc(var(--welcome-viewport,100dvh)*.45))}.demo-sage,.demo-user{white-space:pre-wrap;overflow-wrap:anywhere}.trial-form textarea{font-size:16px;max-height:180px;scroll-margin-block:100px}.trial-form{padding-bottom:env(safe-area-inset-bottom,0px)}#trialHistory summary{cursor:pointer;padding:12px 0;color:#c1cfe0}.landing [hidden]{display:none!important}@media(max-width:600px){.landing-nav{position:relative;gap:14px}.landing-nav nav{width:100%;justify-content:space-between;gap:12px}.landing-nav nav a:not(.nav-cta){display:inline-block}.landing-nav nav a{min-height:44px;display:inline-flex!important;align-items:center}.demo{padding:16px}.demo-messages{min-height:100px}.landing-section{scroll-margin-top:16px}}

/* Existing approved portrait, keeping the welcome heading dimensions. */
.demo-heading .yela-portrait{width:48px;height:48px;flex:0 0 48px;object-fit:cover;object-position:center;border-radius:50%}

/* Compact submit control; preserve the dark homepage and existing form behavior. */
.landing .trial-form{flex-direction:row;align-items:flex-end;gap:10px}
.landing .trial-form textarea{width:0;flex:1 1 0;min-width:0}
.landing .trial-form #trialSend{width:48px;height:48px;min-width:48px;min-height:48px;flex:0 0 48px;border-radius:50%;padding:0;margin:0;display:grid;place-items:center;font-size:26px;line-height:1;background:#D9E0EA;color:#10213A;border:1px solid #D9E0EA}
.landing .trial-form #trialSend:disabled{opacity:1;background:#334761;color:#D9E0EA;border-color:#6D819D;cursor:not-allowed}

/* Ordered homepage navigation; native modal keeps the background non-interactive. */
.landing .landing-nav{flex-wrap:nowrap;position:sticky;top:0;z-index:5;min-height:80px}
.landing #homeMenuOpen{width:auto;min-width:100px;min-height:48px;margin:0;padding:8px 14px;display:flex;align-items:center;gap:8px;color:#F1F4F8;border:1px solid #7B91AB;background:#0C1C34;font:inherit}
.landing #homeMenuOpen span{font-size:30px;line-height:1}
.landing .home-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(90vw,390px);height:100vh;height:100dvh;max-height:none;max-width:none;padding:24px;background:#0C1C34;color:#F1F4F8;border:0;border-left:1px solid #7B91AB;overflow-y:auto;overscroll-behavior:contain}
.landing .home-menu[open]{display:flex;flex-direction:column;gap:16px}
.landing .home-menu::backdrop{background:#020813B8}
.landing .menu-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.landing .menu-heading h2{font:28px Georgia,serif;margin:0}
.landing #homeMenuClose{width:48px;height:48px;min-width:48px;margin:0;padding:0;font-size:30px;color:#F1F4F8;background:#0C1C34;border:1px solid #7B91AB}
.landing .home-menu nav{display:flex;flex-direction:column;gap:8px}
.landing .home-menu nav a{display:flex;align-items:center;min-height:48px;padding:12px;border-radius:8px;border:1px solid #45607C;overflow-wrap:anywhere}
.landing .home-menu nav a:hover{background:#1A304D}
.landing .home-menu .nav-cta{background:#D9E0EA;color:#10213A}
.landing #homeAccessStatus{color:#C1CFE0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.landing .home-menu-backdrop{position:fixed;inset:0;background:#020813B8;z-index:19}
.landing .home-menu{z-index:20}
.landing .landing-section{scroll-margin-top:100px}
.landing .landing-section:focus-visible{outline:3px solid #8DBBFF;outline-offset:-4px}
.landing .trial-composer{position:sticky;bottom:0;background:#0C1C34;padding:8px 0 max(8px,env(safe-area-inset-bottom));z-index:1}
.landing #trialReload{min-height:48px;width:auto;color:#D9E0EA;border:1px solid #7B91AB}
.landing .demo-messages{overflow-anchor:none}
.landing main,.landing #homeContent{min-width:0;max-width:100%}
.landing :is(a,button,textarea,summary):focus-visible{outline:3px solid #8DBBFF;outline-offset:3px}
@media(max-width:600px){.landing .landing-nav{padding:12px 18px;gap:12px;min-height:76px}.landing .landing-section{scroll-margin-top:92px}.landing .home-menu{padding:18px}.landing .trial-form{padding-top:12px}}

/* Welcome composer stays inside its one section, never floats across homepage sections. */
.landing .trial-composer{position:static}
