.catalog-section{background:#fff}
.campus-icon{display:block;width:26px;height:26px;flex-shrink:0}
.module-icon,.catalog-product-icon{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:12px;border:1px solid rgba(11,59,117,.08)}
.module-icon{margin-bottom:18px}
.tone-blue{color:#0b4b8c;background:#eaf3ff}
.tone-teal{color:#087769;background:#e5f6f0}
.tone-amber{color:#96600a;background:#fff3d9}
.mini-module .icon-box{color:#0b3b75;background:#fff}
.icon-box .campus-icon,.demo-icon .campus-icon{width:23px;height:23px}
.demo-point .demo-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--blue);color:#fff}
.catalog-product-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.catalog-features{background:#f3f8fa;border-block:1px solid var(--line)}
.catalog-section h2,.catalog-features h2,.catalog-section h3,.catalog-features h3,.catalog-dropdown h3{letter-spacing:0}
.catalog-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.catalog-product{display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--line);border-radius:8px;border-top:3px solid var(--blue)}
.catalog-product[data-category="Services"]{border-top-color:#138276}
.catalog-product h3{font-size:20px;line-height:1.3;margin:8px 0 12px}
.catalog-product p{font-size:16px;margin-bottom:20px}
.catalog-type{font-size:14px;color:#476175;font-weight:600}
.catalog-link{margin-top:auto;color:var(--blue);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.catalog-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.catalog-feature-group{min-width:0}
.catalog-feature-group h3{font-size:20px;line-height:1.4;padding-bottom:14px;border-bottom:3px solid #138276}
.catalog-feature-group details{border-bottom:1px solid #cedce3;padding:0}
.catalog-feature-group summary{padding:13px 4px;font-size:16px;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.catalog-feature-group details p{font-size:16px;margin:0;padding:0 4px 16px}
.catalog-feature-group details[open] summary{color:var(--blue)}
.catalog-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding-block:24px;white-space:nowrap}
.catalog-menu summary::-webkit-details-marker{display:none}
.catalog-menu>summary:after{content:'';width:6px;height:6px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);margin-top:-4px}
.catalog-menu[open]>summary:after{transform:rotate(225deg);margin-top:4px}
.catalog-dropdown{position:absolute;top:100%;left:0;right:0;padding:26px;background:#fff;border:1px solid var(--line);border-radius:0 0 8px 8px;box-shadow:0 18px 30px rgba(11,59,117,.14);max-height:calc(100dvh - 110px);overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.catalog-dropdown-wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-dropdown h3{font-size:16px;line-height:1.4;color:var(--blue);margin-bottom:10px}
.catalog-dropdown a{display:block;padding:6px 8px;font-size:14px;font-weight:500;border-radius:4px;overflow-wrap:anywhere}
.catalog-dropdown a:hover,.catalog-dropdown a:focus-visible{background:var(--blue-soft)}
.catalog-dropdown .catalog-overview{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;font-weight:700}
.catalog-menu:not([open])>.catalog-dropdown{display:none}
.catalog-menu summary:focus-visible,.catalog-feature-group summary:focus-visible,.catalog-link:focus-visible{outline:3px solid #138276;outline-offset:3px}
@media(min-width:1041px) and (max-width:1250px){.nav-actions>a.button.ghost:not(.login-button){display:none}.nav-links{gap:14px}.nav{gap:16px}.brand-logo{width:210px}.nav-actions .button{padding-inline:12px}}
@media(max-width:1040px){.catalog-menu summary{padding:12px 16px}.catalog-dropdown,.catalog-dropdown-wide{position:static;max-height:none;box-shadow:none;border:0;border-radius:0;padding:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-dropdown a{padding:8px}.catalog-products{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-feature-grid{gap:20px}}
@media(max-width:720px){.catalog-products,.catalog-feature-grid,.catalog-dropdown,.catalog-dropdown-wide{grid-template-columns:1fr}.catalog-product{padding:20px}.catalog-feature-grid{gap:30px}}
/* Feature explorer: scoped to the homepage module catalogue. */
#features{background:linear-gradient(110deg,rgba(245,249,255,.95) 0%,rgba(245,249,255,.84) 48%,rgba(245,249,255,.60) 100%),url("/assets/campus-background.webp") center center/cover no-repeat;background-color:#edf4f8;border-block:1px solid #dce7ef}
#features .section-head{max-width:810px;margin-bottom:32px}
#features .section-head h2{color:#142f50;font-weight:800;letter-spacing:-.035em;line-height:1.12}
#features .section-head p{color:#53687e;max-width:680px;line-height:1.75}
#features .eyebrow{color:#1865b9}
#features .feature-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:8px;border:1px solid #dfe8f1;border-radius:20px;background:#eaf0f6;margin-bottom:32px}
#features .tone-blue{--feature-accent:#1b64b3;--feature-tint:#eaf3ff;--feature-border:#b6d2f1}
#features .tone-teal{--feature-accent:#087b72;--feature-tint:#e6f6f1;--feature-border:#addbd2}
#features .tone-violet{--feature-accent:#7053b1;--feature-tint:#f0ebfa;--feature-border:#cec0ea}
#features .feature-tab{display:flex;align-items:center;gap:12px;padding:17px 18px;border:1px solid transparent;border-radius:14px;background:transparent;color:#54687e;cursor:pointer;font:inherit;text-align:left;min-height:76px;transition:background .18s,border-color .18s,box-shadow .18s}
#features .feature-tab[aria-selected="true"]{background:#fff;color:#193954;border-color:var(--feature-border);box-shadow:0 4px 14px #1836560b}
#features .feature-tab:hover{background:#ffffffb8}
#features .feature-tab-icon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:11px;color:var(--feature-accent);background:var(--feature-tint)}
#features .feature-tab-icon .campus-icon{width:23px;height:23px}
#features .feature-tab-label{font-size:15px;font-weight:750;line-height:1.4;flex:1}
#features .feature-tab-count{display:grid;place-items:center;min-width:27px;height:27px;padding:0 5px;border-radius:8px;background:#e1e8f0;color:#52647a;font-size:12px;font-weight:700}
#features .feature-tab[aria-selected="true"] .feature-tab-count{background:var(--feature-tint);color:var(--feature-accent)}
#features .catalog-feature-grid{display:block}
#features .catalog-feature-group{background:transparent;color:#193954;scroll-margin-top:110px}
#features .catalog-feature-group[hidden]{display:none}
#features .feature-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 2px 22px}
#features .feature-kicker{font-size:11px;color:var(--feature-accent);font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px}
#features .feature-panel-heading h3{font-size:24px;color:#193954;margin:0 0 8px;padding:0;border:0;line-height:1.3;font-weight:750}
#features .feature-panel-intro{font-size:14px;color:#586d81;margin:0;max-width:660px;line-height:1.65}
#features .feature-panel-hint{font-size:12px;color:#687b8d;white-space:nowrap}
#features .feature-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
#features .feature-card{padding:0;margin:0;background:#fff;border:1px solid #dfe7ee;border-radius:15px;overflow:hidden;scroll-margin-top:112px;box-shadow:0 3px 9px #163d6503;transition:border-color .18s,box-shadow .18s}
#features .feature-card:hover{border-color:var(--feature-border);box-shadow:0 6px 18px #1836560a}
#features .feature-card summary{display:flex;align-items:center;gap:13px;min-height:86px;padding:17px 16px;list-style:none;font-size:14px;font-weight:650;line-height:1.45;color:#243f59;cursor:pointer;overflow-wrap:normal}
#features .feature-card summary::-webkit-details-marker{display:none}
#features .feature-symbol{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:var(--feature-tint);color:var(--feature-accent)}
#features .feature-symbol .campus-icon{width:23px;height:23px}
#features .feature-card-name{flex:1;min-width:0}
#features .feature-expand{position:relative;flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#f2f5f9;color:#7c8ea0}
#features .feature-expand:before,#features .feature-expand:after{content:'';position:absolute;top:9px;left:6px;width:8px;height:1.5px;background:currentColor}
#features .feature-expand:after{transform:rotate(90deg)}
#features .feature-card[open]{border-color:var(--feature-border);box-shadow:0 5px 16px #1836560b}
#features .feature-card[open] summary{color:var(--feature-accent)}
#features .feature-card[open] .feature-expand{color:var(--feature-accent);background:var(--feature-tint)}
#features .feature-card[open] .feature-expand:after{display:none}
#features .feature-card p.feature-card-description{margin:0 16px;padding:14px 0 18px;border-top:1px solid #e8edf3;font-size:13px;color:#52677b;line-height:1.75}
#features .feature-tab:focus-visible,#features .catalog-feature-group:focus-visible{outline:3px solid #176eb6;outline-offset:3px}
#features .feature-card summary:focus-visible{outline:3px solid var(--feature-accent);outline-offset:-4px;border-radius:13px}
@media(max-width:1000px){#features .feature-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#features .feature-tab{padding:13px 10px;gap:8px}#features .feature-tab-label{font-size:13px}#features .feature-panel-hint{display:none}}
@media(max-width:620px){#features .feature-tabs{gap:5px;padding:5px;border-radius:16px;margin-bottom:24px}#features .feature-tab{position:relative;flex-direction:column;gap:8px;justify-content:flex-start;text-align:center;padding:12px 7px;min-height:113px;border-radius:12px}#features .feature-tab-label{font-size:12px;line-height:1.35;flex:0}#features .feature-tab-count{position:absolute;top:7px;right:6px;min-width:20px;height:20px;border-radius:6px;font-size:10px}#features .feature-tab-icon{width:34px;height:34px}#features .feature-cards{grid-template-columns:1fr;gap:10px}#features .feature-card summary{min-height:77px;padding:14px 15px}#features .feature-panel-heading h3{font-size:22px}#features .section-head h2{font-size:31px}#features .section-head p{font-size:15px}#features .feature-panel-intro{font-size:13px}}
@media(prefers-reduced-motion:reduce){#features .feature-tab,#features .feature-card{transition:none}}

/* Keep category descriptions legible over the campus photograph. */
#features .feature-panel-heading{padding:20px 22px;background:rgba(255,255,255,.90);border:1px solid rgba(221,231,240,.9);border-radius:16px}
#features .feature-tabs{background:rgba(234,240,246,.94)}
@media(max-width:620px){#features{background-position:65% center}#features .feature-panel-heading{padding:17px 18px}}

/* Products and services: campus backdrop with readable foreground panels. */
#products-services{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,rgba(239,247,255,.89),rgba(243,249,252,.78) 55%,rgba(232,244,242,.82)),url('/assets/campus-entry.webp') center top/cover no-repeat;border-block:1px solid #dbe7ef}
#products-services:before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 8% 12%,rgba(61,142,206,.12),transparent 48%),radial-gradient(ellipse at 94% 78%,rgba(9,134,117,.12),transparent 48%)}
#products-services .section-head{padding:30px 34px;max-width:820px;background:rgba(255,255,255,.94);border:1px solid rgba(212,228,239,.95);border-left:4px solid #0b4b8c;border-radius:20px;box-shadow:0 12px 32px rgba(20,56,88,.06)}
#products-services .section-head h2{color:#142f50}
#products-services .section-head p{color:#425b72;line-height:1.8}
#products-services .catalog-products{gap:22px}
#products-services .catalog-product{background:rgba(255,255,255,.97);border-radius:18px;border-color:#d5e3ed;border-top:3px solid #155594;box-shadow:0 8px 25px rgba(20,56,88,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
#products-services .catalog-product[data-category="Services"]{border-top-color:#138276}
#products-services .catalog-product:hover{transform:translateY(-4px);border-color:#8eb7d5;box-shadow:0 16px 32px rgba(20,56,88,.12)}
#products-services .catalog-product h3{color:#15344f}
#products-services .catalog-product p{color:#486176;line-height:1.7}
#products-services .catalog-product-icon{box-shadow:0 4px 12px rgba(19,83,139,.07)}
#products-services .catalog-link{font-size:15px}
@media(max-width:720px){#products-services{background-position:62% top}#products-services .section-head{padding:24px 22px;border-radius:16px}#products-services .catalog-products{gap:16px}}
@media(prefers-reduced-motion:reduce){#products-services .catalog-product{transition:none}#products-services .catalog-product:hover{transform:none}}

/* Campus consultation form. */
#demo .campus-enquiry{padding:32px;background:#fff;box-shadow:0 24px 60px rgba(16,53,86,.15)}
#demo .enquiry-heading{display:flex;align-items:flex-start;gap:14px;padding-bottom:20px;border-bottom:1px solid #e2ebf2}
#demo .enquiry-mark{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:15px;color:#145a95;background:#eaf4ff}
#demo .enquiry-kicker{font-size:10px;font-weight:800;letter-spacing:.1em;color:#08786e}
#demo .enquiry-heading h3{font-size:25px;line-height:1.25;color:#15354f;margin:7px 0 9px;letter-spacing:-.025em}
#demo .enquiry-heading p{font-size:14px;line-height:1.7;color:#536b80;margin:0}
#demo .enquiry-required{font-size:12px;color:#62788c;margin:15px 0 23px}
#demo .enquiry-required span,#demo .field label>span{color:#127a70}
#demo .enquiry-group{min-width:0;margin:0 0 24px;padding:0;border:0}
#demo .enquiry-group legend{display:flex;gap:10px;align-items:center;width:100%;font-size:15px;font-weight:750;color:#193b58;margin-bottom:17px;padding:0}
#demo .enquiry-group legend>span{display:grid;place-items:center;min-width:26px;height:26px;border-radius:8px;background:#edf5fb;color:#235c8c;font-size:11px}
#demo .field label{font-size:13px;font-weight:700}#demo .field label small{font-size:11px;font-weight:400;color:#6b7e8f}
#demo .field input,#demo .field select,#demo .field textarea{font:inherit;font-size:15px;border-radius:11px;min-width:0;border-color:#c9d9e6;background:#f8fbfd}
#demo .field input:focus,#demo .field select:focus,#demo .field textarea:focus{background:white;outline:3px solid #bce4e5;outline-offset:1px;border-color:#147e83}
#demo .enquiry-hint{font-size:13px;line-height:1.65;color:#536b80;margin:-3px 0 12px}
#demo .enquiry-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:19px}
#demo .enquiry-options label{display:flex;gap:9px;align-items:center;min-height:45px;padding:9px 11px;border:1px solid #dce6ee;border-radius:10px;background:#f9fbfd;color:#36536a;font-size:12px;font-weight:650;cursor:pointer}
#demo .enquiry-options input{width:16px;height:16px;accent-color:#097c72;flex-shrink:0}
#demo .enquiry-options label:has(input:checked){border-color:#71bbb1;background:#ecf8f4;color:#07675e}
#demo .enquiry-options label:focus-within{outline:3px solid #bce4e5;outline-offset:2px}
#demo .enquiry-send{border-top:1px solid #e2ebf2;padding-top:20px}#demo .form-actions{margin-top:0;display:grid;grid-template-columns:1.25fr 1fr;gap:10px}#demo .form-actions .button{font-size:13px;padding:13px 10px;gap:8px}
#demo .form-note{font-size:12px;line-height:1.75;color:#4d677e;margin:15px 0 10px}
#demo .enquiry-terms{font-size:11px;color:#63798a;line-height:1.7;margin:0}#demo .enquiry-terms a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1041px){#demo .demo-grid{align-items:start}#demo .demo-grid>div:first-child{position:sticky;top:125px}}
@media(max-width:720px){#demo .campus-enquiry{padding:24px 20px}#demo .enquiry-heading{gap:11px}#demo .enquiry-mark{width:40px;height:40px}#demo .enquiry-heading h3{font-size:23px}#demo .form-actions{grid-template-columns:1fr}#demo .enquiry-options label{font-size:12px;padding:10px 8px}}
@media(max-width:360px){#demo .enquiry-options{grid-template-columns:1fr}}

#enquiryEmailDraft{box-sizing:border-box;width:min(640px,calc(100% - 28px));max-height:90dvh;overflow-y:auto;border:1px solid #ccdce9;border-radius:22px;padding:28px;color:#193b58;background:white;box-shadow:0 30px 100px #102c4d40}
#enquiryEmailDraft::backdrop{background:rgba(10,32,53,.65);backdrop-filter:blur(4px)}
.email-draft-top{display:flex;align-items:start;justify-content:space-between;gap:15px}.email-draft-top h2{font-size:26px;margin:5px 0 15px}.email-draft-top .enquiry-kicker{font-size:11px;letter-spacing:.1em;color:#08786e;font-weight:750}
.email-draft-close{border:1px solid #dbe5ed;border-radius:50%;width:36px;height:36px;background:#f4f8fb;color:#244961;font-size:25px;cursor:pointer}
#emailDraftHelp,.email-draft-disclaimer,#emailCopyStatus{font-size:14px;line-height:1.7;color:#526b7f}#emailCopyStatus{color:#086c61}
#enquiryEmailDraft dl{display:grid;grid-template-columns:65px 1fr;gap:9px;font-size:14px;padding:16px 0;margin:0}#enquiryEmailDraft dt{font-weight:700}#enquiryEmailDraft dd{margin:0;overflow-wrap:anywhere}
#enquiryEmailDraft label{display:block;font-size:14px;font-weight:700;margin:8px 0}#emailDraftBody{box-sizing:border-box;width:100%;font:inherit;font-size:14px;line-height:1.7;border:1px solid #cbdbe7;border-radius:12px;padding:14px;resize:vertical;background:#f8fbfd;color:#29475e}
.email-draft-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.email-draft-actions .button{font-size:14px}.email-default-link{display:block;width:100%;font-size:13px;text-decoration:underline;text-underline-offset:3px;margin-top:5px;cursor:pointer}
#enquiryEmailDraft :focus-visible{outline:3px solid #77beb8;outline-offset:3px}@media(max-width:480px){#enquiryEmailDraft{padding:22px 18px}.email-draft-actions .button{width:100%}}
