
@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:#17233c;--muted:#66748a;--blue:#244caa;--blue2:#3966c1;--pale:#edf3ff;--line:#e5eaf2;--paper:#fff;--bg:#f7f9fc;--mint:#dff4ed;--shadow:0 18px 55px rgba(28,54,103,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(229,234,242,.9)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px;font:800 16px Manrope,Arial,sans-serif;letter-spacing:-.5px;white-space:nowrap}.brand-mark{width:36px;height:36px;border-radius:11px;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 12px Manrope;position:relative}.brand-mark:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#8be0c4;right:-2px;top:-2px;border:2px solid #fff}.brand span:last-child{color:var(--blue)}
.main-nav{display:flex;align-items:center;gap:19px;font-size:11px;font-weight:600;color:#526078}.main-nav a{padding:9px 0;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:var(--blue)}.main-nav a.active{box-shadow:inset 0 -2px var(--blue)}.nav-contact{border:1px solid #dce4f1!important;border-radius:8px;padding:9px 12px!important;color:var(--ink)!important}.nav-contact:hover{background:var(--pale)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;width:42px;height:40px;color:var(--ink);font-size:20px;cursor:pointer}
main{min-height:65vh}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding:76px 0 54px;min-height:540px}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:10px;letter-spacing:1.65px;font-weight:800;text-transform:uppercase}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#3ab18b;box-shadow:0 0 0 5px #e2f5ee}.hero h1,.page-intro h1{font:800 clamp(42px,5.4vw,68px)/1.12 Manrope,Arial,sans-serif;letter-spacing:-3.5px;margin:19px 0 12px}.hero h1 span:first-child{color:var(--blue)}.heading-period{color:#8ab9a9}.hero-role{font:700 15px Manrope;color:#3c4c68;margin:0 0 12px}.lead{font-size:16px;line-height:1.8;color:#5f6d83;max-width:630px;margin:0 0 12px}.hero-description{font-size:13px;color:#778398;max-width:600px;margin:0}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border-radius:8px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #1b3d8018}.button-primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}.button-secondary{background:#fff;border:1px solid #dce3ef;color:var(--ink)}.social-links{display:flex;gap:17px;flex-wrap:wrap;margin-top:24px;color:#7d899d;font-size:11px;font-weight:600}.social-links a:hover{color:var(--blue)}
.hero-visual{height:410px;position:relative;display:flex;align-items:center;justify-content:center}.portrait-frame{width:min(300px,74%);height:365px;position:relative;z-index:2;border-radius:18px;background:#e9eef8;border:7px solid #fff;box-shadow:0 22px 65px rgba(26,52,105,.16);overflow:hidden;transform:rotate(1.5deg)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.portrait-caption{position:absolute;bottom:12px;left:12px;right:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid #fff;border-radius:11px;padding:10px;display:flex;align-items:center;gap:10px}.caption-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:var(--blue);color:#fff;font:800 11px Manrope}.portrait-caption strong{display:block;font:800 12px Manrope}.portrait-caption small{display:block;font-size:9px;color:#6c7890}.orbit{position:absolute;border:1px solid #c9d8f7;border-radius:50%;transform:rotate(-22deg)}.orbit-one{width:410px;height:300px}.orbit-two{width:350px;height:410px;transform:rotate(35deg);border-style:dashed;opacity:.7}.visual-chip{position:absolute;z-index:3;background:#fff;border:1px solid #e8edf6;border-radius:9px;box-shadow:var(--shadow);padding:9px 12px;font-size:10px;font-weight:700;color:#52617a}.chip-top{top:34px;left:0}.chip-bottom{bottom:28px;right:-3px}.chip-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#39b28a;margin-right:7px}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:0 0 78px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 18px;display:grid;grid-template-columns:38px 1fr;column-gap:11px;align-items:center;box-shadow:0 5px 18px #1e3a7005}.metric-icon{grid-row:span 2;width:36px;height:36px;border-radius:10px;background:var(--pale);color:var(--blue);display:grid;place-items:center;font-size:16px}.metric-card strong{font:800 12px Manrope;line-height:1.4}.metric-card small{font-size:10px;color:#8590a2}
.home-section{padding:0 0 75px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:22px}.section-kicker{font-size:10px;color:var(--blue);font-weight:800;letter-spacing:1.7px;text-transform:uppercase}.section-heading h2{font:800 clamp(24px,3vw,34px)/1.3 Manrope;letter-spacing:-1.2px;margin:7px 0 0}.section-heading h2 span{color:#7887a0}.section-heading>p{font-size:12px;color:var(--muted);max-width:340px;margin:0}.home-about{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px;box-shadow:0 10px 35px #1b3a7106}.about-visual{height:245px;display:grid;place-items:center;background:linear-gradient(145deg,#eff4ff,#f8faff);border-radius:11px;overflow:hidden;position:relative}.about-visual img{height:100%;width:100%;object-fit:contain;padding:3px}.about-visual-label{position:absolute;bottom:10px;left:12px;border-radius:7px;background:#fff;padding:5px 9px;font-size:9px;font-weight:700;color:var(--blue)}.home-about-copy h3{font:800 19px/1.45 Manrope;margin:0 0 10px}.home-about-copy p{font-size:12px;color:var(--muted);line-height:1.9;margin:0 0 16px}.text-link{font-size:11px;font-weight:800;color:var(--blue)}.text-link span{padding-left:5px}.link-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.link-card{min-height:116px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px;display:flex;gap:12px;align-items:flex-start;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s}.link-card:hover{transform:translateY(-3px);border-color:#cbd8f4;box-shadow:var(--shadow)}.link-card-icon{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;background:var(--pale);border-radius:9px;color:var(--blue);font-size:15px}.link-card h3{font:800 12px Manrope;margin:2px 0 4px}.link-card p{font-size:10px;line-height:1.5;color:var(--muted);margin:0}.card-arrow{position:absolute;right:13px;top:12px;color:#9ba8bc;font-size:12px}
.page-wrap{padding:48px 0 78px}.page-intro{margin:0 0 25px;padding:32px 35px;background:linear-gradient(110deg,#eff4ff 0%,#f9fbff 62%,#eaf5f3 100%);border:1px solid #e2eaf9;border-radius:15px;position:relative;overflow:hidden}.page-intro:after{content:'';position:absolute;width:230px;height:230px;border:1px solid #cad8f5;border-radius:50%;right:-40px;top:-120px;box-shadow:0 0 0 24px #ffffff40,0 0 0 50px #ffffff30}.page-intro h1{font-size:36px;letter-spacing:-1.7px;margin:9px 0}.page-intro h1 span{color:var(--blue)}.page-intro .lead{font-size:13px;max-width:670px;margin:0}.page-content{position:relative}.page-content section{padding:0;margin:0 0 25px;scroll-margin-top:100px}.page-content .section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 17px}.page-content .section-head h2{font:800 22px Manrope;letter-spacing:-.7px;margin:5px 0 0}.page-content .section-head p{font-size:11px;color:var(--muted);max-width:360px;text-align:right;margin:0}.page-content .panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;box-shadow:0 7px 25px #1e3a7005}.page-content .panel p{font-size:12px;line-height:1.9;color:var(--muted)}.page-content .about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.page-content .subhead{font:800 13px Manrope;margin-bottom:12px}.page-content .tags{display:flex;flex-wrap:wrap;gap:7px}.page-content .tag{font-size:10px;padding:6px 9px;background:#f2f5fc;color:#435578;border:1px solid #e8edf8;border-radius:5px}.page-content .research-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.research-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;position:relative;overflow:hidden;box-shadow:0 7px 25px #1e3a7005}.research-tile:after{content:'';position:absolute;width:100px;height:100px;border-radius:50%;background:#f3f6ff;right:-44px;top:-46px}.tile-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:var(--pale);color:var(--blue);font-size:18px;margin-bottom:14px;position:relative;z-index:1}.research-tile h2{font:800 14px Manrope;margin:0 0 8px}.research-tile p{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 14px}.tile-label{font-size:9px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:1px}.note-panel{background:#eff5ff;border-left:3px solid var(--blue);padding:15px 18px;border-radius:0 9px 9px 0;margin-top:17px}.note-panel strong{font:800 12px Manrope}.note-panel p{font-size:11px;color:#63728c;margin:4px 0 0}
.page-content .timeline{border-left:1px solid #dbe1ed;margin-left:8px;padding-left:24px;display:grid;gap:22px}.page-content .tl-item{position:relative}.page-content .tl-item:before{content:'';position:absolute;left:-29px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #edf2ff}.page-content .tl-item h3,.page-content .small-card h3,.page-content .pub h3{font:800 13px/1.55 Manrope;margin:0 0 4px}.page-content .tl-item .meta{font-size:10px;color:var(--blue);font-weight:800;margin-bottom:6px}.page-content .tl-item p{font-size:11px;color:var(--muted);margin:0}.page-content .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.page-content .small-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px;box-shadow:0 7px 25px #1e3a7005}.page-content .small-card .type{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--blue);font-weight:800}.page-content .small-card h3{margin:8px 0}.page-content .small-card p{font-size:10px;line-height:1.7;margin:0}.page-content .pub{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.page-content .pub:last-child{border-bottom:0}.page-content .pub-index{font:800 11px Manrope;color:#9ba9bf;width:24px;flex:0 0 24px}.page-content .pub p{font-size:10px;line-height:1.7;margin:0}.page-content .pub a{color:var(--blue);font-weight:800}.page-content .contact{background:#17233c;color:#fff;border-radius:14px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.page-content .contact h2{font:800 23px Manrope;margin:5px 0}.page-content .contact p{color:#bdc8db;font-size:11px;margin:0}.page-content .contact .button{background:#fff;color:#17233c}
.patent-panel{padding:0!important;overflow:hidden}.patent-table-head,.patent-row{display:grid;grid-template-columns:58px minmax(180px,1fr) 115px 68px 120px 90px;gap:10px;align-items:start;padding:12px 14px}.patent-table-head{background:#f1f5fc;color:#53617a;font-size:9px;font-weight:800;letter-spacing:.4px}.patent-row{border-top:1px solid var(--line);font-size:10px;color:#586477}.patent-no{color:#9aa4b5;font-weight:800}.patent-title{font-weight:700;color:var(--ink);line-height:1.55}.patent-app{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.patent-country{font-size:9px}.patent-status{display:inline-block;width:max-content;max-width:100%;border-radius:5px;padding:4px 7px;font-size:8px;font-weight:800;line-height:1.35;background:#f2f4f7;color:#596579}.patent-status.granted{background:#e8f5ef;color:#247a61}.patent-status.pending{background:#fff4df;color:#986516}.patent-certificate a{display:inline-block;color:var(--blue);font-size:9px;font-weight:800;white-space:nowrap}.patent-certificate a:hover{text-decoration:underline}
.page-content .feature{border-left:3px solid var(--blue);background:#f0f4ff;padding:16px 18px;border-radius:0 8px 8px 0;margin-top:15px}.page-content .feature small{color:var(--blue);font-weight:800;letter-spacing:1px;font-size:9px;text-transform:uppercase}.page-content .feature b{display:block;font:800 12px Manrope;margin:5px 0}.page-content .feature p{margin:0;font-size:10px}
.site-footer{background:#fff;border-top:1px solid var(--line);margin-top:10px}.footer-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#8792a5;font-size:10px}.footer-links{display:flex;gap:14px}.footer-links a:hover{color:var(--blue)}
@media(max-width:1020px){.main-nav{gap:12px;font-size:10px}.header-inner{gap:12px}.link-card-grid{grid-template-columns:repeat(2,1fr)}.hero{gap:35px}.patent-table-head,.patent-row{grid-template-columns:42px minmax(150px,1fr) 100px 55px 110px 78px;gap:7px;padding:11px}.patent-row{font-size:9px}}
@media(max-width:760px){.wrap{width:min(100% - 34px,600px)}.header-inner{height:67px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px 18px;box-shadow:0 15px 25px #152b4a12;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a,.main-nav a:not(.nav-cta){display:block;padding:10px 5px;font-size:12px;box-shadow:none}.main-nav .nav-contact{margin-top:7px;text-align:center}.hero{grid-template-columns:1fr;gap:15px;padding:35px 0 30px;min-height:auto}.hero-visual{grid-row:1;height:290px}.portrait-frame{height:260px;width:220px}.orbit-one{width:300px;height:220px}.orbit-two{width:260px;height:300px}.chip-top{top:17px;left:0}.chip-bottom{bottom:15px;right:0}.hero h1{font-size:46px;letter-spacing:-2.4px;margin-top:13px}.hero-role{font-size:13px}.lead{font-size:13px}.hero-description{font-size:11px}.social-links{gap:12px}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:50px}.metric-card{padding:12px;grid-template-columns:31px 1fr;column-gap:8px}.metric-icon{width:30px;height:30px;font-size:13px}.metric-card strong{font-size:10px}.metric-card small{font-size:9px}.home-section{padding-bottom:50px}.section-heading{display:block;margin-bottom:17px}.section-heading h2{font-size:25px}.section-heading>p{font-size:11px;margin-top:8px}.home-about{grid-template-columns:1fr;padding:13px;gap:17px}.about-visual{height:190px}.home-about-copy{padding:0 5px 7px}.home-about-copy h3{font-size:16px}.home-about-copy p{font-size:11px}.link-card-grid{gap:9px}.link-card{min-height:104px;padding:12px;gap:8px}.link-card-icon{width:30px;height:30px;flex-basis:30px;font-size:13px}.link-card h3{font-size:10px}.link-card p{font-size:9px}.page-wrap{padding:27px 0 50px}.page-intro{padding:23px 20px;margin-bottom:17px}.page-intro h1{font-size:29px;letter-spacing:-1.2px}.page-intro .lead{font-size:11px}.page-content section{margin-bottom:17px}.page-content .section-head{display:block;margin-bottom:12px}.page-content .section-head h2{font-size:19px}.page-content .section-head p{text-align:left;margin-top:5px;font-size:10px}.page-content .panel{padding:17px}.page-content .about-grid,.page-content .research-grid,.page-content .cards3{grid-template-columns:1fr}.page-content .small-card{padding:15px}.page-content .contact{display:block;padding:23px}.page-content .contact h2{font-size:20px}.page-content .contact .button{margin-top:15px}.patent-table-head{display:none}.patent-row{grid-template-columns:25px minmax(0,1fr) auto;gap:5px 9px;padding:12px}.patent-no{grid-row:1 / span 2}.patent-title{grid-column:2 / 4;font-size:10px}.patent-app{grid-column:2;font-size:9px}.patent-country{grid-column:3;grid-row:2;text-align:right}.patent-status{grid-column:2 / 4;grid-row:3}.patent-certificate{grid-column:2 / 4;grid-row:4}.patent-certificate a{font-size:10px}.footer-inner{padding:17px 0;min-height:unset;align-items:flex-start;flex-direction:column}.footer-links{flex-wrap:wrap;gap:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


/* Searchable scholarly catalogue */
.catalog-tools{display:grid;grid-template-columns:minmax(220px,1fr) 155px auto auto auto;gap:10px;align-items:center;margin:0 0 13px}
.catalog-search{display:flex;align-items:center;gap:11px;min-width:0;border:1px solid #e1e8f2;background:#fff;border-radius:11px;padding:0 15px;height:49px;color:#98a7bd}
.catalog-search-icon{font-size:27px;line-height:1;transform:rotate(-20deg)}.catalog-search input{border:0;outline:0;background:transparent;width:100%;min-width:0;color:var(--ink);font:500 13px 'DM Sans',sans-serif}.catalog-search input::placeholder{color:#8a95a8}
#catalog-sort,.catalog-control{height:49px;border:1px solid #e1e8f2;border-radius:10px;background:#fff;color:#46546b;padding:0 13px;font:600 12px 'DM Sans',sans-serif;cursor:pointer}#catalog-sort{min-width:0}.catalog-control:hover,.catalog-control[aria-pressed="true"]{border-color:#9eb9ed;background:#eff5ff;color:#214ca7}.catalog-count{white-space:nowrap;color:#8a97ac;font-size:12px;font-weight:700;text-align:right}.catalog-count strong{color:#986e0d}.catalog-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;padding:4px 0 2px}.catalog-filters[hidden]{display:none}.filter-chip{border:1px solid #e1e8f2;border-radius:99px;background:#fff;color:#63718a;padding:7px 12px;font:600 11px 'DM Sans',sans-serif;cursor:pointer}.filter-chip.active,.filter-chip:hover{background:#eaf2ff;border-color:#b8d2ff;color:#1f5ca8}.catalog-list{display:grid;gap:14px}.publication-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;border:1px solid #e5eaf2;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 8px 24px #1e3a7006;transition:transform .2s,border-color .2s,box-shadow .2s}.publication-card:hover{transform:translateY(-2px);border-color:#cbd9f2;box-shadow:0 14px 32px #1e3a7010}.publication-number{display:flex;justify-content:center;padding-top:23px;background:#28be73;color:#fff;font:800 17px Manrope;letter-spacing:.5px}.publication-main{padding:19px 21px 15px 0;min-width:0}.publication-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.publication-heading h3{font:800 16px/1.5 Manrope,sans-serif;color:#202a3c;margin:0 0 12px;letter-spacing:-.25px}.featured-flag{flex:0 0 auto;border-radius:99px;padding:4px 10px;background:#ffdf58;color:#68500b;font-size:9px;font-weight:900;letter-spacing:.5px;white-space:nowrap}.publication-meta{font-size:12px!important;line-height:1.75!important;color:#66748a!important;margin:0 0 12px!important}.publication-meta a{color:#2687d9!important;font-weight:700}.publication-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.publication-tag{border:1px solid #cfe1fb;background:#edf5ff;color:#2361a6;border-radius:99px;padding:4px 10px;font-size:10px;font-weight:700}.publication-tag:nth-child(3n+2){background:#fff0f8;border-color:#f6b9df;color:#a42e75}.publication-tag:nth-child(3n+3){background:#effbf3;border-color:#a9e8bf;color:#28734a}.publication-bottom{border-top:1px solid #e8f0ed;margin-top:5px;padding-top:10px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#7e8da2;font-size:11px}.publication-year{font-weight:700}.publication-open{color:#2581cb;font-size:11px;font-weight:800}.catalog-empty{padding:30px;text-align:center;border:1px dashed #ccd6e5;border-radius:12px;color:#718098;font-size:13px;background:#fff}.catalog-empty[hidden]{display:none}
/* Contact page */
.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:22px;align-items:stretch}.contact-aside{position:relative;overflow:hidden;background:#111217;color:#fff;border-radius:17px;padding:34px 31px;min-height:560px}.contact-orbit{position:absolute;right:-60px;top:-40px;width:210px;height:210px;border:1px solid #ffffff17;border-radius:50%;pointer-events:none}.contact-orbit:before,.contact-orbit:after{content:'';position:absolute;inset:18px;border:1px solid #ffffff12;border-radius:50%}.contact-orbit:after{inset:42px}.contact-orbit span{position:absolute;width:7px;height:7px;background:#8ce0cb;border-radius:50%;right:45px;top:43px;box-shadow:0 0 15px #8ce0cb88}.contact-orbit span:nth-child(2){right:110px;top:105px;background:#ffce55}.contact-orbit span:nth-child(3){right:70px;top:155px}.contact-kicker{position:relative;display:inline-flex;align-items:center;gap:9px;color:#f9d45c;background:#ffffff0d;border:1px solid #ffffff14;border-radius:99px;padding:7px 12px;font-size:9px;font-weight:900;letter-spacing:1px}.contact-aside .eyebrow-dot{background:#8ce0cb;box-shadow:0 0 0 4px #8ce0cb20}.contact-aside h2{position:relative;font:800 clamp(27px,3vw,39px)/1.2 Manrope,sans-serif;letter-spacing:-1.4px;margin:22px 0 13px;color:#fff}.contact-aside>p{position:relative;color:#c2c4cb;font-size:12px;line-height:1.9;max-width:360px;margin:0}.contact-divider{height:1px;background:#ffffff24;margin:28px 0 20px}.contact-aside h3{font:800 13px Manrope;margin:0 0 15px;color:#fff}.contact-channel{position:relative;display:flex;align-items:center;gap:13px;margin:14px 0;color:#fff}.channel-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:50%;background:#ffdc5d;color:#171717;font-size:18px;font-weight:900}.contact-channel small,.contact-channel strong{display:block}.contact-channel small{font-size:10px;color:#a9abb2;margin-bottom:1px}.contact-channel strong{font-size:12px;overflow-wrap:anywhere}.contact-form-card{background:#fff;border:1px solid #e5eaf2;border-radius:17px;padding:34px 32px;box-shadow:0 12px 35px #1e3a7007}.form-pill{display:inline-block;border-radius:99px;background:#fff8dc;color:#68530d;padding:6px 13px;font-size:9px;font-weight:900;letter-spacing:.5px}.form-heading h2{font:800 26px Manrope;letter-spacing:-.8px;color:#161c28;margin:12px 0 5px}.form-heading p{font-size:12px;color:#7a8596;margin:0 0 23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field>span{font-size:11px;font-weight:800;color:#4b5669}.form-field b{color:#db6557}.form-field input,.form-field textarea{width:100%;border:1px solid #edf0f4;border-radius:7px;background:#f5f7f8;padding:13px 14px;color:#202b3d;font:500 12px 'DM Sans',sans-serif;outline:none;transition:border .2s,background .2s}.form-field input{height:47px}.form-field textarea{resize:vertical;min-height:145px;line-height:1.6}.form-field input:focus,.form-field textarea:focus{border-color:#9eb9ed;background:#fff;box-shadow:0 0 0 3px #eaf1ff}.form-message{grid-column:1/-1}.send-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;margin-top:19px;padding:13px 21px;border:0;border-radius:99px;background:#ffda55;color:#181818;font:800 11px 'DM Sans',sans-serif;cursor:pointer;transition:transform .2s,box-shadow .2s}.send-button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #e2bb3b45}.form-privacy{font-size:10px;color:#8993a2;margin:11px 0 0}.honeypot{position:absolute!important;left:-5000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.success-wrap{min-height:80vh;display:grid;place-items:center;padding:25px}.success-card{max-width:520px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:45px;box-shadow:var(--shadow)}.success-icon{display:grid;place-items:center;margin:0 auto 20px;width:60px;height:60px;border-radius:50%;background:#e7f8ef;color:#209b61;font-size:28px;font-weight:900}.success-card h1{font:800 30px Manrope;line-height:1.25;margin:12px 0}.success-card p{color:var(--muted);font-size:13px}.success-card .send-button{text-decoration:none}
/* Right-edge slide-out quick profile panel */
.edge-menu-toggle{position:fixed;z-index:90;right:16px;top:48%;width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #e6eaf0;border-radius:14px;background:#fff;box-shadow:0 8px 28px #17233c1a;cursor:pointer;transition:transform .2s}.edge-menu-toggle:hover{transform:translateX(-3px)}.edge-menu-toggle span{display:block;width:18px;height:2px;background:#202a3a;border-radius:2px}.profile-drawer{position:fixed;z-index:102;right:0;top:0;height:100dvh;width:min(430px,92vw);overflow-y:auto;background:#111217;color:#fff;padding:70px 42px 32px;transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 70px #0004}.profile-drawer.open{transform:translateX(0)}.drawer-backdrop{position:fixed;z-index:101;inset:0;background:#090c14a8;backdrop-filter:blur(3px)}.drawer-backdrop[hidden]{display:none}.drawer-close{position:absolute;right:25px;top:22px;border:0;background:transparent;color:#aaa;font-size:36px;line-height:1;cursor:pointer}.drawer-monogram{width:62px;height:62px;border-radius:16px;background:#ffdc5d;color:#161616;display:grid;place-items:center;font:900 20px Manrope;margin-bottom:24px}.drawer-eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:900;color:#ffdc5d}.profile-drawer h2{font:800 33px Manrope;letter-spacing:-1.2px;margin:7px 0 15px;color:#fff}.drawer-bio{font-size:13px;line-height:1.8;color:#c3c5cc;margin:0}.drawer-rule{height:1px;background:#ffffff27;margin:27px 0 19px}.profile-drawer h3{font:800 17px Manrope;color:#fff;margin:0 0 16px}.drawer-contact{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:center;margin:17px 0}.drawer-contact>span{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffdc5d;color:#171717;font-size:18px;font-weight:900}.drawer-contact small{font-size:11px;color:#9fa2aa;line-height:1.4}.drawer-contact strong{font:800 13px Manrope;color:#fff;overflow-wrap:anywhere}.drawer-socials{display:flex;gap:12px;border-top:1px solid #ffffff27;margin-top:32px;padding-top:24px}.drawer-socials a{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#161616;font-size:18px;font-weight:900}.drawer-socials a:hover{background:#ffdc5d}
@media(max-width:900px){.catalog-tools{grid-template-columns:minmax(0,1fr) 145px auto}.catalog-count{grid-column:1/-1;text-align:left}.contact-layout{grid-template-columns:1fr 1.1fr}.contact-aside{padding:27px 23px}}
@media(max-width:760px){.catalog-tools{grid-template-columns:minmax(0,1fr) auto;gap:8px}.catalog-search{grid-column:1/-1;height:47px}.catalog-tools #catalog-sort{height:43px}.catalog-control{height:43px;padding:0 10px;font-size:11px}.catalog-count{grid-column:1/-1}.publication-card{grid-template-columns:43px minmax(0,1fr);gap:12px}.publication-number{padding-top:18px;font-size:13px}.publication-main{padding:15px 13px 13px 0}.publication-heading{display:block}.publication-heading h3{font-size:13px;margin-bottom:8px}.featured-flag{display:inline-block;margin-bottom:8px}.publication-meta{font-size:10px!important}.publication-tag{font-size:9px;padding:4px 8px}.publication-bottom{font-size:10px}.contact-layout{grid-template-columns:1fr}.contact-aside{min-height:unset;padding:27px 24px}.contact-aside h2{font-size:30px}.contact-form-card{padding:25px 20px}.form-grid{grid-template-columns:1fr;gap:13px}.form-message{grid-column:auto}.form-heading h2{font-size:23px}.edge-menu-toggle{right:10px;top:auto;bottom:18px;width:45px;height:45px;border-radius:13px}.profile-drawer{padding:66px 27px 28px}.drawer-close{right:18px;top:17px}.success-card{padding:32px 23px}.success-card h1{font-size:25px}}


/* Integrated professional gallery */
.gallery-page{padding-bottom:54px}
.gallery-meta{display:flex;align-items:center;justify-content:space-between;margin:8px 0 0;padding:0 2px 14px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}
.gallery-meta>span:first-child{display:flex;align-items:center;gap:9px}
.gallery-meta-dot{width:7px;height:7px;border-radius:50%;background:#3ab18b;box-shadow:0 0 0 4px #e2f5ee}
.gallery-count{font-size:10px;letter-spacing:1.4px;color:var(--muted);font-weight:800}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;padding:22px 0 0}
.gallery-photo{position:relative;display:block;width:100%;aspect-ratio:4/5;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#eaf0f8;cursor:pointer;text-align:left;isolation:isolate}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .3s}
.gallery-photo:hover img,.gallery-photo:focus-visible img{transform:scale(1.045);filter:brightness(.78)}
.gallery-photo:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.gallery-photo-overlay{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;padding:40px 16px 15px;color:#fff;font-size:12px;font-weight:700;opacity:0;background:linear-gradient(transparent,rgba(8,18,38,.78));transition:opacity .25s}
.gallery-photo:hover .gallery-photo-overlay,.gallery-photo:focus-visible .gallery-photo-overlay{opacity:1}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:54px 90px;background:rgba(4,10,22,.94);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.gallery-lightbox.open{opacity:1;visibility:visible}
.gallery-viewer{margin:0;max-width:min(78vw,1000px);max-height:calc(100vh - 115px);display:flex;flex-direction:column;align-items:center;gap:12px}
.gallery-viewer img{display:block;max-width:100%;max-height:calc(100vh - 160px);object-fit:contain;border-radius:7px;box-shadow:0 18px 80px rgba(0,0,0,.45)}
.gallery-viewer figcaption{width:100%;display:flex;justify-content:space-between;gap:20px;color:#d4deef;font-size:10px;letter-spacing:1.2px}
.gallery-close,.gallery-nav{position:absolute;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:white;display:grid;place-items:center;cursor:pointer;transition:background .2s}
.gallery-close:hover,.gallery-nav:hover{background:rgba(96,140,220,.28)}
.gallery-close{top:24px;right:28px;width:42px;height:42px;border-radius:50%;font-size:28px;font-weight:300}
.gallery-nav{top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;font-size:32px;font-weight:300}
.gallery-prev{left:28px}.gallery-next{right:28px}
.gallery-viewer-hint{position:absolute;bottom:18px;color:#aab6ca;font-size:10px;letter-spacing:.4px}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}}
@media(max-width:760px){.gallery-lightbox{padding:55px 60px}.gallery-viewer{max-width:85vw}.gallery-prev{left:10px}.gallery-next{right:10px}}
@media(max-width:480px){.gallery-grid{gap:9px;padding-top:15px}.gallery-photo{border-radius:9px}.gallery-photo-overlay{display:none}.gallery-lightbox{padding:55px 38px}.gallery-viewer{max-width:100%;width:100%}.gallery-viewer img{max-height:calc(100vh - 150px)}.gallery-nav{width:34px;height:34px;font-size:25px}.gallery-prev{left:5px}.gallery-next{right:5px}.gallery-close{top:12px;right:12px;width:36px;height:36px}.gallery-viewer figcaption{font-size:8px}}
@media(prefers-reduced-motion:reduce){.gallery-photo img,.gallery-lightbox,.gallery-photo-overlay{transition:none}}
