@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&display=swap');@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&display=swap');
/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
:root{--font-heading:"Montserrat",sans-serif;--font-body:"Proxima Nova","Inter",system-ui,sans-serif;--glass-light:rgba(255,255,255,0.14);--text:#eef4ff;--text-soft:#d7deee;--heading:#ffffff;--accent:#ff9a6b;--accent-soft:rgba(255,154,107,0.25);--border:rgba(255,255,255,0.18);--shadow:0 20px 50px rgba(20,28,45,0.18);--shadow-hover:0 30px 65px rgba(20,28,45,0.26);--menu-radius:clamp(80px,10vw,120px);--menu-bubble-size:clamp(64px,6vw,82px);}html,body{min-height:100%;}body{font-family:var(--font-body);position:relative;background:#1a1f3a;}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(255,170,120,0.25),transparent 30%),radial-gradient(circle at 80% 25%,rgba(255,120,180,0.22),transparent 30%),radial-gradient(circle at 50% 75%,rgba(120,160,255,0.18),transparent 35%),linear-gradient(180deg,#1a1f3a 0%,#2a2f55 25%,#4a3b6b 45%,#8c4a6d 65%,#ff8a5b 85%,#ffd2a8 100%);}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-0.02em;}.glass,body.path-projects .block-page-title-block,.projects-page .view-header{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,0.18),rgba(255,255,255,0.05)),linear-gradient(145deg,rgba(40,30,60,0.55),rgba(30,25,50,0.55));border:1px solid rgba(255,255,255,0.32);backdrop-filter:blur(29px) saturate(155%);-webkit-backdrop-filter:blur(29px) saturate(155%);box-shadow:0 8px 32px rgba(0,0,0,0.12),0 20px 50px rgba(20,28,45,0.12),inset 0 1px 0 rgba(255,255,255,0.55),inset 0 -1px 0 rgba(255,255,255,0.10),inset 0 0 34px 10px rgba(255,255,255,0.18);}.glass::before,body.path-projects .block-page-title-block::before,.projects-page .view-header::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0.24),transparent 14%,transparent 86%,rgba(255,255,255,0.10) 100%),linear-gradient(90deg,rgba(255,255,255,0.18),transparent 8%,transparent 92%,rgba(255,255,255,0.10) 100%);pointer-events:none;}.glass::after,body.path-projects .block-page-title-block::after,.projects-page .view-header::after{content:"";position:absolute;inset:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.14),rgba(255,154,107,0.18) 20%,rgba(255,120,180,0.12) 35%,transparent 50%);opacity:0;transition:opacity 0.22s ease;pointer-events:none;}.glass::before,.glass::after,.projects-page .views-row::before,.projects-page .views-row::after,body.path-projects .block-page-title-block::before,body.path-projects .block-page-title-block::after,.projects-page .view-header::before,.projects-page .view-header::after{border-radius:inherit;will-change:opacity,background;transform:translateZ(0);}.glass:hover::after,.projects-page .views-row:hover::after,body.path-projects .block-page-title-block:hover::after,.projects-page .view-header:hover::after{opacity:1;}body.path-projects .block-page-title-block{width:min(1400px,calc(100% - 48px));margin:0 auto 32px;padding:28px 32px;}body.path-projects .page-title,body.path-projects h1.title,body.path-projects .block-page-title-block h1,body.path-projects main h1:first-of-type,.projects-page .view-header,.projects-page .view-header h1,.projects-page .view-header h2{position:relative;z-index:1;margin:0;color:var(--heading) !important;font-family:var(--font-heading) !important;letter-spacing:-0.02em;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.05;}.floating-home-menu{position:fixed;left:24px;bottom:24px;z-index:1100;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:12px;}.floating-home-button{position:relative;z-index:3;width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;padding:0;appearance:none;cursor:pointer;border-radius:999px;color:var(--heading);background:linear-gradient(135deg,rgba(255,255,255,0.18),rgba(255,255,255,0.05)),linear-gradient(145deg,rgba(40,30,60,0.55),rgba(30,25,50,0.55));border:1px solid rgba(255,255,255,0.32);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%);box-shadow:0 8px 32px rgba(0,0,0,0.12),0 20px 50px rgba(20,28,45,0.12),inset 0 1px 0 rgba(255,255,255,0.55),inset 0 -1px 0 rgba(255,255,255,0.10);transition:transform 0.22s ease,box-shadow 0.22s ease,border-color 0.22s ease,color 0.22s ease;}.floating-home-button::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,0.24),transparent 14%,transparent 86%,rgba(255,255,255,0.10) 100%),linear-gradient(90deg,rgba(255,255,255,0.18),transparent 8%,transparent 92%,rgba(255,255,255,0.10) 100%);pointer-events:none;}.floating-home-button:hover{transform:translateY(-4px);border-color:rgba(255,154,107,0.38);color:var(--accent);box-shadow:0 14px 42px rgba(0,0,0,0.14),0 28px 60px rgba(20,28,45,0.18),inset 0 1px 0 rgba(255,255,255,0.60),inset 0 -1px 0 rgba(255,255,255,0.12),inset 0 0 24px 6px rgba(255,154,107,0.16);}.floating-home-button__icon{position:absolute;z-index:1;font-size:1.5rem;line-height:1;transition:opacity 0.18s ease,transform 0.18s ease;}.floating-home-button__icon--close{opacity:0;transform:scale(0.7) rotate(-90deg);}.floating-home-menu.is-open .floating-home-button__icon--home{opacity:0;transform:scale(0.7) rotate(90deg);}.floating-home-menu.is-open .floating-home-button__icon--close{opacity:1;transform:scale(1) rotate(0deg);}.floating-home-actions{position:relative;z-index:2;display:flex;flex-direction:row;gap:14px;align-items:center;pointer-events:none;}.floating-home-action{position:relative;z-index:2;width:var(--menu-bubble-size);height:var(--menu-bubble-size);display:flex;align-items:center;justify-content:center;text-decoration:none;opacity:0;transform:translateY(12px) scale(0.85);pointer-events:none;border-radius:999px;color:var(--heading);background:linear-gradient(135deg,rgba(255,255,255,0.18),rgba(255,255,255,0.05)),linear-gradient(145deg,rgba(40,30,60,0.55),rgba(30,25,50,0.55));border:1px solid rgba(255,255,255,0.28);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%);box-shadow:0 8px 28px rgba(0,0,0,0.12),0 16px 40px rgba(20,28,45,0.12),inset 0 1px 0 rgba(255,255,255,0.45),inset 0 -1px 0 rgba(255,255,255,0.08);transition:opacity 0.22s ease,transform 0.22s ease,box-shadow 0.22s ease,border-color 0.22s ease,color 0.22s ease;}.floating-home-action span{width:70px;text-align:center;font-family:var(--font-heading);font-size:0.88rem;line-height:1.15;letter-spacing:-0.02em;pointer-events:none;}.floating-home-menu.is-open .floating-home-actions{pointer-events:auto;}.floating-home-menu.is-open .floating-home-action{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}.floating-home-action:hover{transform:translateY(-4px) scale(1.05);color:var(--accent);border-color:rgba(255,154,107,0.38);box-shadow:0 14px 36px rgba(0,0,0,0.14),0 20px 48px rgba(20,28,45,0.16),inset 0 1px 0 rgba(255,255,255,0.55),inset 0 -1px 0 rgba(255,255,255,0.12),inset 0 0 20px 6px rgba(255,154,107,0.14);}.floating-home-menu.is-open .floating-home-action:nth-child(1){transition-delay:0.04s;}.floating-home-menu.is-open .floating-home-action:nth-child(2){transition-delay:0.08s;}.floating-home-menu.is-open .floating-home-action:nth-child(3){transition-delay:0.12s;}.floating-home-menu.is-open .floating-home-action:nth-child(4){transition-delay:0.16s;}@media (max-width:700px){.floating-home-menu{left:16px;bottom:16px;gap:10px;}.floating-home-button{width:52px;height:52px;}.floating-home-button__icon{font-size:1.35rem;}.floating-home-actions{gap:10px;flex-wrap:wrap;max-width:calc(100vw - 32px);}.floating-home-action span{width:58px;font-size:0.78rem;}}@media (max-width:500px){:root{--menu-bubble-size:72px;}}
:root{--font-heading:"Montserrat",sans-serif;--font-body:"Proxima Nova","Inter",system-ui,sans-serif;--text:#eef4ff;--text-soft:#d7deee;--heading:#ffffff;--accent:#ff9a6b;}html,body{min-height:100%;}body{font-family:var(--font-body);position:relative;background:#1a1f3a;}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(255,170,120,0.25),transparent 30%),radial-gradient(circle at 80% 25%,rgba(255,120,180,0.22),transparent 30%),radial-gradient(circle at 50% 75%,rgba(120,160,255,0.18),transparent 35%),linear-gradient(180deg,#1a1f3a 0%,#2a2f55 25%,#4a3b6b 45%,#8c4a6d 65%,#ff8a5b 85%,#ffd2a8 100%);}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-0.02em;}.projects-page{width:min(1280px,calc(100% - 48px));margin:0 auto;padding:0 0 72px;}.projects-page .view-header,body.path-projects .block-page-title-block{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,0.18),rgba(255,255,255,0.05)),linear-gradient(145deg,rgba(40,30,60,0.55),rgba(30,25,50,0.55));border:1px solid rgba(255,255,255,0.32);backdrop-filter:blur(29px) saturate(155%);-webkit-backdrop-filter:blur(29px) saturate(155%);box-shadow:0 8px 32px rgba(0,0,0,0.12),0 20px 50px rgba(20,28,45,0.12),inset 0 1px 0 rgba(255,255,255,0.55),inset 0 -1px 0 rgba(255,255,255,0.10),inset 0 0 34px 10px rgba(255,255,255,0.18);}.projects-page .view-header{margin-bottom:28px;padding:28px 32px;}.projects-page .view-header,.projects-page .view-header h1,.projects-page .view-header h2,body.path-projects .page-title,body.path-projects h1.title,body.path-projects .block-page-title-block h1{margin:0;color:var(--heading) !important;font-family:var(--font-heading) !important;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.05;}.projects-page .view-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;align-items:stretch;}.projects-page .views-row{position:relative;overflow:hidden;min-height:320px;display:flex;flex-direction:column;margin:0 !important;padding:32px !important;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,0.18),rgba(255,255,255,0.06)),linear-gradient(145deg,rgba(96,108,146,0.48),rgba(70,78,108,0.50));border:1px solid rgba(255,255,255,0.32);backdrop-filter:blur(29px) saturate(155%);-webkit-backdrop-filter:blur(29px) saturate(155%);box-shadow:0 8px 32px rgba(0,0,0,0.12),0 20px 50px rgba(20,28,45,0.12),inset 0 1px 0 rgba(255,255,255,0.55),inset 0 -1px 0 rgba(255,255,255,0.10),inset 0 0 34px 10px rgba(255,255,255,0.18);transition:transform 0.22s ease,box-shadow 0.22s ease,border-color 0.22s ease;}.projects-page .views-row::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,0.24),transparent 14%,transparent 86%,rgba(255,255,255,0.10) 100%),linear-gradient(90deg,rgba(255,255,255,0.18),transparent 8%,transparent 92%,rgba(255,255,255,0.10) 100%);pointer-events:none;}.projects-page .views-row::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.14),rgba(179,140,255,0.16) 24%,rgba(255,154,107,0.08) 40%,transparent 52%);opacity:0;transition:opacity 0.22s ease;pointer-events:none;}.projects-page .views-row.is-hovered::after{opacity:1;}.projects-page .views-row:hover{transform:translateY(-8px);box-shadow:0 14px 42px rgba(0,0,0,0.14),0 28px 60px rgba(20,28,45,0.18),inset 0 1px 0 rgba(255,255,255,0.60),inset 0 -1px 0 rgba(255,255,255,0.12),inset 0 0 40px 10px rgba(179,140,255,0.16);border-color:rgba(179,140,255,0.34);}.projects-page .views-field{position:relative;z-index:1;display:block;min-width:0;}.projects-page .views-field-field-project-image{margin-bottom:12px;}.projects-page .views-field-field-project-image .field-content{display:flex;align-items:center;justify-content:center;min-height:150px;}.projects-page .views-field-field-project-image img{display:block;max-width:100%;max-height:150px;width:auto;height:auto;object-fit:contain;border-radius:16px;}.projects-page .views-field-title{margin:0 0 16px;}.projects-page .views-field-title a{color:var(--heading);text-decoration:none;font-family:var(--font-heading);font-size:2rem;font-weight:700;letter-spacing:-0.02em;line-height:1.05;transition:color 0.22s ease,text-shadow 0.22s ease;}.projects-page .views-row:hover .views-field-title a{color:var(--accent);text-shadow:0 0 18px rgba(179,140,255,0.22);}.projects-page .views-field-field-project-summary,.projects-page .views-field-field-project-summary p,.projects-page .views-field-field-project-summary li{color:var(--text-soft) !important;line-height:1.8;}.projects-page .views-field-field-project-summary p{margin:0;}.projects-page .views-field-field-sort-date,.projects-page .views-field-field-sort-date *{color:var(--text-soft) !important;}.projects-page .views-field-field-sort-date{margin-top:auto;padding-top:24px;opacity:0.7;font-size:0.9rem;line-height:1.6;}@media (max-width:1100px){.projects-page{width:calc(100% - 48px);}.projects-page .view-content{grid-template-columns:1fr;}}@media (max-width:700px){.projects-page{width:calc(100% - 32px);}.projects-page .views-row{padding:24px !important;}}.project-node{width:min(1280px,calc(100% - 48px));margin:0 auto;padding:0 0 72px;}.project-node__hero{position:relative;overflow:hidden;padding:40px 42px;margin-bottom:28px;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,0.18),rgba(255,255,255,0.05)),linear-gradient(145deg,rgba(40,30,60,0.55),rgba(30,25,50,0.55));border:1px solid rgba(255,255,255,0.32);backdrop-filter:blur(29px) saturate(155%);-webkit-backdrop-filter:blur(29px) saturate(155%);box-shadow:0 8px 32px rgba(0,0,0,0.12),0 20px 50px rgba(20,28,45,0.12),inset 0 1px 0 rgba(255,255,255,0.55),inset 0 -1px 0 rgba(255,255,255,0.10),inset 0 0 34px 10px rgba(255,255,255,0.18);}.project-node__hero::before,.project-node__main::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,0.24),transparent 14%,transparent 86%,rgba(255,255,255,0.10) 100%),linear-gradient(90deg,rgba(255,255,255,0.18),transparent 8%,transparent 92%,rgba(255,255,255,0.10) 100%);pointer-events:none;}.project-node__hero::after,.project-node__main::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.14),rgba(179,140,255,0.16) 24%,rgba(255,154,107,0.08) 40%,transparent 52%);opacity:0;transition:opacity 0.22s ease;pointer-events:none;}.project-node__hero.is-hovered::after,.project-node__main.is-hovered::after{opacity:1;}.project-node__hero-inner,.project-node__image,.project-node__body{position:relative;z-index:1;}.project-node__date{display:inline-flex;align-items:center;min-height:36px;padding:8px 14px;margin-bottom:18px;border-radius:999px;color:var(--text-soft);font-size:0.92rem;line-height:1;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);}.project-node__title{margin:0 0 18px;color:var(--heading);font-family:var(--font-heading);font-size:clamp(2.6rem,5vw,4.4rem);line-height:0.98;letter-spacing:-0.03em;}.project-node__summary,.project-node__summary p{margin:0;color:var(--text-soft);font-size:1.1rem;line-height:1.8;max-width:72ch;}.project-node__layout{display:block;}.project-node__main{position:relative;overflow:hidden;padding:34px;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,0.16),rgba(255,255,255,0.05)),linear-gradient(145deg,rgba(55,45,78,0.56),rgba(38,32,62,0.56));border:1px solid rgba(255,255,255,0.28);backdrop-filter:blur(29px) saturate(155%);-webkit-backdrop-filter:blur(29px) saturate(155%);box-shadow:0 8px 32px rgba(0,0,0,0.12),0 20px 50px rgba(20,28,45,0.12),inset 0 1px 0 rgba(255,255,255,0.5),inset 0 -1px 0 rgba(255,255,255,0.08),inset 0 0 28px 8px rgba(255,255,255,0.12);}.project-node__body{color:var(--text-soft);font-size:1.02rem;line-height:1.9;}.project-node__body > *:first-child{margin-top:0;}.project-node__body > *:last-child{margin-bottom:0;}.project-node__body p,.project-node__body li,.project-node__body blockquote{color:var(--text-soft);}.project-node__body h2,.project-node__body h3,.project-node__body h4{color:var(--heading);margin-top:1.8em;margin-bottom:0.7em;line-height:1.15;}.project-node__body h2{font-size:clamp(1.8rem,3vw,2.4rem);}.project-node__body h3{font-size:clamp(1.4rem,2.4vw,1.8rem);}.project-node__body a{color:var(--accent);text-decoration:none;}.project-node__body a:hover{text-decoration:underline;}.project-node__body ul,.project-node__body ol{padding-left:1.4rem;}.project-node__body blockquote{margin:1.6rem 0;padding:1rem 1.2rem;border-left:3px solid rgba(255,154,107,0.5);background:rgba(255,255,255,0.05);border-radius:14px;}.project-node__body code{padding:0.16em 0.4em;border-radius:8px;background:rgba(255,255,255,0.08);color:#fff3eb;}.project-node__body pre{padding:18px 20px;overflow-x:auto;border-radius:18px;background:rgba(12,14,24,0.42);border:1px solid rgba(255,255,255,0.1);}.project-node__body pre code{padding:0;background:transparent;}@media (max-width:900px){.project-node{width:calc(100% - 32px);}.project-node__hero,.project-node__main{padding:26px;border-radius:24px;}.project-node__image img{border-radius:18px;}}.project-node__hero-grid{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:center;}.project-node__hero-text{min-width:0;}.project-node__hero-image{display:flex;justify-content:center;align-items:center;}.project-node__hero-image img{width:100%;max-width:260px;height:auto;object-fit:contain;border-radius:20px;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.04);box-shadow:0 10px 30px rgba(0,0,0,0.16),inset 0 1px 0 rgba(255,255,255,0.18);}@media (max-width:800px){.project-node__hero-grid{grid-template-columns:1fr;}.project-node__hero-image{margin-top:16px;}.project-node__hero-image img{max-width:180px;}}
