/* Hasan Murad - Portfolio | Works completely offline */
:root{--bg:#080e1a;--surface:#0c1424;--surface2:#111d30;--border:#233048;--text:#eaf1ff;--muted:#96a6be;--dim:#71819a;--accent:#55e0b8;--accent2:#72a3ff;--radius:24px;--content:1170px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px;overflow-x:clip}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:#55e0b8;color:#041015}.container{width:min(var(--content),calc(100% - 80px));margin-inline:auto}.section{padding-block:112px;position:relative}.accent{color:var(--accent)}.skip-link{position:absolute;top:-100px;left:10px;z-index:100;padding:12px 20px;background:#fff;color:#101827}.skip-link:focus{top:10px}.ambient{position:absolute;z-index:-1;pointer-events:none;filter:blur(88px);border-radius:50%}.ambient-one{height:440px;width:min(440px,100vw);top:70px;left:0;background:#15365435}.ambient-two{height:480px;width:min(500px,100vw);top:125px;right:0;background:#172b5535}
/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(8,14,26,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.055)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{font-size:21px;letter-spacing:-.8px;display:inline-flex;align-items:center;gap:12px;font-weight:800;flex-shrink:0}.brand-mark{height:40px;width:40px;border:1px solid #398e84;color:var(--accent);display:grid;place-items:center;border-radius:13px;font:700 14px/1 ui-monospace,monospace;background:#14312e}.brand-dot{color:var(--accent)}.main-nav{display:flex;align-items:center;gap:36px;margin-left:auto}.main-nav a{font-size:13px;font-weight:600;color:#a7b6cc;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:20px}.lang-switch{border:0;background:none;color:#bbcce2;font-size:12px;font-weight:700;letter-spacing:.1px;cursor:pointer;white-space:nowrap}.lang-switch:hover{color:var(--accent)}.lang-switch span{color:var(--accent);margin-left:4px}.button{border:1px solid transparent;border-radius:12px;font-size:13px;font-weight:800;padding:16px 23px;display:inline-flex;align-items:center;justify-content:center;gap:22px;white-space:nowrap;transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--accent);color:#06151c;box-shadow:0 8px 35px rgba(69,217,173,.12)}.button-primary:hover{background:#8ff2d0}.button-outline{background:#111c2a75;border-color:#33445a;color:var(--text)}.button-outline:hover{border-color:var(--accent)}.button-small{padding:11px 17px;border-radius:9px;font-size:12px;gap:16px}.menu-toggle{display:none;background:transparent;border:none;width:38px;height:38px;padding:7px;cursor:pointer;flex-direction:column;justify-content:space-around}.menu-toggle span{display:block;width:24px;height:2px;background:#dce7f7;border-radius:2px}
/* Hero */
.hero{min-height:690px;padding-block:125px 105px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:28px}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:10px;background:#10292b;border:1px solid #246158;border-radius:99px;padding:8px 15px;color:#bceedd;font-size:12px;font-weight:600;margin-bottom:34px}.pulse{width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px #52dca52c}.hero-intro{font-size:12px;letter-spacing:3px;color:var(--accent);font-weight:800;margin:0 0 10px}.hero h1{font-size:clamp(56px,6vw,86px);letter-spacing:-5.4px;line-height:1.06;margin:0 0 25px;font-weight:850}.hero h1 span{display:block;background:linear-gradient(90deg,#57e4b9 5%,#7ac1e9 54%,#b4b8ff);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-lead{max-width:540px;font-size:clamp(20px,2vw,25px);font-weight:650;letter-spacing:-.6px;line-height:1.43;margin:0 0 15px}.hero-description{max-width:505px;font-size:14px;line-height:1.85;color:var(--muted);margin:0}.hero-buttons{display:flex;flex-wrap:wrap;gap:13px;margin-top:31px}.hero-bottom{display:flex;align-items:center;gap:15px;margin-top:61px;color:var(--dim);font-size:10px;letter-spacing:2.2px;font-weight:800}.hero-line{width:34px;height:1px;background:var(--accent)}.hero-visual{height:465px;position:relative;display:grid;place-items:center;isolation:isolate}.visual-rings{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);border:1px solid #4d668b34;border-radius:50%;z-index:-1}.ring-a{width:540px;height:540px}.ring-b{width:400px;height:400px;box-shadow:0 0 85px #103b4a22}.floating-shape{position:absolute;border:1px solid #4aa8ac54;transform:rotate(45deg);background:#153b4730;z-index:-1}.floating-shape-one{width:46px;height:46px;top:4%;right:6%;border-radius:9px}.floating-shape-two{width:25px;height:25px;bottom:3%;left:5%;border-radius:5px}.network-card{width:min(100%,475px);border:1px solid #345472;background:linear-gradient(140deg,#122238f7,#0a1424f7);border-radius:24px;padding:20px 20px 23px;box-shadow:0 30px 100px #000a,0 0 65px #4ec9bd14;transform:rotate(-2deg);animation:float 7s ease-in-out infinite}.card-title{display:flex;align-items:center;gap:10px;font-weight:750;font-size:13px}.signal-icon{color:var(--accent);font-size:23px;line-height:1}.tiny-status{margin-left:auto;font-family:ui-monospace,monospace;letter-spacing:1px;font-size:9px;font-weight:700;color:#81bcba;display:flex;align-items:center;gap:7px}.tiny-status span{height:6px;width:6px;background:var(--accent);border-radius:100%}.network-graphic{margin-top:4px;background:radial-gradient(ellipse at center,#26466b45,transparent 72%);border:1px solid #21324c;border-radius:16px;overflow:hidden}.network-graphic svg{display:block;width:100%;height:auto}.terminal{background:#060d19;border:1px solid #253750;border-radius:12px;overflow:hidden;margin-top:15px;padding-bottom:15px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:#dbe7fa}.terminal-toolbar{height:36px;background:#131d2c;border-bottom:1px solid #253750;display:flex;align-items:center;gap:6px;padding:0 12px;color:#8190a5;font-size:10px}.terminal-toolbar i{width:7px;height:7px;border-radius:50%;background:#ff8475}.terminal-toolbar i:nth-child(2){background:#ffcd65}.terminal-toolbar i:nth-child(3){background:#55d8a7}.terminal-toolbar span{margin-left:7px}.terminal-line,.terminal-answer{padding-left:17px;margin-top:7px}.terminal-prompt,.terminal-answer{color:var(--accent)}.terminal-answer{margin-top:2px}.terminal-cursor{animation:blink 1.2s step-end infinite}.muted-line{color:#7e98ad}.floating-label{position:absolute;border:1px solid #3d6075;background:#13273adf;backdrop-filter:blur(8px);padding:11px 15px;border-radius:12px;font-size:11px;color:#dce7f7;font-weight:700;display:flex;align-items:center;gap:9px;box-shadow:0 12px 32px #0007}.floating-label-top{top:6%;left:-4%;transform:rotate(4deg)}.floating-label-bottom{bottom:7%;right:-3%;transform:rotate(3deg)}.mini-check{background:#214e43;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;color:var(--accent)}.floating-symbol{color:var(--accent);font-family:monospace;font-size:18px}
/* Ticker */
.ticker-bar{border-top:1px solid #253044;border-bottom:1px solid #253044;background:#0c1626;overflow:hidden}.ticker-inner{max-width:1170px;min-height:77px;margin:auto;display:flex;justify-content:space-around;align-items:center;gap:30px;padding:18px 36px;white-space:nowrap}.ticker-inner span{color:#9cb0cc;font-size:10px;font-weight:800;letter-spacing:1.7px}.ticker-inner b{color:var(--accent);font-weight:400}
/* Content */
.section-kicker{font-size:11px;letter-spacing:2.5px;font-weight:800;color:var(--accent);display:block;margin-bottom:18px}.section-head{margin-bottom:47px}.section-head h2,.contact-panel h2{font-size:clamp(35px,4.4vw,55px);line-height:1.18;letter-spacing:-2.6px;margin:0;font-weight:800}.section-subtitle{margin:12px 0 0;color:var(--muted);font-size:15px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-text .large-paragraph{color:#e8f0fd;letter-spacing:-.65px;line-height:1.55;font-size:clamp(20px,2.4vw,29px);font-weight:650;margin:0 0 24px}.about-text>p:not(.large-paragraph){font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 24px}.text-link{font-weight:800;font-size:13px;color:var(--accent);border-bottom:1px solid #297668;padding-bottom:5px;display:inline-flex;align-items:center;gap:32px}.text-link:hover{color:#b2ffe2}.about-aside{display:grid;gap:15px}.about-tile{border:1px solid var(--border);border-radius:18px;padding:23px 27px;background:linear-gradient(130deg,#101c2e,#0b1524);display:grid;grid-template-columns:45px 1fr;column-gap:8px;align-items:center}.tile-icon{grid-row:span 2;font-size:33px;color:var(--accent)}.tile-heading{font-weight:800;font-size:16px}.about-tile p{margin:4px 0 0;color:var(--muted);font-size:13px}.section-tinted{background:linear-gradient(180deg,#0c1726,#0d1727);border-top:1px solid #1a2b40;border-bottom:1px solid #1a2b40}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.skill-card{background:#111d2e;border:1px solid #273650;border-radius:18px;padding:26px;min-height:155px;transition:border-color .25s,transform .25s var(--ease)}.skill-card:hover{border-color:#518f89;transform:translateY(-5px)}.skill-icon{height:40px;width:40px;display:grid;place-items:center;background:#19382f;color:var(--accent);border:1px solid #235d4d;border-radius:11px;font-size:23px;margin-bottom:17px}.skill-title{font-weight:800;font-size:16px;margin:0 0 5px}.skill-detail{color:var(--muted);font-size:12px;margin:0}.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.project-count{border:1px solid #31435b;border-radius:9px;display:inline-flex;gap:10px;align-items:center;padding:9px 15px;font-size:19px;font-weight:800;color:var(--accent);white-space:nowrap}.project-count span{font-size:10px;color:var(--muted);letter-spacing:1px}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{border:1px solid #2a3a50;border-radius:20px;background:#0e1a29;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease),border-color .3s}.project-card:hover{transform:translateY(-6px);border-color:#4a8681}.project-art{height:200px;position:relative;overflow:hidden;padding:20px;display:grid;place-items:center}.project-art.hotspot{background:radial-gradient(ellipse at 50% 120%,#38bd9a80,transparent 65%),linear-gradient(140deg,#164237,#0b2c30)}.project-art.news{background:radial-gradient(ellipse at 80% 0,#8295ef70,transparent 56%),linear-gradient(140deg,#25314e,#161d3d)}.project-art.network{background:radial-gradient(ellipse at 50% 110%,#587ada5e,transparent 60%),linear-gradient(140deg,#142943,#0b1b32)}.project-art:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:20px 20px;mask-image:linear-gradient(90deg,transparent,#000,transparent)}.project-art .art-window{width:77%;height:132px;border:1px solid #ffffff4a;border-radius:12px;background:#101d2ecc;box-shadow:0 18px 40px #02091880;position:relative;z-index:1;padding:12px;transform:rotate(-5deg)}.project-art.news .art-window{transform:rotate(5deg)}.project-art.network .art-window{transform:rotate(-4deg)}.window-dots{display:flex;gap:4px;margin-bottom:12px}.window-dots i{height:5px;width:5px;border-radius:50%;background:#ffffff78}.mock-icon{font-size:27px;line-height:1;color:var(--accent);margin-bottom:6px}.mock-line{height:7px;width:75%;border-radius:3px;background:#8eaacb5d;margin:7px 0}.mock-line.short{width:46%;background:#56d7b989}.mock-line.wide{width:95%}.project-art.news .mock-line{height:11px;margin:5px 0}.project-art.network .mock-line{height:9px}.art-pill{position:absolute;z-index:2;font-size:10px;font-weight:800;border:1px solid #527c92;background:#132b40;border-radius:40px;bottom:15px;right:15px;padding:6px 10px;color:#dbf7eb}.project-info{padding:25px 23px;display:flex;flex-direction:column;flex:1}.project-overline{color:var(--accent);font-size:10px;letter-spacing:1.5px;font-weight:800}.project-title{font-size:21px;font-weight:800;letter-spacing:-.55px;margin:12px 0 11px}.project-description{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 20px;flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}.project-tags span{border:1px solid #304056;color:#99afc8;background:#152238;border-radius:7px;font-size:10px;font-weight:700;padding:5px 8px}.project-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #26374b;padding-top:18px;font-weight:800;font-size:13px}.project-link>span:last-child{display:grid;place-items:center;border:1px solid #385e61;color:var(--accent);border-radius:100%;width:28px;height:28px;transition:background .2s}.project-card:hover .project-link>span:last-child{background:#1c4b40}.projects-note{margin-top:23px;color:#8598b0;font-size:12px;display:flex;align-items:flex-start;gap:10px}.projects-note>span:first-child{color:var(--accent);font-size:16px}
/* Contact */
.contact{padding-top:30px;padding-bottom:100px}.contact-panel{background:linear-gradient(115deg,#153a41,#10253d 62%,#18254c);border:1px solid #2b5b63;border-radius:27px;min-height:380px;padding:65px 65px;position:relative;overflow:hidden}.contact-content{position:relative;z-index:2;max-width:730px}.contact-panel h2{margin-bottom:22px}.contact-panel p{color:#bdcadb;font-size:15px;max-width:510px}.contact-actions{margin-top:25px;display:flex;flex-wrap:wrap;gap:12px}.contact-unset{color:#c2d6da;font-size:12px;background:#102a39;padding:14px;border-radius:8px;border:1px dashed #537483}.contact-orb{position:absolute;right:-130px;bottom:-220px;width:610px;height:610px;border-radius:50%;border:1px solid #79dab929;box-shadow:0 0 0 50px #73e0c10a,0 0 0 110px #81acff0b,0 0 0 180px #67e8bd08}.contact-deco{position:absolute;right:10%;top:20%;width:130px;height:130px;border-radius:25px;display:grid;place-items:center;font:900 40px monospace;color:#83e6cf40;transform:rotate(-18deg)}.contact-deco span:nth-child(2){position:absolute;font-size:13px;right:-50px;top:-30px}.contact-deco span:nth-child(3){position:absolute;font-size:60px;left:-20px;bottom:-80px}.site-footer{border-top:1px solid #263348;padding:29px 0 38px}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{display:flex;align-items:center;gap:20px}.footer-name{color:#edf5ff;font-weight:800;font-size:14px}.footer-brand>span:last-child,.footer-right{color:#798da4;font-size:12px}.footer-right{display:flex;align-items:center;gap:40px}.footer-right a{color:#b4c4d6}.footer-right a:hover{color:var(--accent)}.toast{pointer-events:none;position:fixed;z-index:90;bottom:20px;left:50%;transform:translate(-50%,18px);opacity:0;background:#163d34;color:#e4fff4;border:1px solid #66c49c;border-radius:10px;padding:12px 20px;font-size:13px;font-weight:700;box-shadow:0 12px 40px #0006;transition:opacity .2s,transform .2s}.toast.show{transform:translate(-50%,0);opacity:1}
@keyframes blink{50%{opacity:0}}@keyframes float{50%{transform:translateY(-10px) rotate(-1deg)}}
@media(max-width:1100px){.hero{grid-template-columns:1fr 1fr;gap:15px}.hero h1{font-size:62px}.floating-label-top{left:0}.floating-label-bottom{right:0}.about-grid{gap:50px}.ticker-inner{gap:24px}.ticker-inner span{font-size:9px}}
@media(max-width:850px){.container{width:min(100% - 44px,680px)}.header-inner{height:74px}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#0b1626;border-bottom:1px solid #2a3b52;padding:16px 22px 24px;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px 6px;font-size:15px}.menu-toggle{display:flex}.desktop-contact{display:none}.hero{grid-template-columns:1fr;min-height:0;padding-block:80px 65px}.hero h1{font-size:clamp(55px,10vw,80px)}.hero-visual{max-width:570px;margin:15px auto 0;width:100%;height:440px}.hero-bottom{margin-top:35px}.ticker-inner{justify-content:flex-start;overflow:auto}.ticker-inner::-webkit-scrollbar{display:none}.section{padding-block:80px}.about-grid{grid-template-columns:1fr;gap:30px}.about-aside{grid-template-columns:1fr 1fr}.skills-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:repeat(2,1fr)}.contact-panel{padding:55px 36px}.contact-deco{right:1%;opacity:.5}.contact{padding-top:0}}
@media(max-width:570px){.container{width:calc(100% - 36px)}.brand{font-size:18px}.brand-mark{height:36px;width:36px;border-radius:10px}.header-actions{gap:10px}.lang-switch{font-size:12px}.hero{padding-block:60px 38px;gap:0}.hero h1{font-size:clamp(50px,13vw,70px);letter-spacing:-3.6px}.hero-intro{letter-spacing:2px}.hero-lead{font-size:21px}.hero-description{font-size:13px}.eyebrow{margin-bottom:29px}.hero-buttons{gap:10px}.hero-buttons .button{padding:14px 17px;font-size:12px;gap:12px}.hero-visual{height:350px;margin-top:22px}.network-card{width:93%;padding:13px;border-radius:16px}.network-graphic svg{height:175px}.terminal{font-size:10px;padding-bottom:9px}.terminal-toolbar{height:27px}.floating-label{font-size:9px;padding:7px 9px}.floating-label-top{top:1%;left:-3%}.floating-label-bottom{bottom:0;right:-2%}.ring-a{width:370px;height:370px}.ring-b{width:270px;height:270px}.ticker-inner{padding-inline:20px;min-height:60px}.section{padding-block:65px}.section-head{margin-bottom:30px}.section-head h2,.contact-panel h2{font-size:36px;letter-spacing:-1.5px}.about-aside{grid-template-columns:1fr}.about-tile{padding:21px}.skills-grid{grid-template-columns:1fr 1fr;gap:10px}.skill-card{padding:16px;min-height:155px}.skill-title{font-size:14px}.skill-detail{font-size:11px}.projects-grid{grid-template-columns:1fr}.project-art{height:200px}.section-heading-row{align-items:flex-start}.project-count{font-size:14px;padding:7px 9px}.project-count span{font-size:8px}.contact-panel{padding:42px 24px;min-height:320px}.contact-panel h2{font-size:34px}.contact-deco{display:none}.footer-content{align-items:flex-start}.footer-brand{display:block}.footer-brand>span{display:block;margin-bottom:7px}.footer-right{gap:15px;flex-direction:column;align-items:flex-end;text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
@media print{body{background:#fff;color:#111}.site-header,.hero-visual,.ticker-bar,.hero-buttons,.contact,.site-footer,.toast,.ambient{display:none!important}.container{width:100%;padding:0}.section{padding:18px 0;break-inside:avoid}.hero{min-height:0;display:block;padding:20px 0}.hero h1{font-size:40px}.hero h1 span{color:#222;background:none}.hero-lead,.large-paragraph,.skill-title,.project-title{color:#111!important}.skill-card,.project-card,.about-tile{background:#fff;color:#222;border:1px solid #aaa;break-inside:avoid}.skill-detail,.project-description,.about-text>p,.section-subtitle{color:#555!important}.projects-grid{grid-template-columns:repeat(3,1fr)}.skills-grid{grid-template-columns:repeat(3,1fr)}.project-art{display:none}.section-head h2{font-size:26px}}

/* Professional service offerings */
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-panel{border:1px solid #2b5760;background:linear-gradient(150deg,#112e32 0%,#102431 37%,#0c1829 100%);border-radius:24px;padding:34px 32px 28px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.service-panel.security{border-color:#334b78;background:linear-gradient(155deg,#192b47 0%,#142337 43%,#0c1829 100%)}
.service-panel:before{content:"";position:absolute;width:200px;height:200px;border-radius:100%;right:-90px;top:-100px;background:radial-gradient(circle,#54dfb82a,transparent 68%);pointer-events:none}
.service-panel.security:before{background:radial-gradient(circle,#80a0fb30,transparent 68%)}
.service-panel-top{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.service-symbol{display:grid;place-items:center;width:53px;height:53px;border-radius:16px;background:#20544a;border:1px solid #337769;color:#77f3ce;font-size:29px;flex-shrink:0}
.security .service-symbol{color:#bdd2ff;background:#26395e;border-color:#425e96}
.service-label{font-size:10px;letter-spacing:2px;font-weight:800;color:#8cf0d3}
.security .service-label{color:#a4befb}
.service-panel h3{font-size:clamp(23px,2.45vw,31px);line-height:1.25;letter-spacing:-.8px;margin:0 0 13px}
.service-description{color:#bacadd;line-height:1.75;font-size:13px;margin:0 0 23px;min-height:46px}
.service-list{list-style:none;display:grid;grid-template-columns:1fr;gap:12px;margin:0;padding:0 0 28px}
.service-list li{color:#d8e6f6;font-size:13px;line-height:1.55;position:relative;padding-left:25px}
.service-list li:before{content:'✓';position:absolute;left:0;top:0;color:#59e0b7;font-weight:900}
.security .service-list li:before{color:#a4bbff}
.service-link{margin-top:auto;border-top:1px solid #385564;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#92f5d5;font-size:13px;font-weight:800}
.service-link span{font-size:22px;line-height:1}
.security .service-link{color:#b8cbff}
.service-link:hover{text-decoration:underline}
.service-assurance{display:flex;gap:13px;align-items:flex-start;border:1px solid #2b4056;border-radius:12px;background:#111d2b;margin-top:19px;padding:16px 18px}
.assurance-mark{width:23px;height:23px;flex-shrink:0;display:grid;place-items:center;background:#244738;color:#6de1ba;border-radius:50%;font-weight:850;font-size:13px}
.service-assurance p{font-size:12px;color:#a7b9cc;line-height:1.7;margin:0}
@media(max-width:850px){.services-grid{grid-template-columns:1fr}.service-description{min-height:0}}
@media(max-width:570px){.service-panel{padding:27px 23px 24px}.service-panel h3{font-size:25px}.service-list li{font-size:12.5px}.service-assurance{padding:14px}}
@media print{.services-grid{grid-template-columns:1fr 1fr}.service-panel{background:#fff!important;color:#111;border:1px solid #aaa}.service-list li,.service-description{color:#333}.service-assurance{border:1px solid #aaa}}

/* Make full contact details readable on narrow screens. */
.contact-actions .button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;gap:8px}


/* Advanced network infrastructure presentation */
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.service-panel{padding:29px 24px 26px}
.service-panel.network{background:linear-gradient(150deg,#14263e,#112635 48%,#0b1729);border-color:#3b6282}
.service-panel.network:before{background:radial-gradient(circle,#46addb30,transparent 70%)}
.network .service-symbol{background:#1c4660;color:#a4e1ff;border-color:#32728d}
.network .service-label,.network .service-link{color:#aee7ff}
.network .service-list li:before{color:#78d7ff}
.service-panel h3{font-size:clamp(21px,2.25vw,28px)}
.service-panel .service-description{min-height:76px}
.network-section{background:linear-gradient(180deg,#0d182a,#0d1626)}
.network-head{display:flex;align-items:end;justify-content:space-between;gap:25px}
.network-head-chip{border:1px solid #316473;background:#123039;color:#a7e9ea;border-radius:50px;font-size:10px;letter-spacing:1px;font-weight:750;padding:10px 16px;white-space:nowrap}
.network-feature{display:grid;grid-template-columns:.86fr 1.14fr;gap:24px;margin-bottom:25px}
.network-feature-copy,.network-topology{background:linear-gradient(145deg,#12283c,#0d1a2a);border:1px solid #2b506b;border-radius:22px;padding:35px;min-width:0}
.network-feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.feature-eyebrow{font:750 10px/1.4 ui-monospace,monospace;letter-spacing:2.2px;color:#88dff7}
.network-feature h3{font-size:clamp(28px,3.25vw,42px);letter-spacing:-1.7px;line-height:1.18;margin:19px 0 20px}
.network-feature-copy>p{font-size:14px;color:#afc4d9;line-height:1.85;margin:0 0 26px}
.network-feature-tags,.area-tags{display:flex;flex-wrap:wrap;gap:7px}
.network-feature-tags span{padding:6px 10px;border-radius:7px;font:700 10px/1.2 ui-monospace,monospace;color:#b2dcf0;background:#1b3950;border:1px solid #305573}
.network-demo-cta{margin-top:29px;font-size:12px!important}
.network-topology{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:410px;background:radial-gradient(ellipse at 50% 35%,#1c384b,#0a192b 68%);padding:28px 22px}
.topology-root{font:700 12px ui-monospace,monospace;letter-spacing:1.3px;border:1px solid #435878;background:#17283f;color:#dceaff;border-radius:10px;padding:10px 20px;text-align:center;min-width:148px}
.topology-root span{display:block;font-size:9px;color:#93abcb;margin-top:5px}
.topology-connector{height:22px;width:2px;background:linear-gradient(#50c5c1,#7da1fe)}
.topology-firewall,.topology-router{font:750 11px ui-monospace,monospace;letter-spacing:.5px;color:#e8f7ff;border-radius:9px;border:1px solid #3c83a5;background:#183e50;padding:11px 20px;text-align:center;min-width:224px}
.topology-firewall{border-color:#3d8a80;background:#163e41}
.topology-firewall small,.topology-router small{display:block;font-size:9px;margin-top:4px;color:#9cbcc6;letter-spacing:.4px}
.topo-green{display:inline-block;height:7px;width:7px;background:#65e5ae;border-radius:50%;margin-right:8px;box-shadow:0 0 0 3px #65e5ae1d}
.topology-stem{height:25px;width:2px;background:#519ab7}
.topology-children{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;gap:12px;padding-top:22px}
.topology-children:before{content:'';position:absolute;top:0;left:16.66%;right:16.66%;height:1px;background:#4e89a8}
.topology-child{padding:15px 7px;background:#132a42;border:1px solid #335a76;border-radius:10px;position:relative;text-align:center;min-width:0}
.topology-child:before{content:'';height:22px;width:1px;background:#4e89a8;position:absolute;top:-22px;left:50%}
.topology-child span{display:block;color:#7bd8d7;font-size:21px;margin-bottom:7px}
.topology-child strong{display:block;font-size:10px;color:#d6e8f7;letter-spacing:.3px}
.topology-child small{display:block;font:700 9px ui-monospace,monospace;color:#89a7be;margin-top:5px}
.topology-note{font-size:10px;text-align:center;color:#7496ae;margin:24px 0 0!important}
.network-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.network-area-card{display:flex;flex-direction:column;min-width:0;padding:25px 22px 23px;border:1px solid #29435e;border-radius:18px;background:#101e31;transition:transform .25s ease,border-color .25s ease}
.network-area-card:hover{transform:translateY(-3px);border-color:#518da1}
.area-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}
.area-icon{height:43px;width:43px;display:grid;place-items:center;border:1px solid #36617c;background:#1c3e52;color:#9ee8ed;font-size:21px;border-radius:12px}
.area-eyebrow{font:750 9px ui-monospace,monospace;letter-spacing:.8px;text-align:right;color:#82a8c6}
.network-area-card h3{font-size:19px;letter-spacing:-.6px;line-height:1.25;margin:0 0 12px}
.network-area-card p{color:#aabdd3;font-size:12px;line-height:1.8;margin:0 0 20px}
.area-tags{margin-top:auto}
.area-tags span{font:600 9px/1.25 ui-monospace,monospace;background:#1b3047;color:#aacada;border-radius:6px;padding:6px 8px}
.network-disclaimer{color:#91a6be;font-size:12px;margin:22px 0 0;line-height:1.75}
.project-art.topology{background:radial-gradient(circle at 65% 30%,#2b6677,#153347 65%,#0c2136)}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-panel .service-description{min-height:0}.network-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.services-grid,.network-feature{grid-template-columns:1fr}.network-feature-copy{min-height:0}.network-head{align-items:flex-start;flex-direction:column;gap:15px}.network-topology{min-height:410px}}
@media(max-width:570px){.network-head-chip{white-space:normal;font-size:9px}.network-cards{grid-template-columns:1fr}.network-feature-copy,.network-topology{padding:25px 20px}.network-feature h3{font-size:29px}.network-topology{min-height:0;padding:25px 13px}.topology-child{padding:12px 4px}.topology-child strong{font-size:9px}.topology-firewall,.topology-router{min-width:205px}.network-area-card{padding:23px 20px}}
@media print{.network-section{background:#fff}.network-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.network-feature{display:none}.network-area-card{background:#fff;color:#111;border:1px solid #aaa}.network-area-card p{color:#333}.network-disclaimer{color:#333}}

/* AI agent + Telegram bot service upgrades */
.services-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:17px}
.services-grid>.service-panel{grid-column:span 2}
.services-grid>.service-panel:nth-child(4),.services-grid>.service-panel:nth-child(5){grid-column:span 3}
.service-panel.ai{border-color:#674b93;background:linear-gradient(150deg,#302049,#1c1e3a 46%,#0c1829)}
.service-panel.telegram{border-color:#246f85;background:linear-gradient(150deg,#113c4d,#132b40 48%,#0c1829)}
.service-panel.ai:before{background:radial-gradient(circle,#a57aff39,transparent 67%)}
.service-panel.telegram:before{background:radial-gradient(circle,#51c9f643,transparent 67%)}
.ai .service-symbol{background:#493369;color:#e2bbff;border-color:#7852a1}
.telegram .service-symbol{background:#19576a;color:#b0e9ff;border-color:#32899f}
.ai .service-label,.ai .service-link{color:#d5b0ff}
.telegram .service-label,.telegram .service-link{color:#a4eaff}
.ai .service-list li:before{color:#c49cff}
.telegram .service-list li:before{color:#85dfff}
.automation-spotlight{display:grid;grid-template-columns:1fr 0.95fr;gap:34px;border:1px solid #3a496c;border-radius:24px;background:radial-gradient(ellipse at 82% 15%,#30365b,#142139 50%,#0b1628 95%);padding:39px;margin-top:23px;overflow:hidden}
.automation-eyebrow{display:block;font:800 10px ui-monospace,monospace;letter-spacing:2px;color:#c4a9ff}
.automation-text h3{font-size:clamp(25px,3.1vw,37px);letter-spacing:-1.2px;line-height:1.2;margin:18px 0 14px}
.automation-text p{color:#b8c9e4;font-size:13px;line-height:1.85;margin:0 0 25px}
.automation-text .button{font-size:12px;white-space:normal;text-align:center}
.automation-text small{display:block;font-size:11px;color:#8199b8;line-height:1.7;margin-top:16px}
.automation-steps{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:7px;padding:0 24px}
.automation-stage{background:#141f37;border:1px solid #3a4f79;border-radius:13px;padding:17px 20px;display:flex;flex-direction:column;gap:4px;box-shadow:0 12px 25px #0002}
.automation-stage:nth-of-type(3){border-color:#5873aa;background:#1a2b48}
.automation-stage:nth-of-type(5){border-color:#6b5b9f;background:#25223e}
.automation-stage span{color:#9db6db;font:800 9px ui-monospace,monospace;letter-spacing:1.7px}
.automation-stage strong{font-size:16px;color:#eff3ff}
.automation-stage small{font-size:11px;color:#a5b7d1}
.automation-link{color:#8dc5e8;font-size:19px;text-align:center;line-height:1}
.project-art.automation{background:radial-gradient(ellipse at 70% 25%,#5756a1,#222d56 53%,#141d34)}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid>.service-panel,.services-grid>.service-panel:nth-child(4),.services-grid>.service-panel:nth-child(5){grid-column:span 1}}
@media(max-width:850px){.services-grid,.automation-spotlight{grid-template-columns:1fr}.services-grid>.service-panel,.services-grid>.service-panel:nth-child(4),.services-grid>.service-panel:nth-child(5){grid-column:span 1}.automation-steps{padding:0}}
@media(max-width:570px){.automation-spotlight{padding:24px 20px;gap:20px}.automation-text h3{font-size:28px}.automation-text .button{width:100%}.automation-stage{padding:14px 17px}}
@media print{.automation-spotlight{background:#fff;color:#111;border:1px solid #aaa}.automation-stage{background:#fff!important;color:#111;border:1px solid #ccc}.automation-stage strong{color:#111}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid>.service-panel,.services-grid>.service-panel:nth-child(4),.services-grid>.service-panel:nth-child(5){grid-column:span 1}}

.bot-cta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.automation-text .bot-cta-row .button{margin:0;display:inline-flex;flex:1 1 184px;justify-content:center}.bot-cta-row a{max-width:100%}

/* Professional portrait card — final photo included in assets/profile-photo.jpg */
.personal-photo-card{position:absolute;top:-12px;right:20px;z-index:4;width:min(280px,70%);border:1px solid rgba(104,229,192,.5);background:linear-gradient(160deg,#172e49,#0b1426);padding:12px;border-radius:26px;box-shadow:0 20px 60px #0007;transform:rotate(3deg)}
.personal-photo-card img{display:block;width:100%;height:225px;object-fit:cover;object-position:center 25%;border-radius:17px;background:#14283c}.portrait-meta{padding:12px 8px 4px;display:flex;flex-direction:column;gap:2px}.portrait-meta strong{color:#e9fff8;font-size:18px}.portrait-meta span{font-size:11px;color:#9bcac7}.portrait-glow{position:absolute;inset:-20px;background:#30b7a51a;filter:blur(35px);z-index:-1}.hero-visual .network-card{transform:translate(-55px,85px) scale(.83);opacity:.94}
@media(max-width:820px){.personal-photo-card{right:8px;top:8px;width:210px}.personal-photo-card img{height:160px}.hero-visual .network-card{transform:translate(-35px,90px) scale(.78)}}
@media(max-width:500px){.personal-photo-card{right:0;top:0;width:195px}.hero-visual .network-card{transform:translate(-45px,90px) scale(.69)}}

/* Portrait refinement: subtle frame, photo focal point, balanced overlay */
.personal-photo-card{overflow:hidden;box-shadow:0 24px 64px #0008,0 0 0 1px #62dfc528;backface-visibility:hidden}
.personal-photo-card img{object-position:center 34%;filter:saturate(1.02) contrast(1.025)}
.personal-photo-card:after{content:"";position:absolute;pointer-events:none;inset:12px 12px auto;border-radius:17px;height:225px;box-shadow:inset 0 0 0 1px #b4e5e01a}
@media(max-width:820px){.personal-photo-card:after{height:160px}}

/* Production upgrade: featured case study, gallery, CV link, accessible AI chat */
.featured-work{display:grid;grid-template-columns:1.1fr .9fr;gap:25px;padding:32px;margin:15px 0 25px;border-radius:23px;border:1px solid #315e71;background:linear-gradient(120deg,#103343,#10192d)}
.featured-copy h3{font-size:clamp(23px,3vw,34px);margin:11px 0;letter-spacing:-.7px}.featured-copy p,.ai-promo p{color:#bed0e5;font-size:13px;line-height:1.8;max-width:580px}.featured-live{font:800 11px ui-monospace,monospace;letter-spacing:1.2px;color:#5ee3b6}
.feature-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.feature-actions .button{white-space:normal;text-align:center;font-size:12px;padding:12px 17px;gap:7px}
.featured-diagram{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px;background:radial-gradient(circle,#143a48,#0b1a2c 70%);border-radius:14px}
.featured-diagram div{font:700 11px ui-monospace,monospace;color:#bde8ed;border:1px solid #377485;background:#16374a;padding:14px 9px;border-radius:9px;text-align:center}.featured-diagram span{color:#7edaba;font-size:24px}
.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px}.project-filter{border:1px solid #3b4b64;color:#bbd0e5;background:#132137;padding:10px 18px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:700}.project-filter.active,.project-filter:hover{color:#062520;background:#63e4be;border-color:#63e4be}.project-card[hidden]{display:none!important}
.ai-promo{display:flex;align-items:center;justify-content:space-between;gap:22px;border-radius:22px;padding:35px;background:linear-gradient(120deg,#142d47,#15213b);border:1px solid #345b70}.ai-promo h3{font-size:26px;max-width:530px;margin:13px 0}
.chat-launcher{position:fixed;right:25px;bottom:23px;z-index:110;border:1px solid #7ef3d2;background:#4ee2b5;color:#052622;border-radius:24px;padding:14px 19px;font-size:14px;font-weight:800;box-shadow:0 12px 35px #0009;cursor:pointer}
.site-chat-panel{position:fixed;z-index:111;right:25px;bottom:85px;width:min(380px,calc(100vw - 32px));height:min(510px,calc(100dvh - 125px));display:flex;flex-direction:column;border-radius:19px;border:1px solid #3c7284;background:#0e1c30;box-shadow:0 24px 60px #000a;overflow:hidden}.site-chat-panel[hidden]{display:none}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#193650;color:#f3f9ff}.chat-head small{display:block;color:#b4d3df;font-size:10px;margin-top:4px;max-width:290px}.chat-head button{background:transparent;border:0;color:#fff;font-size:26px;cursor:pointer}.chat-transcript{overflow:auto;flex:1;padding:15px;display:flex;flex-direction:column;gap:10px}.chat-line{color:#e3effa;font-size:12px;line-height:1.55;background:#1b314a;border-radius:11px;padding:10px 12px;margin:0;overflow-wrap:anywhere}.chat-line.from-user{background:#163e48;align-self:flex-end}.chat-form{padding:12px;border-top:1px solid #31506b}.chat-form label{display:block;font-size:11px;color:#b3c4d9;margin-bottom:7px}.chat-form div{display:flex;gap:8px}.chat-form input{flex:1;min-width:0;background:#0b172b;border:1px solid #39546f;border-radius:9px;color:#fff;font-size:13px;padding:11px}.chat-form input:disabled{opacity:.45}.chat-form button{background:#57e0ba;border:0;border-radius:9px;color:#05231d;font-weight:750;padding:10px 13px;cursor:pointer}.chat-form button:disabled{opacity:.45;cursor:not-allowed}.chat-telegram-link{font-size:12px;color:#86d8e9;padding:0 13px 11px;text-align:center}
@media(max-width:900px){.featured-work{grid-template-columns:1fr}.featured-diagram{min-height:130px}.ai-promo{flex-direction:column;align-items:flex-start}}
@media(max-width:550px){.featured-work,.ai-promo{padding:22px}.featured-diagram{flex-wrap:wrap}.chat-launcher{right:14px;bottom:13px}.site-chat-panel{right:12px;bottom:70px}.hero-buttons .button{white-space:normal}}
@media print{.chat-launcher,.site-chat-panel,.project-filters{display:none!important}}
