/* IBIT blue and orange, with a shared public / member visual style. */
html.ibit-home-document { height:auto; min-height:100%; overflow-x:clip; overflow-y:auto; }
html.ibit-home-document body.ibit-home { position:static; height:auto; min-height:100vh; overflow:visible; }
.ibit-home{--primary-color:#076d98;--secondary-color:#0696ba;background:#fffdf9;color:#344a5c}.ibit-home :is(h1,h2,h3){color:#133c54;letter-spacing:-.035em}.ibit-home .container-fluid{max-width:1280px;padding-left:32px;padding-right:32px}.ibit-home .navbar{border-bottom:1px solid #e5edf1;box-shadow:0 4px 24px #12445b08;padding:12px 0!important;background:#ffffffef!important}.ibit-home .navbar-brand img{height:54px!important;max-width:150px;object-fit:contain}.ibit-home .nav-link{font-size:13px;font-weight:600;margin:0 7px}.ibit-home .nav-link:hover{color:#de6c35!important}.ibit-home .btn-primary{background:#076d98;box-shadow:0 6px 16px #076d9820;border-radius:10px;font-size:13px;padding:12px 23px}.ibit-home .btn-primary:hover{background:#065473}.ibit-home .btn-outline-danger{font-size:13px;border-radius:10px}
.ibit-home .hero{height:auto;min-height:700px;min-height:min(820px,95svh);justify-content:flex-start;isolation:isolate;padding:145px max(32px,calc((100vw - 1216px)/2)) 85px;background:#082e45;overflow:hidden}.ibit-home .hero>img{inset:0;z-index:-2;opacity:.42;object-position:center}.ibit-home .hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#062b42f5 0%,#082e45b0 55%,#082e4530 100%)}.ibit-home .hero-content{text-align:left;max-width:780px;padding:0}.ibit-kicker{display:inline-block;font-size:10px;font-weight:750;letter-spacing:2px}.ibit-home .hero .ibit-kicker{color:#ffbf91;border:1px solid #ffffff30;border-radius:30px;padding:9px 15px;background:#ffffff08}.ibit-home .hero h1{font-size:clamp(38px,5.4vw,72px);line-height:1.12;text-shadow:none;margin:24px 0 20px;max-width:760px}.ibit-home .hero p{color:#cae4ec;font-size:clamp(18px,2vw,23px);margin-bottom:32px}.ibit-home .hero .btn{background:#f28a46;color:#172f42;border:0;border-radius:12px!important;font-weight:700;font-size:14px;padding:15px 27px!important;box-shadow:0 8px 25px #0002}.ibit-home .hero .btn:hover{background:#ffad77;transform:translateY(-2px)}
.ibit-home .section{padding:88px 0;scroll-margin-top:100px}.ibit-home .section h2{font-size:clamp(30px,3.6vw,46px);font-weight:750}.ibit-home .about{background:#fffdf9}.ibit-home .about img{transform:none;border-radius:24px!important;box-shadow:12px 12px 0 #f7e9d9!important;width:95%!important}.ibit-home .about img:hover{transform:none}.ibit-home .section p{font-size:14px;line-height:1.95;text-align:left!important}.ibit-home .about .ps-lg-4>p:first-of-type,.ibit-home .pe-lg-5>p{padding:0!important}.ibit-home .about h2{text-align:left!important;margin-bottom:24px!important}.ibit-home .section.bg-light{background:#edf5f8!important;counter-reset:ideas}.ibit-home .section.bg-light>.container-fluid>.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0}.ibit-home .section.bg-light .col-12{width:auto;padding:0}.ibit-home .portfolio-card{position:relative;counter-increment:ideas;border:1px solid #dce8ee;background:#fff!important;color:#455d6d!important;border-radius:20px;padding:30px!important;box-shadow:0 5px 20px #0b435509!important;transition:transform .2s,box-shadow .2s}.ibit-home .portfolio-card::before{content:'0' counter(ideas);display:grid;place-items:center;width:44px;height:44px;color:#c66a32;background:#fff1e5;border:1px solid #f8dfc9;border-radius:12px;font-weight:750;font-size:14px;margin-bottom:22px}.ibit-home .portfolio-card h3{font-size:22px;line-height:1.4;min-height:62px}.ibit-home .portfolio-card p{font-size:13px}.ibit-home .portfolio-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0b435514!important}.ibit-home .ibit-expandable:not(.ibit-expanded) p{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.ibit-home .ibit-read-more{margin-top:12px;border:0;border-radius:8px;padding:9px 13px;color:#076d98;background:#e9f4f8;font-size:12px;font-weight:700}.ibit-home .footer{background:#082c41;color:#bfd2dc;padding-top:65px}.ibit-home .footer p{font-size:13px;line-height:1.9}.ibit-home .footer h5{font-size:16px}.ibit-home .footer .fab{color:#ffb27a}.ibit-home iframe{display:block}.ibit-home :is(a,button):focus-visible{outline:3px solid #f7a16d;outline-offset:4px}
.ibit-header{box-shadow:0 4px 20px #12445b06;border-bottom:1px solid #e0eaf0}.ibit-brand img{width:95px;height:50px}.ibit-menu a{color:#086c92}.ibit-logout{background:#fff1e7;color:#ad5026;border:1px solid #f9d8bf}.ibit-projects-page{color:#284559}.ibit-projects-page .ibit-project-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(115deg,#083e59,#087fa0);padding:32px;border-radius:22px;color:#fff;box-shadow:0 8px 25px #07557815}.ibit-projects-page .ibit-kicker{color:#ffd1af}.ibit-projects-page .ibit-page-title{font-size:clamp(26px,3.5vw,38px);color:#fff;margin:12px 0}.ibit-projects-page .ibit-subtitle{font-size:13px;line-height:1.8;color:#d3edf5;margin:0;max-width:620px}.ibit-project-counter{display:flex;flex-direction:column;text-align:center;flex-shrink:0;border:1px solid #ffffff25;border-radius:16px;background:#ffffff10;padding:17px 24px}.ibit-project-counter strong{font-size:38px}.ibit-project-counter span{font-size:11px;color:#d3edf5;margin-top:4px}.ibit-project-guide{display:flex;justify-content:space-between;gap:15px;padding:22px 4px;margin-bottom:7px;color:#718190;font-size:12px}.ibit-project-guide span{display:flex;align-items:center;gap:8px}.ibit-project-guide b{background:#e5f0f6;color:#086c92;border-radius:50%;padding:7px;font-size:10px}.ibit-projects-page .ibit-card{border:1px solid #dfe9ef;border-radius:18px;box-shadow:0 6px 22px #12445b06}.ibit-projects-page .ibit-card h2{font-size:19px;color:#19465d}.ibit-projects-page .ibit-input{border-color:#d6e2ea;font-size:13px}.ibit-projects-page .ibit-label{font-size:12px;color:#536a7c}.ibit-projects-page .ibit-file{padding:20px 14px;background:#f1f8fb;border-color:#acd1e1;font-size:12px}.ibit-projects-page .ibit-file::file-selector-button{border:0;border-radius:7px;padding:9px 11px;margin-right:10px;background:#dceef5;color:#07638a;font-weight:700}.ibit-projects-page .ibit-submit{background:#076d98!important;box-shadow:0 6px 15px #076d9820;font-size:14px}.ibit-projects-page .ibit-submit:hover{background:#085773!important}.ibit-projects-page .ibit-count,.ibit-projects-page .ibit-open{color:#076d98;background:#e6f3f8}.ibit-projects-page .ibit-project-item{background:#fff;border-color:#e3edf2;flex-wrap:wrap}.ibit-projects-page .ibit-project-item>div:first-child{min-width:0;flex:1 1 180px}.ibit-projects-page .ibit-project-item h3{font-size:15px;line-height:1.5;overflow-wrap:anywhere;color:#244a61}.ibit-projects-page .ibit-meta{font-size:11px;line-height:1.8}.ibit-projects-page :is(input,textarea,button,a):focus-visible{outline:3px solid #8fd1e1;outline-offset:3px}
@media(max-width:991px){.ibit-home .navbar-collapse{padding:20px 0}.ibit-home .navbar-nav{align-items:stretch!important;gap:9px}.ibit-home .hero{min-height:650px;padding-top:150px}.ibit-home .section{padding:60px 0}.ibit-home .about h2{text-align:center!important}.ibit-home .about img{max-width:600px}.ibit-home .section.bg-light>.container-fluid>.row{grid-template-columns:1fr}.ibit-home .portfolio-card h3{min-height:0}.ibit-home .section .display-5{text-align:left!important}.ibit-home .section .col-lg-4>img{max-width:420px;margin-top:25px}}
@media(max-width:600px){.ibit-home .container-fluid{padding-left:20px;padding-right:20px}.ibit-home .hero{min-height:620px;padding:145px 22px 70px}.ibit-home .hero h1{font-size:42px}.ibit-home .hero .ibit-kicker{font-size:8px;letter-spacing:1px}.ibit-home .portfolio-card{padding:23px!important}.ibit-home .section.bg-light>.container-fluid>.row{gap:16px}.ibit-home .footer{padding-bottom:90px}.ibit-projects-page .ibit-project-hero{padding:24px 20px;flex-wrap:wrap;border-radius:16px}.ibit-project-counter{flex-direction:row;align-items:center;gap:12px;width:100%;padding:10px 14px;text-align:left}.ibit-project-counter strong{font-size:25px}.ibit-project-counter span{margin:0}.ibit-project-guide{flex-direction:column;gap:10px;padding:18px 4px}.ibit-projects-page .ibit-project-item{padding:14px}}
@media(prefers-reduced-motion:reduce){.ibit-home{scroll-behavior:auto}.ibit-home *{animation:none!important;transition:none!important}.ibit-home .hero>img{display:none}}

/* Homepage abstract announcement. Native dialog handles focus and Escape. */
.ibit-home.ibit-announcement-open { overflow:hidden; }
.ibit-abstract-dialog { width:min(540px, calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid #d5e8ef; border-radius:24px; background:#fff; color:#244a61; box-shadow:0 28px 90px #062d5260; }
.ibit-abstract-dialog::backdrop { background:rgba(5,27,43,.7); backdrop-filter:blur(5px); }
.ibit-abstract-card { position:relative; padding:48px 36px 26px; text-align:center; background:radial-gradient(ellipse at top, #e4f5fa, transparent 65%); }
.ibit-abstract-dismiss { position:absolute; top:10px; right:14px; }
.ibit-abstract-dismiss button { width:34px; height:34px; border:0; border-radius:50%; background:#edf5f8; color:#244a61; font-size:26px; line-height:1; }
.ibit-abstract-eyebrow { display:block; color:#076d98; font-size:10px; font-weight:700; letter-spacing:1.4px; }
.ibit-abstract-icon { display:grid; place-items:center; width:66px; height:66px; margin:25px auto 18px; border-radius:20px; background:#076d98; color:#fff; font-size:28px; }
.ibit-abstract-dialog h2 { margin:0 0 14px; color:#153e55; font-size:clamp(28px,6vw,36px); }
.ibit-abstract-dialog p { margin:0; color:#597080; font-size:14px; line-height:1.85; }
.ibit-abstract-actions { display:flex; gap:12px; margin-top:28px; }
.ibit-abstract-actions a { flex:1; display:flex; align-items:center; justify-content:center; gap:12px; padding:13px 16px; border:1px solid #076d98; border-radius:11px; font-size:14px; font-weight:600; text-decoration:none; }
.ibit-abstract-register { background:#076d98; color:#fff; }
.ibit-abstract-register:hover { background:#085773; color:#fff; }
.ibit-abstract-login { background:#fff; color:#076d98; }
.ibit-abstract-login:hover { background:#edf7fa; }
.ibit-abstract-later button { margin-top:20px; padding:4px; border:0; background:transparent; color:#597080; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.ibit-abstract-dialog :is(button,a):focus-visible { outline:3px solid #38a9d2; outline-offset:4px; }
@media(max-width:400px) {
    .ibit-abstract-card { padding:48px 22px 24px; }
    .ibit-abstract-actions { flex-direction:column; }
}

/* Compact reading layout, with optional full text for longer sections. */
.ibit-home .hero { min-height:460px; padding-top:130px; padding-bottom:65px; }
.ibit-home .hero h1 { max-width:650px; font-size:clamp(32px,4vw,52px); margin:18px 0 14px; }
.ibit-home .hero p { font-size:18px; margin-bottom:0; }
.ibit-home .section { padding:54px 0; }
.ibit-home .section h2 { font-size:clamp(25px,3vw,34px); }
.ibit-home .section p { font-size:13px; line-height:1.8; }
.ibit-home .about img { max-height:330px; width:auto!important; max-width:90%; object-fit:contain; }
.ibit-home .portfolio-card { padding:24px!important; border-radius:16px; display:flex; flex-direction:column; align-items:flex-start; scroll-margin-top:100px; }
.ibit-home .portfolio-card::before { width:34px; height:34px; border-radius:9px; font-size:12px; margin-bottom:14px; }
.ibit-home .portfolio-card h3 { min-height:0; font-size:18px; line-height:1.45; margin-bottom:10px; }
.ibit-home .section.bg-light>.container-fluid>.row { gap:20px; align-items:start; }
.ibit-home .ibit-content-preview { display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; width:100%; }
.ibit-home .ibit-content-preview p { padding:0!important; margin-top:0!important; }
.ibit-home .ibit-content-preview.is-expanded { display:block; overflow:visible; -webkit-line-clamp:unset; }
.ibit-home .ibit-read-more { display:inline-flex; align-items:center; margin-top:14px; padding:8px 12px; border:1px solid #d2e7ee; border-radius:8px; background:#edf7fa; color:#076d98; font-size:12px; font-weight:600; }
.ibit-home .ibit-read-more:hover { background:#deeff5; border-color:#a7cfdd; }
.ibit-home .section .col-lg-4>img { max-height:280px; width:auto; max-width:100%; object-fit:contain; }
.ibit-home .about .ps-lg-4,.ibit-home .section .pe-lg-5 { scroll-margin-top:100px; }
.ibit-home .footer { padding-top:42px; padding-bottom:24px; }
.ibit-home .footer h5 { font-size:15px; margin-bottom:16px; }
.ibit-home .footer p { font-size:12px; line-height:1.8; }
@media(max-width:600px) {
    .ibit-home .hero { min-height:410px; padding:120px 22px 50px; }
    .ibit-home .hero h1 { font-size:34px; }
    .ibit-home .section { padding:38px 0; }
    .ibit-home .portfolio-card { padding:20px!important; }
    .ibit-home .about img { max-height:240px; }
    .ibit-home .footer { padding-bottom:85px; }
}

/* Align reading content evenly along both edges. */
.ibit-home .section p,
.ibit-home .footer p:not(.text-center) {
    text-align:justify!important;
    text-justify:inter-word;
}

/* Refined call for abstract announcement. */
.ibit-abstract-dialog { width:min(580px, calc(100% - 28px)); border:0; border-radius:24px; }
.ibit-abstract-card { padding:0; background:#fff; }
.ibit-abstract-banner { position:relative; overflow:hidden; padding:24px 28px 0; background:radial-gradient(ellipse at 50% 110%, #137e9b 0%, #0d405d 48%, #092a42 100%); color:#fff; }
.ibit-abstract-eyebrow { display:flex; justify-content:space-between; align-items:center; padding-right:32px; color:#fff; font-size:12px; letter-spacing:2px; text-align:left; }
.ibit-abstract-eyebrow span { color:#a7d2de; font-size:8px; letter-spacing:1.6px; }
.ibit-abstract-dismiss { top:16px; right:16px; z-index:2; margin:0; }
.ibit-abstract-dismiss button { color:#fff; background:#ffffff18; border:1px solid #ffffff30; cursor:pointer; }
.ibit-abstract-dismiss button:hover { background:#ffffff35; }
.ibit-abstract-art { position:relative; height:173px; display:grid; place-items:center; }
.ibit-abstract-orbit { position:absolute; width:240px; height:240px; top:13px; border:1px solid #ffffff16; border-radius:50%; }
.ibit-abstract-orbit-inner { width:172px; height:172px; top:46px; border-color:#ffffff24; }
.ibit-abstract-icon { position:relative; width:76px; height:76px; margin:0 0 5px; border:1px solid #ffffff45; border-radius:22px; background:linear-gradient(145deg,#ffffff20,#ffffff08); color:#f6d991; font-size:34px; box-shadow:0 12px 34px #001c3440; transform:rotate(-8deg); }
.ibit-abstract-icon i { transform:rotate(8deg); }
.ibit-abstract-spark { position:absolute; color:#efcd84; font-size:25px; font-weight:300; }
.ibit-abstract-spark-one { top:38px; left:25%; }
.ibit-abstract-spark-two { top:97px; right:24%; font-size:18px; }
.ibit-abstract-art-label { position:absolute; bottom:14px; color:#c2e4eb; font-size:8px; letter-spacing:2.2px; }
.ibit-abstract-content { padding:28px 38px 22px; }
.ibit-abstract-overline { display:block; margin-bottom:9px; color:#907039; font-size:9px; font-weight:600; letter-spacing:2px; }
.ibit-abstract-dialog h2 { font-size:clamp(30px,6vw,42px); letter-spacing:-1.5px; line-height:1.2; margin-bottom:14px; font-weight:700; }
.ibit-abstract-dialog h2 span { color:#087c94; }
.ibit-abstract-dialog p { font-size:13px; line-height:1.85; max-width:420px; margin:auto; }
.ibit-abstract-steps { display:flex; justify-content:center; gap:22px; padding:17px 10px; margin:22px 0; background:#f3f8fa; border:1px solid #e5eef2; border-radius:12px; }
.ibit-abstract-steps span { display:flex; align-items:center; gap:7px; color:#375a6e; font-size:11px; }
.ibit-abstract-steps b { color:#07819a; font-size:10px; }
.ibit-abstract-actions { margin-top:0; }
.ibit-abstract-actions a { min-height:49px; border-radius:10px; transition:background .2s,box-shadow .2s; }
.ibit-abstract-register { background:linear-gradient(110deg,#087b95,#075c7d); box-shadow:0 5px 14px #076d9825; }
.ibit-abstract-login { border-color:#cedfe7!important; }
.ibit-abstract-hint { display:block; margin-top:13px; color:#6d8190; font-size:10px; }
.ibit-abstract-later { margin:0; }
.ibit-abstract-later button { margin-top:15px; color:#647b89; font-size:11px; cursor:pointer; }
@media(max-width:480px) {
    .ibit-abstract-banner { padding:22px 20px 0; }
    .ibit-abstract-eyebrow span { display:none; }
    .ibit-abstract-art { height:145px; }
    .ibit-abstract-content { padding:25px 22px 20px; }
    .ibit-abstract-steps { gap:14px; margin:18px 0; padding:13px 6px; }
    .ibit-abstract-steps span { font-size:10px; gap:5px; }
    .ibit-abstract-actions { flex-direction:row; gap:9px; }
    .ibit-abstract-actions a { padding:12px 10px; font-size:12px; }
}

/* Detailed project submissions. */
.ibit-projects-page .ibit-project-grid { grid-template-columns:minmax(0,1fr); }
.ibit-project-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ibit-project-detail-grid>div { min-width:0; }
.ibit-project-detail-grid .ibit-label { min-height:34px; margin-top:8px; line-height:1.5; }
.ibit-project-form-note { color:#718190; font-size:13px; line-height:1.7; }
.ibit-saved-project-details { flex-basis:100%; font-size:13px; color:#37596c; }
.ibit-saved-project-details summary { cursor:pointer; font-weight:600; padding:8px 0; }
.ibit-saved-project-details dl { display:grid; grid-template-columns:minmax(130px,1fr) 2fr; gap:12px; }
.ibit-saved-project-details dt { font-weight:600; }
.ibit-saved-project-details dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:991px) { .ibit-project-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .ibit-project-detail-grid { grid-template-columns:1fr; gap:10px; } .ibit-project-detail-grid .ibit-label { min-height:0; } .ibit-saved-project-details dl { grid-template-columns:1fr; } }
.ibit-result-options{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.ibit-result-options>span,.ibit-result-options summary{display:inline-block;border:1px solid #d9e4ea;border-radius:8px;padding:7px 10px;font-size:12px;color:#748794;background:#f7fafc}.ibit-result-options .is-approved{background:#e2f5e9;color:#196441;border-color:#b8e3ca}.ibit-result-options .is-disapproved{background:#fff0ee;color:#a43338;border-color:#edbdbe}.ibit-result-options summary{cursor:pointer;color:#076d98}.ibit-result-options details p{white-space:pre-wrap;font-size:13px;overflow-wrap:anywhere}.ibit-evaluation-date{padding:12px;background:#e7f5ee;color:#196441;border-radius:8px;font-size:13px}.ibit-updates{background:#fff;border:1px solid #dfe9ef;border-radius:16px;padding:24px;margin:0 0 24px}.ibit-updates ul{list-style:none;padding:0}.ibit-updates li{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #e2ebf0;padding:14px 0}.ibit-updates p{font-size:13px;line-height:1.7;white-space:pre-wrap;margin:7px 0}.ibit-updates small{font-size:11px;color:#718190}.ibit-updates button{border:0;border-radius:8px;background:#e8f4f8;color:#076d98;padding:10px;cursor:pointer}.ibit-updates form{flex-shrink:0}@media(max-width:600px){.ibit-updates li{flex-direction:column}}
