@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#182b29;--muted:#63746f;--accent:#184f43;--soft:#e8efeb;--paper:#f5f7f3;--border:#dce3dc;--on-accent:#fff;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,select,input,textarea{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}p{line-height:1.65}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}aside{padding:35px 23px;display:flex;flex-direction:column;border-right:1px solid var(--border);background:#fff}.brand{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.7px;margin-bottom:54px}.brand strong{font-weight:400}.mark{display:grid;place-items:center;background:var(--accent);color:var(--on-accent);width:34px;height:34px;border-radius:10px;font-weight:800;font-size:28px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin:0 0 12px}.aside-bottom{margin-top:auto;padding-top:55px;font-size:12px}.aside-bottom small{display:block;color:var(--muted);margin-top:24px}aside select{width:100%;border:1px solid var(--border);border-radius:9px;padding:11px;color:var(--ink);background:white}nav{margin-top:25px;display:flex;flex-direction:column;gap:7px}nav button{text-align:left;background:none;border:0;border-radius:9px;padding:12px;font-weight:500;color:var(--muted)}nav button.active{background:var(--soft);color:var(--accent)}main{max-width:1550px;width:100%;padding:44px 48px 70px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--border);padding-bottom:27px;margin-bottom:32px}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-1px}h1{font-size:33px;line-height:1.25;margin:0}h2{font-size:23px;margin:0 0 16px}h3{font-size:17px;letter-spacing:-.4px;margin:0 0 12px}.muted,small{color:var(--muted)}button.primary,.primary-link{display:inline-block;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);padding:12px 18px;border-radius:9px;font-weight:600}.secondary{border:1px solid var(--border);background:white;color:var(--ink);padding:10px 15px;border-radius:8px}.danger{color:#913930}.card{border:1px solid var(--border);background:#fff;border-radius:15px;padding:27px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.wide{grid-column:1/-1}.hero{padding:40px;background:var(--accent);color:var(--on-accent);border-radius:17px;margin-bottom:27px;position:relative;overflow:hidden}.hero p{max-width:600px;opacity:.85}.hero h2{font-size:36px;max-width:620px;margin-top:8px}.hero .eyebrow{color:inherit;opacity:.7}.hero .primary-link{background:white;color:#183b32;border-color:white}.hero::after{content:'a';position:absolute;right:40px;bottom:-135px;font-weight:800;font-size:340px;opacity:.06;pointer-events:none}.metric{font-size:36px;font-family:Manrope;font-weight:700;letter-spacing:-1px;margin:12px 0}.tag{display:inline-block;background:var(--soft);color:var(--accent);font-size:11px;padding:5px 9px;border-radius:20px;margin:0 5px 8px 0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.stack{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;font-weight:600}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--border);padding:12px;border-radius:8px;background:white;color:var(--ink)}textarea{min-height:150px;resize:vertical;line-height:1.6}input[type=checkbox]{display:inline-block;width:auto;margin:0 8px 0 0}input[type=color]{height:45px;padding:5px}.tabs{display:flex;gap:8px;margin-bottom:25px}.tabs button{border:1px solid var(--border);background:white;border-radius:8px;padding:10px 16px}.tabs button.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.work-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(350px,1.5fr);gap:24px}.source-list{display:grid;gap:10px;margin:18px 0}.source{padding:13px;border:1px solid var(--border);border-radius:9px}.source label{display:flex;align-items:center;gap:5px}.source small{display:block;margin:7px 0 0 23px;font-weight:400}.output{white-space:pre-wrap;font-size:14px;line-height:1.85;overflow-wrap:anywhere;max-height:650px;overflow:auto}.output:empty::before{content:'Your saved answers will appear here.';color:var(--muted)}.history{display:grid;gap:10px;margin-top:20px}.history button{text-align:left;padding:13px;border:1px solid var(--border);border-radius:8px;background:#fff;display:flex;justify-content:space-between;gap:15px}#notice:not(:empty){padding:13px 18px;background:#fff1d6;color:#72500e;border:1px solid #e9d6ad;border-radius:9px;margin-bottom:20px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--border)}th{font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase}dialog{width:min(590px,95vw);border:1px solid var(--border);border-radius:17px;padding:30px;color:var(--ink)}dialog::backdrop{background:#10221f66;backdrop-filter:blur(3px)}.close{float:right;border:0;background:none;font-size:25px;color:var(--muted)}.empty{padding:45px;text-align:center;background:#fff;border:1px dashed var(--border);border-radius:14px}.note{font-size:12px;color:var(--muted);line-height:1.65}.section-gap{margin-top:28px}.download{cursor:pointer;text-decoration:underline;font-size:12px}button:disabled{opacity:.5;cursor:wait}.progress{height:5px;background:var(--soft);border-radius:5px;overflow:hidden;margin:16px 0}.progress span{display:block;height:100%;width:40%;background:var(--accent);animation:pulse 1.6s infinite alternate}@keyframes pulse{to{transform:translateX(130%)}}@media(max-width:950px){.shell{grid-template-columns:210px minmax(0,1fr)}main{padding:30px 25px}.work-grid{grid-template-columns:1fr}.hero h2{font-size:29px}}@media(max-width:650px){.shell{display:block}aside{padding:18px;border-right:0;border-bottom:1px solid var(--border)}.brand{margin-bottom:18px}aside .eyebrow,.aside-bottom small{display:none}nav{flex-direction:row;margin-top:12px;overflow:auto}nav button{white-space:nowrap}.aside-bottom{padding-top:12px;display:flex;justify-content:space-between;align-items:center}.aside-bottom p{margin:0}main{padding:25px 18px}header{align-items:flex-start}h1{font-size:26px}.form-grid{grid-template-columns:1fr}.hero{padding:28px}.hero h2{font-size:28px}.card{padding:20px}.grid{grid-template-columns:1fr}}
.output{white-space:normal}.output h2{font-size:24px;margin-top:28px}.output h3{font-size:19px;margin-top:25px}.output h4,.output h5{font-size:16px;margin-top:22px}.output p{margin:10px 0}.output pre{white-space:pre-wrap;background:var(--paper);padding:15px;border-radius:8px}.output code{font-size:13px;background:var(--paper);padding:2px 4px}.output li{margin:7px 0}.answer-table{overflow:auto}.answer-table th,.answer-table td{min-width:90px;padding:12px;text-transform:none;font-size:13px;vertical-align:top}.answer-table th{font-weight:700}#result-sources{margin-top:15px}#dialog-notice:not(:empty){background:#fff1d6;color:#72500e;padding:12px;border-radius:8px}
.mark img{width:100%;height:100%;object-fit:contain;border-radius:7px;background:white}
:root{--heading-font:Manrope,Arial,sans-serif;--body-font:'DM Sans',Arial,sans-serif}body{font-family:var(--body-font)}h1,h2,h3,h4,h5,.metric{font-family:var(--heading-font)}#campus-signature{padding:0 0 26px;margin-top:-28px;overflow:hidden}#campus-signature[hidden]{display:none}#campus-signature img{display:block;max-width:100%;max-height:95px;object-fit:contain;object-position:left center;margin-bottom:12px}#campus-signature span{display:block;line-height:1.45;font-size:13px;font-weight:700;color:var(--ink)}.hero.with-photo{display:grid;grid-template-columns:1.2fr 1fr;column-gap:30px;padding-right:0}.hero.with-photo>*:not(.campus-photo){grid-column:1}.hero.with-photo:after{display:none}.campus-photo{grid-column:2;grid-row:1/8;margin:-40px 0 -40px;min-height:280px;position:relative}.campus-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.campus-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#000b;color:white;padding:8px 12px;font-size:10px}.brand-evidence{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--border);font-size:13px}@media(max-width:800px){.hero.with-photo{display:block;padding-right:28px}.campus-photo{height:230px;margin:24px -28px -28px;min-height:0}.brand-evidence{grid-template-columns:1fr}.hero.with-photo .campus-photo img{position:static;height:230px}}
#proposal-banner{font-size:11px;letter-spacing:.3px;line-height:1.6;padding:11px 15px;margin-bottom:24px;border-left:3px solid var(--accent);background:var(--soft);color:var(--ink)}#proposal-banner[hidden]{display:none}
#campus-signature img.reverse-wordmark{box-sizing:border-box;background:var(--accent);padding:18px;border-radius:4px;max-height:125px;min-height:75px;width:100%}

.hero nav.row{flex-direction:row;flex-wrap:wrap}.hero nav a[aria-current="page"]{border-color:currentColor;font-weight:700}

/* The college owns the visual identity. Ace is the service attribution. */
.hero::after{content:none!important;display:none!important}
.institution-branded .brand{display:none}
.institution-branded aside{background:var(--accent);color:var(--on-accent);border-right:0;padding-top:32px}
.institution-branded aside .eyebrow,.institution-branded aside .aside-bottom,.institution-branded aside .aside-bottom small{color:var(--on-accent)}
.institution-branded #campus-signature{margin:0 0 34px;padding:0 0 26px;border-bottom:1px solid color-mix(in srgb,var(--on-accent) 25%,transparent)}
.institution-branded #campus-signature img{width:100%;padding:16px;background:var(--logo-background,#fff);border-radius:0;max-height:130px;object-position:center}
.institution-branded #campus-signature img.reverse-wordmark{background:transparent;padding:4px 0;min-height:58px}
.institution-branded #campus-signature span{color:var(--on-accent);font-family:var(--heading-font);font-size:17px;line-height:1.35;margin-top:18px;font-weight:600;letter-spacing:0}
.institution-branded aside select{border-radius:2px;font-size:13px;padding:13px 10px}
.institution-branded aside nav button{color:var(--on-accent);border-radius:2px}
.institution-branded aside nav button.active{background:color-mix(in srgb,var(--on-accent) 16%,transparent);color:var(--on-accent)}
.institution-branded .powered-by{border-top:1px solid color-mix(in srgb,var(--on-accent) 25%,transparent);padding-top:18px;font-size:11px;letter-spacing:.7px}
.institution-branded main{padding-top:28px}
.institution-branded header{margin-bottom:24px;padding-bottom:20px}
.institution-branded header h1{font-size:22px;letter-spacing:-.4px}
.institution-branded .hero{border-radius:0;padding:48px;min-height:420px}
.institution-branded .hero.with-photo{grid-template-columns:1fr 1fr;column-gap:38px;padding-right:0}
.institution-branded .hero h2{font-size:clamp(35px,3.5vw,56px);line-height:1.04;letter-spacing:-1.8px;max-width:540px;margin-top:12px;margin-bottom:16px}
.institution-branded .hero p{font-size:15px;line-height:1.7;max-width:520px}
.institution-branded .hero .eyebrow{font-size:10px;letter-spacing:2.2px}
.institution-branded .hero .primary-link,.institution-branded .hero button,.institution-branded .hero .secondary{border-radius:2px}
.institution-branded .campus-photo{grid-row:1/12;margin:-48px 0 -48px;min-height:420px}
.school-hero-wordmark{width:340px;max-width:100%;background:var(--logo-background,#fff);padding:14px 20px;margin-bottom:28px;position:relative;z-index:1}
.school-hero-wordmark img{display:block;width:100%;max-width:min(330px,100%);height:auto;max-height:82px;object-fit:contain;object-position:left center}
.school-hero-wordmark.reverse{padding:0;background:transparent}
.school-hero-wordmark.reverse img{width:100%;max-width:380px;min-height:48px}
.institution-branded .card{border-radius:3px;border-top:3px solid color-mix(in srgb,var(--accent) 65%,white)}
.institution-branded .tag{border-radius:1px;letter-spacing:.5px}
.institution-branded #proposal-banner{border:0;border-top:3px solid var(--accent);padding:9px 0;background:transparent;margin-bottom:19px;font-size:10px;letter-spacing:.55px}
@media(max-width:1000px){.institution-branded .hero{padding:30px}.institution-branded .hero.with-photo{column-gap:24px}.institution-branded .campus-photo{margin:-30px 0 -30px}.school-hero-wordmark img{max-width:100%}.institution-branded .hero h2{font-size:38px}}
@media(max-width:800px){.institution-branded .hero.with-photo{display:block;padding-right:30px}.institution-branded .campus-photo{height:250px;min-height:0;margin:30px -30px -30px}.institution-branded .hero.with-photo .campus-photo img{height:250px}.school-hero-wordmark{max-width:85%}}
@media(max-width:650px){.institution-branded aside{padding:22px}.institution-branded #campus-signature{margin-bottom:14px;padding-bottom:16px;display:flex;align-items:center;gap:20px}.institution-branded #campus-signature[hidden]{display:none}.institution-branded #campus-signature img{width:150px;max-height:90px;margin:0}.institution-branded #campus-signature span{margin:0;font-size:14px}.institution-branded .powered-by{border:0;padding:0}.institution-branded header h1{font-size:19px}.institution-branded .hero h2{font-size:37px}.institution-branded .hero{min-height:0}.institution-branded .aside-bottom{padding-top:12px}}

.institution-branded .tag{color:var(--ink);background:var(--soft)}

.about-campus{display:block;margin-top:16px;font-size:11px}

/* The same safe page renderer powers school previews and published pages. */
.page-editor-grid{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr);gap:24px;align-items:start}.page-editor-grid aside{position:sticky;top:20px;min-width:0}.page-editor-grid fieldset{border:1px solid var(--border);margin:15px 0;padding:16px;display:grid;gap:12px}.page-editor-grid details>label{display:grid;gap:6px;margin-top:12px}.page-live-preview{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg,#f5f5ef)}.school-page p{white-space:pre-line}.school-page-hero{display:grid;grid-template-columns:1fr;min-height:360px;background:var(--accent);color:var(--on-accent,#fff)}.school-page-hero.has-photo{grid-template-columns:1.1fr 1fr}.school-page-copy{padding:clamp(22px,4vw,60px);align-self:center}.school-page-copy h2{font-size:clamp(30px,4vw,62px);line-height:1.08;letter-spacing:-1.7px;margin:18px 0}.school-page-copy>p{max-width:65ch}.school-page-copy .primary-link{display:inline-block;background:#fff;color:#162c25;padding:12px 20px;margin-top:12px}.school-page-logo{display:block;max-width:260px;width:auto;max-height:100px;background:var(--logo-background,#fff);padding:12px;margin-bottom:24px}.school-page-hero figure{margin:0;position:relative;min-width:0}.school-page-hero figure>img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}.school-page-hero figcaption{position:absolute;bottom:0;background:#0009;color:#fff;padding:8px 12px;font-size:11px;width:100%}.school-page-roles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.school-page-section{margin-top:22px}.layout-editorial .school-page-hero{display:flex;flex-direction:column-reverse}.layout-editorial .school-page-hero figure>img{height:310px;min-height:0}.page-live-preview .school-page-copy{padding:25px}.page-live-preview .school-page-copy h2{font-size:35px}.page-live-preview .school-page-hero.has-photo{grid-template-columns:1fr}.page-live-preview .school-page-hero figure>img{height:230px;min-height:0}.page-live-preview .school-page-roles{grid-template-columns:1fr;margin:15px}.page-live-preview .school-page-section{margin:15px}.page-live-preview .school-page-logo{max-width:180px;max-height:75px}@media(max-width:1050px){.page-editor-grid{grid-template-columns:1fr}.page-editor-grid aside{position:static}}@media(max-width:650px){.school-page-hero.has-photo,.school-page-roles{grid-template-columns:1fr}.school-page-hero figure>img{min-height:230px;max-height:330px}.school-page-copy h2{font-size:38px}}
