@font-face{font-family:Archivo;src:url('../fonts/archivo-black.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Cardo;src:url('../fonts/cardo-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cardo;src:url('../fonts/cardo-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:#33335a;background:#fff;font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,.logo{font-family:Archivo,Arial,sans-serif;font-weight:900;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(54px,6.3vw,100px);margin:20px 0 30px}h2{font-size:clamp(36px,4vw,60px);margin:14px 0 26px}h3{font-size:28px;margin:10px 0 18px}.wrap{max-width:1400px;margin:auto;padding:0 6%}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:bold}.serif{font-family:Cardo,Georgia,serif;font-size:25px;line-height:1.4}.muted{color:#737386}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 23px;background:#33335a;color:white;border:1px solid #33335a;font-size:13px;font-weight:bold}.btn.light{background:white;color:#33335a;border-color:white}.btn.outline{background:transparent;color:inherit;border-color:#bbb}.arrow{font-size:21px;font-weight:normal}header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #eee}nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{font-size:32px;letter-spacing:-.055em}.logo small{font:9px Arial;letter-spacing:.2em;display:block;margin-top:8px}.navlinks{display:flex;gap:32px;align-items:center;font-size:12px}.menu{display:none;background:none;border:0;color:#33335a}.hero{display:grid;grid-template-columns:46% 54%;min-height:660px}.hero-copy{padding:75px 9% 60px 13%;background:#f5f5f7;display:flex;flex-direction:column;justify-content:center}.hero-copy p{max-width:390px;color:#69697b;font-size:15px}.hero-image{position:relative;overflow:hidden;background:#e7e8e8}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 43%}.hero-caption{position:absolute;bottom:25px;left:30px;right:30px;background:white;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.hero-caption strong{font-size:16px}.hero-copy .btn{margin-top:22px;align-self:flex-start}.ticker{border-bottom:1px solid #ddd;display:flex;justify-content:space-between;gap:25px;padding-top:26px;padding-bottom:26px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.ticker b{color:#2851a8}.section{padding:100px 0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.intro p{margin-top:10px}.text-link{display:inline-block;border-bottom:1px solid #33335a;padding-bottom:8px;font-size:13px;margin-top:16px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-head p{max-width:330px;font-size:14px}.projects{background:#f5f5f7}.project-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}.project-image{height:330px;position:relative;overflow:hidden;background:#33335a}.project-image img{height:100%;width:100%;object-fit:cover}.badge{position:absolute;top:16px;left:16px;padding:5px 12px;background:white;color:#33335a;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.project-info{padding:25px 0}.project-info h3{font-size:24px}.project-info p{font-size:13px;color:#737386}.location{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.project-link{background:none;border:0;border-bottom:1px solid #999;padding:8px 0;display:flex;justify-content:space-between;width:100%;color:#33335a;font-size:12px}.concept{height:100%;position:relative;background:#33335a;overflow:hidden;display:flex;align-items:end;padding:28px;color:white}.concept .num{font:90px Archivo,Arial;opacity:.12;position:absolute;right:20px;top:5px}.concept svg{position:absolute;inset:40px 10px 30px;width:95%;height:85%;opacity:.45}.concept span{position:relative;font:italic 24px Cardo,Georgia}.concept.blue{background:#2851a8}.featured{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.featured-photo{position:relative}.featured-photo img{width:100%;height:590px;object-fit:cover}.photo-note{font-size:10px;color:#888;margin-top:8px}.academy-label{color:#285542}.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ddd;margin:28px 0}.stat{padding:20px 5px 15px 0;border-bottom:1px solid #ddd}.stat strong{display:block;font-size:25px;font-family:Cardo,Georgia}.stat span{font-size:11px;color:#737386}.approach{background:#33335a;color:#fff}.approach .section-head p{color:#c5c5d2}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:55px}.step{border-top:1px solid #72728d;padding-top:20px}.step .n{color:#a0baff;font-size:12px}.step h3{font-size:20px;margin-top:35px}.step p{font-size:13px;color:#cccbd8}.partners{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:40px}.partner{padding-top:25px;border-top:1px solid #bbb}.partner h3{font-size:24px}.partner p{color:#737386;font-size:14px}.contact{background:#f5f5f7}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact-detail{font-size:21px;display:block;margin:12px 0}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:11px}input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #a9a9b5;padding:10px 0;border-radius:0;color:#33335a;font-size:14px}textarea{resize:vertical}form .btn{grid-column:1/-1;justify-self:start}form small{font-size:10px;color:#737386;grid-column:1/-1}footer.wrap{padding-top:80px;padding-bottom:30px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px}.footer-bottom{border-top:1px solid #ddd;margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#737386}.footer-bottom button{background:none;border:0;color:inherit;font-size:10px}dialog{border:0;padding:0;max-width:760px;width:92%;max-height:88vh;color:#33335a;box-shadow:0 15px 100px #0004}dialog::backdrop{background:#17172dc9}dialog .inner{padding:40px}.close{position:absolute;right:15px;top:10px;background:white;border:0;font-size:25px;width:38px;height:38px}.dialog-image{height:280px;width:100%;object-fit:cover}dialog h2{font-size:38px}dialog ul{padding-left:20px;font-size:14px}a:focus-visible,button:focus-visible{outline:3px solid #2851a8;outline-offset:5px}@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;min-height:590px}.hero-copy{padding:50px 10%}.hero h1{font-size:60px}.project-grid{grid-template-columns:1fr 1fr}.project-grid article:first-child{grid-column:1/-1}.project-grid article:first-child .project-image{height:450px}.steps{grid-template-columns:1fr 1fr}.featured{gap:5%}.featured-photo img{height:550px}.navlinks{gap:18px}}@media(max-width:640px){nav{height:75px}.logo{font-size:27px}.menu{display:block}.navlinks{display:none;position:absolute;top:75px;left:0;right:0;background:white;padding:25px 6%;border-bottom:1px solid #ddd;flex-direction:column;align-items:start}.navlinks.open{display:flex}.hero{display:flex;flex-direction:column}.hero-copy{padding:50px 6%}.hero h1{font-size:58px;margin-top:16px}.hero-image{height:440px}.hero-caption{left:15px;right:15px;bottom:15px}.ticker{flex-wrap:wrap;gap:14px;font-size:9px}.section{padding:65px 0}.intro,.featured,.contact-grid,.partners{grid-template-columns:1fr;gap:30px}.section-head{display:block;margin-bottom:30px}.project-grid{grid-template-columns:1fr;gap:25px}.project-grid article:first-child{grid-column:auto}.project-grid article:first-child .project-image,.project-image{height:350px}.featured-photo img{height:450px}.steps{gap:25px}.step h3{font-size:18px}.footer-top,.footer-bottom{align-items:start;gap:25px;flex-direction:column}.serif{font-size:23px}dialog .inner{padding:28px}.dialog-image{height:220px}.form{gap:15px}}

/* Connected development lifecycle infographic */
.steps{position:relative;gap:40px}.steps::before{content:"";position:absolute;top:38px;left:38px;right:calc(25% - 10px);height:1px;background:#8585a0}.step{position:relative;border:0;padding-top:0}.stage-icon{position:relative;z-index:1;width:76px;height:76px;display:grid;place-items:center;border:1px solid #9292b0;background:#33335a;border-radius:50%;color:#c5d6ff;margin-bottom:25px}.stage-icon svg{width:43px;height:43px}.step:not(:last-child)::after{content:"→";position:absolute;top:23px;right:-27px;background:#33335a;color:#b5bfdf;line-height:30px;padding:0 7px;font-size:23px}.step .n{display:block;font-size:11px;letter-spacing:.18em}.step h3{margin-top:15px}.step p{max-width:250px}@media(max-width:900px){.steps::before{display:none}.step:not(:last-child)::after{display:none}.step{padding:25px;border:1px solid #666681}.stage-icon{margin-bottom:22px}.step p{max-width:none}}@media(max-width:640px){.steps{grid-template-columns:1fr;gap:0}.step{padding:0 0 35px 96px;border:0}.stage-icon{position:absolute;left:0;top:0;width:66px;height:66px}.stage-icon svg{width:36px;height:36px}.step:not(:last-child)::before{content:"";position:absolute;left:32px;top:65px;bottom:0;width:1px;background:#8585a0}.step h3{margin-top:12px}.step p{margin-bottom:0}}
.brand-pair{display:flex;align-items:center;gap:24px;flex-shrink:0}.red-brand{display:flex;flex-direction:column;border-left:1px solid #d8d8df;padding-left:24px;color:#143d2c;line-height:1.15;white-space:nowrap}.red-brand strong{font-family:Cardo,Georgia,serif;font-size:26px;letter-spacing:.06em}.red-brand span{font-size:10px;letter-spacing:.16em;margin-top:3px}.red-brand small{font-size:7px;letter-spacing:.08em;margin-top:7px}.academia-logo{width:310px;max-width:100%;margin-bottom:25px}.navlinks{gap:20px}@media(max-width:1100px){.navlinks{gap:12px;font-size:11px}.navlinks .btn{padding:13px}.brand-pair{gap:16px}.red-brand{padding-left:16px}}@media(max-width:760px){.menu{display:block}.navlinks{display:none;position:absolute;top:90px;left:0;right:0;background:white;padding:25px 6%;flex-direction:column;align-items:start}.navlinks.open{display:flex}}@media(max-width:640px){.brand-pair{gap:12px}.red-brand{padding-left:12px}.red-brand strong{font-size:21px}.red-brand span{font-size:8px}.red-brand small{font-size:6px}.navlinks{top:75px}.brand-pair .logo{font-size:24px}.brand-pair .logo small{font-size:7px}.academia-logo{width:280px}}
.red-brand{color:#33335a}.red-brand strong{font-family:Arial,sans-serif;font-weight:800;letter-spacing:.04em;font-size:25px}.red-brand span{font-weight:700;font-size:10px;letter-spacing:.12em}.red-brand small{font-size:8px;color:#2851a8}.concept,.concept.blue{background:linear-gradient(145deg,#f8faff,#e5eaf5);color:#33335a;border:1px solid #dce3f0}.concept svg{stroke:#2851a8;opacity:.32;inset:25px 10px 50px;height:70%}.concept span{font-family:Arial,sans-serif;font-style:normal;font-size:29px;font-weight:700;letter-spacing:-.035em;line-height:1.15;max-width:100%;background:#f5f7fcdd;padding:12px 14px;border-left:3px solid #2851a8}.project-image .badge{border:1px solid #e3e7ef;color:#2851a8;font-weight:700}.academia-logo{width:340px;margin-bottom:20px}.academy-label{color:#2851a8}.stage-icon{background:#33335a;box-shadow:0 0 0 7px #ffffff06}.project-info h3{letter-spacing:-.025em}.project-link:hover{color:#2851a8}.red-brand:hover{color:#2851a8}@media(max-width:640px){.red-brand strong{font-size:21px}.red-brand small{font-size:7px}.concept span{font-size:30px}}
.concept-caption{position:absolute;bottom:12px;left:12px;right:12px;background:#fffE;padding:6px 9px;color:#33335a;font-size:9px;letter-spacing:.02em}.project-image>img{transition:transform .35s}.project-image:hover>img{transform:scale(1.025)}
/* Supplied Academos identity, preserving its original colours and proportions. */
header nav{height:128px}.red-brand{display:block;border:0;padding:0 0 0 18px}.brand-pair .red-brand{border-left:1px solid #e0e5df}.red-brand .academos-logo-frame{display:block;position:relative;overflow:hidden;width:124px;height:112px;margin:0;padding:0;border:0}.academos-logo-frame img{position:absolute;width:164px;height:164px;max-width:none;left:-20px;top:-20px;object-fit:contain}.navlinks{top:128px}html{scroll-padding-top:133px}@media(max-width:640px){header nav{height:112px}.red-brand{padding-left:10px}.red-brand .academos-logo-frame{width:104px;height:96px}.academos-logo-frame img{width:140px;height:140px;left:-18px;top:-18px}.navlinks{top:112px}.brand-pair{gap:10px}html{scroll-padding-top:117px}header nav>div:not(.brand-pair){gap:10px!important}}

/* Richer architectural lifecycle illustrations. */
.approach{background:#33335a}.approach .section-head{align-items:center}.approach-intro{max-width:380px}.approach-intro .serif{color:#fff;font-size:25px;margin:0 0 15px}.approach-intro>p:last-child{font-size:13px;line-height:1.8;margin:0;color:#cdcfdf}.steps{gap:30px;margin-top:55px}.steps::before{top:77px;left:77px;right:calc(25% - 47px);background:#8d9abc55}.stage-icon{width:154px;height:154px;margin-bottom:30px;border:1px solid #b4c8f540;background:radial-gradient(circle at 40% 30%,#6d87be33,#24284855);box-shadow:0 0 0 10px #bdd1ff04,inset 0 1px 0 #d3dfff18;transition:transform .25s,box-shadow .25s}.stage-icon svg{width:124px;height:124px;filter:drop-shadow(0 8px 7px #11172d44)}.step:hover .stage-icon{transform:translateY(-5px);box-shadow:0 0 0 10px #bdd1ff08,0 12px 35px #15162c33}.step:not(:last-child)::after{top:62px;right:-23px;font-size:21px;color:#b4c8ec}.step .n{color:#b4cdff;font-size:11px;letter-spacing:.2em}.step h3{font-size:22px;line-height:1.25;margin:14px 0 18px;min-height:56px;max-width:230px}.step>p{font-size:13px;line-height:1.8;color:#d1d2df;min-height:118px;max-width:none}.stage-scope{list-style:none;padding:20px 0 0;margin:22px 0 0;border-top:1px solid #ffffff24}.stage-scope li{display:flex;gap:9px;align-items:start;font-size:11px;color:#d7ddeb;line-height:1.7;margin:9px 0}.stage-scope li::before{content:"";height:4px;width:4px;border-radius:50%;background:#b6cfff;flex-shrink:0;margin-top:7px}.approach-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff24;padding-top:28px;margin-top:45px;font-size:12px;color:#d1d5e5}.approach-foot a{color:#fff;border-bottom:1px solid #a9bee7;padding-bottom:6px;white-space:nowrap}.approach-foot a span{margin-left:20px}@media(max-width:1100px){.step h3{font-size:20px}.step>p{min-height:140px}}@media(max-width:900px){.step{padding:28px;border:1px solid #ffffff24;background:#ffffff03}.stage-icon{width:140px;height:140px}.stage-icon svg{width:112px;height:112px}.step h3{min-height:0;max-width:none}.step>p{min-height:0}.approach-intro{max-width:330px}.approach .section-head{align-items:start}}@media(max-width:640px){.approach-intro{margin-top:25px}.steps{grid-template-columns:1fr;gap:25px}.step{padding:28px;display:block;border:1px solid #ffffff24}.step:not(:last-child)::before{display:none}.stage-icon{position:relative;top:auto;left:auto;width:140px;height:140px;margin-bottom:28px}.stage-scope{margin-top:20px}.approach-foot{align-items:start;flex-direction:column;gap:18px}.step>p{margin-bottom:15px}}@media(prefers-reduced-motion:reduce){.stage-icon{transition:none}.step:hover .stage-icon{transform:none}}

/* Integrated project caption and institutional platform foundations. */
.hero-image::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(12,19,29,.78));pointer-events:none}.hero-caption{z-index:1;left:0;right:0;bottom:0;background:transparent;color:#fff;padding:34px 38px;gap:22px}.hero-caption .eyebrow{color:#d9e4f5;font-size:10px;letter-spacing:.22em}.hero-caption strong{display:block;font-family:Cardo,Georgia,serif;font-size:30px;font-weight:400;line-height:1.3;margin:8px 0 5px}.hero-project-location{display:block;font-size:11px;letter-spacing:.06em;color:#e4e9f0}.hero-caption>.arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff65;border-radius:50%;flex-shrink:0;transition:background .2s}.hero-caption:hover>.arrow{background:#ffffff20}.platform-foundations{background:#f8f8fa;border-bottom:1px solid #e2e3e9;padding:62px 0 58px}.foundations-heading{display:grid;grid-template-columns:1.15fr 1.85fr;column-gap:70px;align-items:end;margin-bottom:44px}.foundations-heading>.eyebrow{grid-column:1/-1;color:#2851a8;margin-bottom:15px}.foundations-heading h2{font-size:clamp(27px,2.5vw,37px);line-height:1.2;margin:0;letter-spacing:-.035em}.foundations-heading>p{font-size:14px;line-height:1.8;color:#747487;max-width:560px;margin:0 0 2px}.foundations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.foundations-grid article{padding-top:24px;border-top:2px solid #33335a;display:flex;flex-direction:column}.foundation-label{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#6d7690}.foundations-grid h3{font-family:Cardo,Georgia,serif;font-size:26px;font-weight:400;line-height:1.25;letter-spacing:-.02em;margin:16px 0 20px}.foundations-grid p{font-size:13px;line-height:1.85;color:#68687a;margin:0 0 24px}.foundations-grid article>a{margin-top:auto;font-size:11px;font-weight:600;display:flex;justify-content:space-between;gap:12px;align-items:center;width:fit-content;min-width:120px;padding-bottom:5px;border-bottom:1px solid #bbc1d2;color:#33335a}.foundations-grid article>a:hover{color:#2851a8;border-color:#2851a8}@media(max-width:1000px){.foundations-grid{grid-template-columns:1fr 1fr;gap:32px 40px}.foundations-heading{gap:30px}.foundations-grid h3 br{display:none}}@media(max-width:640px){.hero-caption{padding:25px 23px}.hero-caption strong{font-size:27px}.platform-foundations{padding:42px 0}.foundations-heading{display:block;margin-bottom:30px}.foundations-heading>.eyebrow{display:block;margin-bottom:15px}.foundations-heading h2{font-size:30px;margin-bottom:20px}.foundations-grid{grid-template-columns:1fr;gap:30px}.foundations-grid article{padding-top:20px}.foundations-grid h3{font-size:27px;margin:12px 0 15px}.foundations-grid p{font-size:14px;margin-bottom:18px}.foundations-grid article>a{min-width:145px}.hero-image::after{top:40%}}@media(prefers-reduced-motion:reduce){.hero-caption>.arrow{transition:none}}

/* Ertle Investments */
.invest{background:#f8f8fa;border-top:1px solid #e2e3e9}.invest .intro{margin-bottom:55px}.invest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.invest-grid article{padding-top:24px;border-top:2px solid #2851a8;display:flex;flex-direction:column}.invest-grid h3{font-family:Cardo,Georgia,serif;font-size:26px;font-weight:400;letter-spacing:-.02em;line-height:1.25;margin:16px 0 18px}.invest-grid p{font-size:13px;line-height:1.85;color:#68687a;margin:0 0 14px}.invest-grid ul{list-style:none;padding:16px 0 0;margin:auto 0 0;border-top:1px solid #dfe2ea}.invest-grid li{font-size:12px;color:#4a4a68;margin:7px 0;display:flex;gap:9px}.invest-grid li::before{content:"";width:4px;height:4px;border-radius:50%;background:#2851a8;margin-top:8px;flex-shrink:0}.invest-foot{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:50px;padding-top:26px;border-top:1px solid #dfe2ea;font-size:12px;color:#737386}.invest-foot a{color:#33335a;border-bottom:1px solid #33335a;padding-bottom:6px;white-space:nowrap;font-size:13px}
.logo-img{display:block;height:46px;width:auto;max-width:none}footer .logo-img{height:40px}
@media(max-width:1100px){.invest-grid{grid-template-columns:1fr 1fr;gap:40px 40px}}@media(max-width:640px){.invest-grid{grid-template-columns:1fr;gap:30px}.invest-foot{flex-direction:column;align-items:start}.logo-img{height:36px}}

/* Cookie consent (Microsoft Clarity) */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;margin-left:auto;background:#fff;color:#33335a;border:1px solid #dcdfe8;box-shadow:0 12px 40px #17172d2e;padding:20px 22px;font-size:13px;line-height:1.6}.consent[hidden]{display:none}.consent p{margin:0 0 14px}.consent-actions{display:flex;gap:10px;flex-wrap:wrap}.consent .btn{padding:11px 18px;gap:12px}
.footer-bottom .footer-links{display:flex;gap:18px}
