/* Ashkan portfolio: technical field journal / CSS-compatible SCSS */
@font-face{font-family:AshkanPersian;src:url('../fonts/NotoSansArabic-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:AshkanPersian;src:url('../fonts/NotoSansArabic-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:AshkanMono;src:url('../fonts/DejaVuSansMono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:light;--page:var(--ashkan-bg,#f2f5fb);--surface:var(--ashkan-surface,#ffffff);--ink:var(--ashkan-text,#162744);--muted:#526581;--edge:#c4d0e2;--electric:#c8dcff;--accent:var(--ashkan-primary,#275bc3);--inverse:#152d55;--radius:var(--ashkan-radius,6px)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--page:#101a2b;--surface:#1c2d49;--ink:#edf3ff;--muted:#bfcee6;--edge:#4b6488;--inverse:#203858}}
:root[data-theme=dark]{color-scheme:dark;--page:#101a2b;--surface:#1c2d49;--ink:#edf3ff;--muted:#bfcee6;--edge:#4b6488;--inverse:#203858}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);font-family:AshkanPersian,Tahoma,sans-serif;font-weight:400;line-height:1.9}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid #4185f4;outline-offset:4px}img{max-width:100%;height:auto}.ashkan-container{width:min(calc(100% - 3rem),1400px);margin-inline:auto}.skip-link{position:absolute;top:-150px;right:1rem;background:var(--electric);color:#132b52;padding:.7rem;z-index:999}.skip-link:focus{top:0}
.site-header{background:var(--page);border-bottom:1px solid var(--edge)}.header-inner{min-height:90px;display:flex;align-items:center;gap:1.3rem}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-weight:700;line-height:1.45}.brand:hover{text-decoration:none}.brand small{display:block;font:10px AshkanMono,monospace;color:var(--muted);margin-top:3px}.brand-mark{font-family:AshkanMono,monospace;background:var(--ink);color:var(--page);display:grid;place-items:center;width:47px;height:47px;border-radius:2px;font-size:24px;position:relative}.brand-mark span{color:var(--electric);font-size:13px;position:absolute;left:4px;top:2px}.site-header nav{margin-inline:auto}.site-header ul{display:flex;align-items:center;gap:1.45rem;list-style:none;margin:0;padding:0;font-size:14px}.site-header nav a:hover{color:var(--accent)}.header-contact{border:1px solid var(--ink);padding:9px 16px;font-size:13px;font-weight:700}.theme-toggle,.menu-toggle{background:transparent;color:var(--ink);border:1px solid var(--edge);min-width:43px;min-height:43px}.theme-toggle{font-size:22px}.menu-toggle{display:none;padding:5px 12px}
.section{padding:112px 0;border-bottom:1px solid var(--edge)}.section-hero{padding:28px 0 34px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:2%;align-items:stretch}.hero-copy{padding:4.2rem 0 2rem}.availability,.eyebrow{font:12px AshkanMono,AshkanPersian,monospace;color:var(--muted);letter-spacing:.01em;font-weight:700}.availability{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--edge);padding:7px 12px}.availability span{width:9px;height:9px;background:var(--accent);border-radius:50%}.hero-copy h1{font-size:clamp(3.1rem,6.5vw,6.8rem);line-height:1.5;letter-spacing:-.065em;margin:18px 0 15px;font-weight:700}.hero-copy h1 em{font-style:normal;color:var(--accent)}.hero-lead{max-width:34rem;color:var(--muted);font-size:18px;line-height:2.1}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 22px;border-radius:2px;border:1px solid transparent;font-weight:700;font-size:14px;min-height:54px}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:var(--ink);color:var(--page)}.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-light{background:var(--electric);color:#162b4c}.hero-art{min-height:525px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;color:#eaf2ff;background:#132b52;position:relative;overflow:hidden}.hero-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:32px 32px}.art-top,.art-bottom{font:10px AshkanMono,monospace;letter-spacing:.05em;display:flex;justify-content:space-between;gap:15px;position:relative;color:#bbcde9}.art-core{display:flex;position:relative;justify-content:center;align-items:center;min-height:365px}.orbital{width:min(32vw,355px);height:min(32vw,355px);position:relative;border:1px solid #718ab4;border-radius:50%;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #91b0e0;border-radius:50%;inset:12%;transform:rotate(52deg) scaleX(.45)}.orbit-b{transform:rotate(-52deg) scaleX(.45)}.orbital:after{content:'';position:absolute;right:8%;top:17%;width:12px;height:12px;background:#c8dcff;border-radius:50%;box-shadow:0 0 0 8px #c8dcff22}.orbit-center{font:150px AshkanMono,monospace;color:#c8dcff;line-height:1}.orbit-center span{font-size:45px;color:#88b2fa}.art-caption{position:absolute;bottom:2%;display:flex;gap:16px;font:10px AshkanMono,monospace;letter-spacing:.04em;color:#c5d6f2}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid var(--edge);margin-top:25px;padding-top:18px;color:var(--muted);font:11px AshkanMono,AshkanPersian,monospace;gap:20px}
.section-intro{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:46px}.section-intro h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.55;margin:.6rem 0 0}.section-intro p{max-width:390px;margin:0;color:var(--muted);font-size:15px}.section-about{background:var(--surface)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.about-statement{font-size:clamp(1.8rem,3vw,3rem);font-weight:700;line-height:1.7;margin:0}.about-statement strong{color:var(--accent)}.about-grid p:not(.about-statement){font-size:17px}.education{margin-top:32px;border-inline-start:3px solid var(--accent);padding:4px 18px}.education span,.education strong{display:block}.education span{font-size:12px;color:var(--muted)}
.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--edge);border:1px solid var(--edge)}.skill-item{background:var(--surface);padding:26px;min-height:130px;position:relative}.skill-item:after{content:'↗';position:absolute;left:20px;top:20px;color:var(--accent);font-size:20px}.skill-item span{color:var(--muted);display:block;font:12px AshkanMono,monospace;margin-bottom:14px}.skill-item strong{font-size:17px}.skill-item progress{display:block;margin-top:14px;accent-color:var(--accent);max-width:80%}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.work-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--edge);min-width:0;display:flex;flex-direction:column}.work-card[hidden]{display:none}.grid-portfolio .work-card:nth-child(6n+1){grid-column:span 2}.grid-portfolio .work-card:nth-child(6n+1) .project-visual{height:305px}.project-visual{height:230px;position:relative;overflow:hidden;padding:0;background:#d1e1fa;color:#132b52;display:flex;align-items:flex-end;justify-content:space-between}.project-visual img{width:100%;height:100%;object-fit:cover}.visual-mark{font:90px AshkanMono,monospace;opacity:.28;line-height:1}.visual-label{font:12px AshkanMono,monospace;font-weight:bold}.card-icon{width:48px;height:48px;display:grid;place-items:center;margin:25px 25px 0;background:var(--electric);color:#17221a;font:24px AshkanMono,monospace}.card-body{padding:24px;flex:1}.card-meta{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.card-meta span{color:var(--accent);font-weight:700}.card-body h3,.card-body h2{font-size:19px;margin:9px 0}.card-body p{color:var(--muted);font-size:14px;min-height:3em}.card-body small{color:var(--muted)}.card-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.text-link{font-size:13px;font-weight:700;color:var(--ink)}.preview-trigger{background:transparent;border:1px solid var(--edge);color:var(--ink);padding:6px 11px;font-size:13px}.certificate-mark{height:140px;background:#d9e7ff;color:#172b4c;padding:20px;font-size:70px;line-height:1;display:flex;justify-content:space-between;align-items:end}.certificate-mark span{font:10px AshkanMono,monospace}.quote-mark{font:80px Georgia,serif;line-height:.8;color:var(--accent);padding:25px 25px 0}.portfolio-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:0 0 10px;font-size:13px}.portfolio-toolbar label{display:grid;gap:4px}.portfolio-toolbar input,.portfolio-toolbar select{border:1px solid var(--edge);color:var(--ink);padding:10px 12px;min-width:185px;background:var(--surface)}.filter-status{min-height:1.5em;color:var(--muted);font-size:12px}.center{text-align:center;margin-top:35px}
.preview-dialog{width:min(94vw,1000px);max-height:90vh;border:1px solid var(--edge);background:var(--surface);color:var(--ink);padding:24px}.preview-dialog::backdrop{background:#101917c9}.preview-top,.preview-actions,.device-buttons{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.preview-top h3{margin:0}.preview-dialog button,.preview-actions a{border:1px solid var(--edge);background:var(--surface);color:var(--ink);padding:8px 12px}.preview-close{font-size:24px}.preview-stage{background:#1c365b;overflow:auto;min-height:220px;padding:12px;margin:14px 0}.preview-canvas{height:400px;max-width:100%;margin:auto;background:#e8f0fd}.preview-canvas img,.preview-canvas iframe{width:100%;height:100%;object-fit:contain;border:0}.preview-actions [hidden],.preview-canvas [hidden]{display:none}
.infra-grid{display:grid;grid-template-columns:1fr 1fr;gap:5%;background:#142c50;color:#edf3ff;padding:55px;position:relative}.infra-grid:after{content:'+';position:absolute;left:20px;top:8px;font:30px AshkanMono,monospace;color:#c8dcff}.infra-grid p{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.7;margin:0}.infra-grid strong{color:#c8dcff}.infra-grid div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.infra-grid span{border:1px solid #ffffff55;padding:16px;font:12px AshkanMono,monospace;direction:ltr}.infra-grid small{grid-column:1 / -1}.timeline{border-inline-start:2px solid var(--edge);padding-inline-start:24px}.timeline div{display:flex;gap:35px;padding:18px 0}.timeline span{color:var(--muted)}.contact-box{background:var(--inverse);color:#f2f5ed;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:55px}.contact-kicker{font:11px AshkanMono,monospace;color:#c8dcff}.contact-box h3{font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.7;margin:20px 0}.contact-box em{font-style:normal;color:#c8dcff}.contact-box p{color:#d7e6ff}.contact-form{display:grid;gap:12px}.contact-form label{display:grid;gap:4px;font-size:13px}.contact-form input,.contact-form textarea{background:#f7faff;color:#172b4c;border:1px solid #a6bddd;padding:10px;min-width:0}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.site-footer{background:var(--surface);padding:45px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px}.content-page{padding-top:75px;padding-bottom:110px;min-height:50vh}.content-page h1{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.5}.page-lead{font-size:20px;color:var(--muted);max-width:700px}.prose{max-width:750px;margin:35px 0;line-height:2.1}.case-visual{background:#d1e1fa;padding:0;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;margin:45px 0}.case-visual img{width:100%;max-height:550px;object-fit:cover}.case-visual strong,.case-visual span{padding:25px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.case-grid section{background:var(--surface);border:1px solid var(--edge);padding:24px}.case-grid h2{font-size:19px}pre{white-space:pre-wrap;direction:ltr;background:#142c50;color:#dceaff;padding:20px;overflow:auto}.empty-state{color:var(--muted)}
@media(max-width:1000px){.site-header nav{display:none;position:absolute;top:80px;inset-inline:0;z-index:5;background:var(--surface);border:1px solid var(--edge);padding:20px 30px}.site-header nav.is-open{display:block}.site-header ul{flex-direction:column;align-items:start}.header-inner{position:relative}.menu-toggle{display:block;margin-inline-start:auto}.header-contact{display:none}.hero-grid{gap:20px}.hero-art{min-height:390px}.card-grid{grid-template-columns:repeat(2,1fr)}.orbital{width:260px;height:260px}.orbit-center{font-size:115px}}
@media(max-width:650px){.ashkan-container{width:min(calc(100% - 2rem),1400px)}.section{padding:68px 0}.section-hero{padding:25px 0}.hero-grid,.about-grid,.infra-grid,.contact-box{grid-template-columns:1fr}.hero-copy{padding:1rem 0}.hero-copy h1{font-size:3.2rem}.hero-art{min-height:300px}.art-core{min-height:255px}.orbital{width:210px;height:210px}.orbit-center{font-size:95px}.art-caption{bottom:0;font-size:9px}.art-top,.art-bottom{font-size:9px}.section-intro{display:block}.section-intro p{margin-top:12px}.skill-grid,.card-grid{grid-template-columns:1fr}.grid-portfolio .work-card:nth-child(6n+1){grid-column:auto}.grid-portfolio .work-card:nth-child(6n+1) .project-visual{height:230px}.infra-grid{padding:28px;gap:30px}.contact-box{padding:28px;gap:25px}.footer-inner{display:grid}.case-grid{grid-template-columns:1fr}.portfolio-toolbar{align-items:stretch;flex-direction:column}.portfolio-toolbar input,.portfolio-toolbar select{width:100%}.header-inner{min-height:80px}.preview-canvas{height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{.site-header,.site-footer,.no-print{display:none}.content-page{padding:0}body{background:#fff;color:#000}}

@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--accent:#92bbff}}
:root[data-theme=dark]{--accent:#92bbff}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-gallery img{width:100%;height:auto}.language-switch select{background:var(--surface);color:var(--ink);border:1px solid var(--edge);padding:6px}@media(max-width:650px){.project-gallery{grid-template-columns:1fr}}

/* Editorial hero and richer career narrative */
.hero-super{font:11px AshkanMono,monospace;letter-spacing:.08em;color:var(--muted);margin:30px 0 0;direction:ltr;text-align:right}.hero-copy h1{font-size:clamp(2.8rem,5.5vw,5.5rem);line-height:1.55}.hero-credentials{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--edge);margin-top:52px;padding-top:22px;gap:16px}.hero-credentials strong,.hero-credentials span{display:block}.hero-credentials strong{font-size:14px}.hero-credentials span{font-size:12px;color:var(--muted);margin-top:6px}.hero-spec{display:grid;grid-template-columns:1fr 1fr;gap:15px;position:relative;border-top:1px solid #6a84af;padding-top:18px;margin-bottom:25px;direction:ltr}.hero-spec span,.hero-spec strong{display:block;font:10px AshkanMono,monospace;line-height:1.8}.hero-spec span{color:#a4b9d9}.hero-spec strong{color:#eaf2ff}.timeline-layout{display:grid;grid-template-columns:1fr 2fr;gap:8%;align-items:start}.timeline-aside{position:sticky;top:25px;background:var(--surface);border:1px solid var(--edge);padding:30px}.timeline-aside span{font:11px AshkanMono,monospace;color:var(--muted)}.timeline-aside h3{font-size:25px;line-height:1.7}.timeline-aside p{color:var(--muted);font-size:14px}.timeline{border:0;padding:0}.timeline .timeline-entry{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:22px 0 32px;border-top:1px solid var(--edge)}.timeline-label{display:flex;flex-direction:column;gap:10px;color:var(--muted);font-size:13px}.timeline-label .demo-pill{color:var(--accent);font-weight:bold}.timeline-body h3{font-size:20px;margin:0 0 8px}.timeline-body p{font-size:15px;color:var(--muted);margin:.4rem 0}.timeline-meta{font-size:12px!important}.form-preview{display:grid;gap:12px}.form-preview label{display:grid;gap:4px;font-size:13px}.form-preview input,.form-preview textarea{background:#eaf1fc;color:#415b80;border:1px solid #9eb6da;padding:10px;width:100%}.form-preview button:disabled{opacity:.75}.case-detail{border-inline-start:3px solid var(--accent);padding-inline-start:22px}.work-card{transition:transform .2s ease,box-shadow .2s ease}.work-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #183b6920}@media(max-width:900px){.timeline-layout{grid-template-columns:1fr;gap:25px}.timeline-aside{position:static}}@media(max-width:650px){.hero-credentials{grid-template-columns:1fr;gap:12px;margin-top:30px}.hero-credentials>div{display:flex;justify-content:space-between;gap:10px}.hero-credentials span{margin:0}.timeline .timeline-entry{grid-template-columns:1fr;gap:8px}.timeline-label{flex-direction:row}.hero-spec{margin-bottom:10px}.hero-copy h1{font-size:clamp(2.4rem,10vw,3.25rem)}}

.contact-mail{display:inline-block;color:#eaf2ff;border-bottom:1px solid #91b0e0;direction:ltr;font:14px AshkanMono,monospace}.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;direction:ltr;justify-content:flex-end}.social-links a{border:1px solid #718ab4;color:#edf3ff;padding:7px 12px;font:12px AshkanMono,monospace}

/* 0.5: an editorial engineering notebook, keeping the original corporate palette. */
.section:not(.section-hero){padding-block:clamp(76px,8vw,126px)}
.section-intro{position:relative;align-items:end;border-bottom:1px solid var(--edge);padding-bottom:30px;margin-bottom:42px}
.section-intro .eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--accent)}
.section-intro .eyebrow:before{content:'';display:block;width:25px;height:2px;background:currentColor}
.section-intro h2{letter-spacing:-.035em;margin-top:12px;line-height:1.48}
.section-intro p{max-width:340px;line-height:2}
.section-about{background:var(--surface)}
.profile-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);border:1px solid var(--edge)}
.profile-manifesto{background:#152d55;color:#f4f8ff;min-height:440px;padding:clamp(30px,4.1vw,58px);display:flex;flex-direction:column;position:relative;overflow:hidden}
.profile-manifesto:after{content:'';position:absolute;left:-130px;bottom:-180px;width:390px;height:390px;border:1px solid #b7d3ff38;border-radius:50%;box-shadow:0 0 0 50px #a9cbff09,0 0 0 100px #a9cbff08;pointer-events:none}
.profile-topline,.profile-signature{display:flex;align-items:center;justify-content:space-between;gap:20px;font:10px AshkanMono,monospace;letter-spacing:.04em;direction:ltr;color:#b8cee9;position:relative;z-index:1}
.profile-topline span:last-child{font-size:27px;color:#c8dcff}
.profile-quote{font-size:clamp(2rem,3.1vw,3.25rem);font-weight:700;line-height:1.8;letter-spacing:-.045em;margin:55px 0 18px;position:relative;z-index:1}
.profile-quote strong{color:#b9d5ff}
.profile-intro{max-width:440px;color:#d5e3f8;line-height:2.1;font-size:15px;position:relative;z-index:1}
.profile-signature{border-top:1px solid #a8c6ee55;padding-top:19px;margin-top:auto}
.profile-details{padding:clamp(28px,4vw,55px);background:var(--surface);display:flex;flex-direction:column;gap:20px}
.profile-heading{display:flex;align-items:center;gap:17px}
.profile-mark{display:grid;place-items:center;width:60px;height:60px;background:#e8f0fc;color:#244d94;font:18px AshkanMono,monospace;flex:none}
.profile-heading span:not(.profile-mark){font-size:12px;color:var(--muted)}
.profile-heading h3{font-size:24px;margin:3px 0 0;line-height:1.5}
.profile-details>p{font-size:15px;color:var(--muted);line-height:2.15;margin:0}
.profile-education{padding:20px 0;border-block:1px solid var(--edge)}
.profile-label,.profile-education strong{display:block}
.profile-label{font:10px AshkanMono,AshkanPersian,monospace;color:var(--muted);margin-bottom:10px}
.profile-education strong{font-size:14px;line-height:1.9}
.profile-tags{display:flex;flex-wrap:wrap;gap:8px}
.profile-tags span{font-size:12px;padding:6px 10px;border:1px solid var(--edge);color:var(--muted)}
.profile-resume{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px;font-weight:700;margin-top:auto;padding-top:12px;color:var(--accent)}
.profile-resume span{font-size:22px}
.section-skills{background:var(--page)}
.expertise-layout{display:grid;grid-template-columns:minmax(235px,.7fr) minmax(0,2fr);border:1px solid var(--edge)}
.expertise-aside{background:var(--surface);padding:32px;display:flex;flex-direction:column;border-inline-end:1px solid var(--edge)}
.expertise-aside>span{font:10px AshkanMono,monospace;color:var(--accent)}
.expertise-aside h3{font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.8;margin:27px 0 12px}
.expertise-aside p{color:var(--muted);font-size:14px;line-height:2}
.expertise-line{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:28px}
.expertise-line span{display:block;background:var(--accent);height:4px;width:18px;opacity:.3}.expertise-line span:first-child{width:44px;opacity:1}
.expertise-layout .skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));border:0;gap:1px;background:var(--edge)}
.expertise-layout .skill-item{padding:25px;min-height:143px;background:var(--surface);display:flex;flex-direction:column;gap:18px}
.expertise-layout .skill-item:after{display:none}
.skill-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.expertise-layout .skill-item .skill-top span{margin:0;color:var(--muted);font:11px AshkanMono,monospace}
.expertise-layout .skill-item .skill-top span:last-child{color:var(--accent);font-size:19px}
.expertise-layout .skill-item strong{line-height:1.65;font-size:16px;overflow-wrap:anywhere}
.skill-progress{display:flex;align-items:center;gap:10px;margin-top:auto;direction:ltr;font:11px AshkanMono,monospace;color:var(--muted)}
.skill-progress progress{flex:1;width:100%;margin:0;accent-color:var(--accent);height:5px}
.section-services{background:var(--surface)}
.section-kicker{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:22px;background:var(--page);padding:20px 24px;margin-bottom:18px;border:1px solid var(--edge)}
.section-kicker>span{font:11px AshkanMono,monospace;color:var(--accent);direction:ltr;text-align:start}
.section-kicker p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}
.section-kicker a{font-size:13px;font-weight:700;color:var(--accent);white-space:nowrap}
.grid-service{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge)}
.grid-service .work-card{border:0;border-radius:0;min-height:258px;position:relative}
.grid-service .work-card:hover,.grid-post .work-card:hover,.grid-ashkan_cert .work-card:hover,.grid-ashkan_testimonial .work-card:hover{transform:none;box-shadow:inset 0 -3px var(--accent)}
.grid-service .card-icon,.grid-post .card-icon{width:42px;height:42px;margin:23px 23px 0;background:#e7effb;color:#275bc3;font-size:20px}
.card-category{margin:17px 23px 0;font:10px AshkanMono,monospace;color:var(--muted);direction:ltr;text-align:right}
.grid-service .card-body{padding-top:11px}
.grid-service .card-body h3{font-size:17px;line-height:1.75}
.grid-service .card-body p{line-height:2;font-size:13px;min-height:4em}
.grid-service .card-actions{padding-top:12px;border-top:1px solid var(--edge)}
.section-portfolio{background:var(--page)}
.section-portfolio .portfolio-toolbar{background:var(--surface);border:1px solid var(--edge);padding:18px;gap:18px}
.section-portfolio .portfolio-toolbar label:first-child{flex:1}
.section-portfolio .portfolio-toolbar input{width:100%}
.grid-portfolio{gap:20px}
.grid-portfolio .work-card{border:1px solid var(--edge);border-radius:0}
.grid-portfolio .card-body{padding:26px}
.grid-portfolio .card-meta{align-items:center;gap:12px;font-size:12px;min-height:22px}
.grid-portfolio .card-meta span{display:inline-flex;border:1px solid var(--edge);padding:3px 9px;white-space:nowrap}
.grid-portfolio .card-body h3{font-size:21px;line-height:1.65;margin:12px 0 8px}
.grid-portfolio .card-body p{line-height:2}
.grid-portfolio .card-actions{border-top:1px solid var(--edge);padding-top:16px;margin-top:19px}
.preview-trigger{transition:background .2s,color .2s,border-color .2s}.preview-trigger:hover{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.section-timeline{background:var(--surface)}
.timeline-layout{gap:clamp(30px,5vw,75px)}
.timeline-aside{background:#152d55;color:#edf4ff;border:0;min-height:330px;padding:34px;overflow:hidden}
.timeline-aside span{color:#b8cee9}.timeline-aside p{color:#d2dff3}
.journey-mark{border-top:1px solid #a8c6ee55;margin-top:28px;padding-top:20px;font:45px AshkanMono,monospace;color:#c8dcff;line-height:1;direction:ltr}
.journey-mark span{font-size:20px;vertical-align:top}
.timeline .timeline-entry{position:relative;grid-template-columns:145px minmax(0,1fr);padding:25px 0 30px}
.timeline .timeline-entry:last-child{border-bottom:1px solid var(--edge)}
.timeline-body h3{font-size:19px;line-height:1.8}
.timeline-body p{line-height:2}
.demo-pill{font-size:11px}
.section-infrastructure{background:var(--page)}
.systems-panel{display:grid;grid-template-columns:1fr 1fr;background:#142c50;color:#eff5ff;overflow:hidden}
.systems-copy{padding:clamp(30px,4vw,56px);position:relative;overflow:hidden}
.systems-copy:after{content:'';position:absolute;left:-120px;bottom:-180px;width:330px;height:330px;border:1px solid #a9c9f044;border-radius:50%;pointer-events:none}
.systems-kicker{font:11px AshkanMono,monospace;color:#b5cdee}
.systems-copy h3{font-size:clamp(1.9rem,3vw,3rem);line-height:1.75;margin:28px 0}
.systems-copy h3 strong{color:#c8dcff}
.systems-copy p{font-size:14px;color:#d0dff4;line-height:2.1;max-width:450px}
.systems-copy small{display:block;margin-top:25px;color:#b8cee9}
.systems-stack{border-inline-start:1px solid #aec9ec55;display:grid;align-content:stretch}
.systems-stack>div{padding:22px 30px;border-bottom:1px solid #aec9ec55;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;align-content:center}
.systems-stack>div:last-child{border-bottom:0}
.systems-stack span{font:10px AshkanMono,monospace;color:#a8c3e8;direction:ltr;grid-column:1 / -1;text-align:right}
.systems-stack strong{font-size:15px}.systems-stack p{font-size:12px;color:#c8d9f1;margin:0;line-height:1.8}
.section-certificates,.section-blog{background:var(--surface)}
.grid-ashkan_cert,.grid-ashkan_testimonial,.grid-post{gap:1px;background:var(--edge);border:1px solid var(--edge)}
.grid-ashkan_cert .work-card,.grid-ashkan_testimonial .work-card,.grid-post .work-card{border:0;border-radius:0}
.certificate-mark{height:150px;background:#dceaff;color:#214b8e;padding:21px;align-items:center}
.certificate-mark .certificate-seal{display:grid;place-items:center;width:75px;height:75px;border:1px solid #7399d0;border-radius:50%;font-size:42px}
.certificate-mark>span:last-child{font:10px AshkanMono,monospace;align-self:end}
.grid-ashkan_cert .card-body h3,.grid-ashkan_testimonial .card-body h3{line-height:1.8;font-size:17px}
.section-testimonials{background:var(--page)}
.grid-ashkan_testimonial .quote-mark{font-size:100px;color:var(--accent);padding:28px 25px 0}
.grid-ashkan_testimonial .card-body p{font-size:15px;line-height:2.2;min-height:7em}
.grid-post .card-body h3{font-size:18px;line-height:1.9}.grid-post .card-body p{line-height:2}
.section-contact .contact-box{border:1px solid #385a88}
@media(max-width:1100px){.grid-service{grid-template-columns:repeat(2,minmax(0,1fr))}.section-kicker{grid-template-columns:1fr 1.5fr}.section-kicker a{grid-column:1 / -1}.expertise-layout{grid-template-columns:minmax(210px,.8fr) minmax(0,2fr)}}
@media(max-width:760px){.profile-layout,.expertise-layout,.systems-panel{grid-template-columns:1fr}.profile-manifesto{min-height:370px}.profile-quote{margin-top:35px}.expertise-aside{border-inline-end:0;border-bottom:1px solid var(--edge)}.systems-stack{border-inline-start:0;border-top:1px solid #aec9ec55}.section-intro{display:block}.section-intro p{margin-top:14px}.section-kicker{grid-template-columns:1fr}.section-kicker a{grid-column:auto}}
@media(max-width:550px){.profile-manifesto,.profile-details,.expertise-aside,.systems-copy{padding:25px}.profile-manifesto{min-height:330px}.profile-quote{font-size:1.9rem}.profile-signature{font-size:9px}.expertise-layout .skill-grid,.grid-service,.grid-ashkan_cert,.grid-ashkan_testimonial,.grid-post{grid-template-columns:1fr}.expertise-layout .skill-item{min-height:120px}.grid-service .work-card{min-height:0}.grid-service .card-body p{min-height:0}.grid-portfolio .card-body{padding:21px}.timeline .timeline-entry{grid-template-columns:1fr}.systems-stack>div{grid-template-columns:1fr;padding:20px 25px}.systems-stack span{grid-column:auto}.section-portfolio .portfolio-toolbar{gap:12px}.section-portfolio .portfolio-toolbar label{width:100%}}
@media(prefers-reduced-motion:reduce){.work-card:hover{transform:none}.preview-trigger,.work-card{transition:none}}
@media print{.section:not(.section-hero){padding-block:24px}.profile-manifesto,.timeline-aside,.systems-panel{color:#111;background:#fff;border:1px solid #999}}

/* 0.6 / engineered editorial: one indigo palette, expressive type, restrained motion. */
.site-header{position:sticky;top:0;z-index:90;transition:transform .24s ease;background:var(--page)}
.site-header.header-hidden{transform:translateY(-105%)}
.site-header:focus-within{transform:none}
.header-inner{min-height:86px}
.brand-mark{border-radius:12px 3px 12px 3px}
.site-header nav a{position:relative;text-decoration:none}
.site-header nav a:after{content:'';position:absolute;inset-inline:0;bottom:-7px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .22s ease}
.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}
.header-contact{border-radius:100px;padding:10px 20px}
.theme-toggle{border-radius:50%}
.section-hero{position:relative;overflow:hidden;padding-top:38px}
.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(22px,4vw,60px)}
.hero-copy{padding-block:clamp(38px,6vw,88px) 34px;min-width:0}
.availability{border-radius:999px;background:var(--surface);padding:7px 15px;color:var(--ink)}
.availability span{box-shadow:0 0 0 4px #4b80da22}
.hero-super{margin-top:35px;letter-spacing:.12em}
.hero-copy h1{font-size:clamp(3.2rem,6.7vw,6.8rem);line-height:1.48;letter-spacing:-.065em;margin:18px 0 24px}
.hero-copy h1 em{position:relative;color:var(--accent);white-space:normal}
.hero-lead{max-width:36rem;font-size:clamp(1rem,1.25vw,1.12rem);line-height:2.15}
.actions{margin-top:32px}
.actions .btn{border-radius:100px;padding-inline:25px;min-height:56px;transition:transform .2s ease,background-color .2s ease}
.actions .btn:hover{transform:translateY(-3px)}
.hero-credentials{margin-top:clamp(30px,4vw,58px);padding-top:24px}
.hero-credentials>div{border-inline-start:2px solid var(--edge);padding-inline-start:12px}
.hero-credentials span{line-height:1.7}
.hero-art{min-height:570px;border-radius:2px 52px 2px 52px;padding:28px;box-shadow:0 22px 55px #10264724;background:radial-gradient(circle at 51% 46%,#264d82 0%,#172f57 42%,#0f2446 100%)}
.hero-art:before{background-image:linear-gradient(#e6f0ff0a 1px,transparent 1px),linear-gradient(90deg,#e6f0ff0a 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(0deg,transparent,#000 35%)}
.art-top,.art-bottom{align-items:center;letter-spacing:.08em;color:#cbdaf1}
.art-top span:last-child{border:1px solid #a9c8ef66;padding:7px 10px}
.art-core{min-height:335px}
.orbital{width:min(32vw,330px);height:min(32vw,330px);background:radial-gradient(circle,#b9d6ff13,transparent 65%);box-shadow:0 0 0 30px #aacbff08,0 0 0 60px #aacbff06}
.orbit-a{border-color:#a8d0ffb5}.orbit-b{border-color:#719cd8b5}
.orbit-center{font-size:clamp(90px,11vw,145px);color:#dfebff;text-shadow:0 8px 45px #86b4ff44}
.orbit-center span{color:#8dbbff}
.art-caption{border:1px solid #7a9ecb66;padding:9px 13px;background:#10294fe8;gap:18px;bottom:0;color:#e2efff}
.hero-spec{border-top-color:#8aabd555;padding-top:20px;margin-top:15px}
.hero-spec strong{margin-top:4px}
.hero-foot{padding-top:18px;margin-top:28px;letter-spacing:.08em}
.hero-foot a{font-family:AshkanPersian,Tahoma,sans-serif;letter-spacing:0;color:var(--ink)}
.section:not(.section-hero){padding-block:clamp(78px,8vw,130px)}
.section-intro{gap:40px;padding-bottom:32px;margin-bottom:42px}
.section-intro h2{font-size:clamp(2.25rem,4.1vw,3.65rem);letter-spacing:-.045em}
.section-intro p{font-size:15px;max-width:355px;line-height:2.1}
.section-intro .eyebrow{font-weight:400;letter-spacing:.04em}
.profile-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);border-radius:3px 36px 3px 36px;overflow:hidden}
.profile-manifesto{background:linear-gradient(145deg,#10284e,#1b3b6d);min-height:470px}
.profile-manifesto:after{border-color:#c0dcff38}
.profile-quote{font-size:clamp(2rem,3.3vw,3.4rem);line-height:1.75}
.profile-details{gap:22px}
.profile-mark{border-radius:18px 2px 18px 2px}
.profile-tags span{border-radius:999px;padding-inline:12px}
.profile-resume{max-width:270px;border-bottom:1px solid var(--edge);padding-bottom:10px}
.expertise-layout{border-radius:3px 30px 3px 30px;overflow:hidden}
.expertise-aside{padding:clamp(26px,3vw,42px)}
.expertise-aside h3{font-size:clamp(1.7rem,2.4vw,2.3rem);letter-spacing:-.04em}
.expertise-aside p{font-size:15px}
.expertise-layout .skill-item{min-height:155px;transition:background-color .2s ease}
.expertise-layout .skill-item:hover{background:var(--page)}
.expertise-layout .skill-item strong{font-size:17px}
.section-kicker{border-radius:2px 20px 2px 20px;padding:24px 26px}
.section-kicker p{font-size:14px}
.grid-service{border-radius:3px 30px 3px 30px;overflow:hidden}
.grid-service .work-card{min-height:280px;transition:box-shadow .2s ease}
.grid-service .card-icon,.grid-post .card-icon{border-radius:14px 2px 14px 2px}
.grid-service .card-body h3{font-size:18px}
.grid-service .card-body p{font-size:14px;line-height:2.05}
.grid-service .card-actions{margin-top:12px}
.portfolio-toolbar{border-radius:3px 22px 3px 22px}
.portfolio-toolbar input,.portfolio-toolbar select{border-radius:7px;min-height:48px}
.grid-portfolio .work-card{border-radius:3px 30px 3px 30px;box-shadow:0 8px 25px #1938620a}
.grid-portfolio .project-visual img{transition:transform .35s ease}
.grid-portfolio .work-card:hover .project-visual img{transform:scale(1.025)}
.grid-portfolio .card-meta span{border-radius:999px}
.preview-trigger,.preview-actions button,.device-buttons button{border-radius:999px}
.device-buttons button[aria-pressed=true]{background:var(--ink);color:var(--page);border-color:var(--ink)}
.preview-dialog{border-radius:4px 28px 4px 28px;box-shadow:0 30px 90px #0a1c35a0}
.preview-dialog::backdrop{background:#081527d9}
.timeline-aside{border-radius:3px 32px 3px 32px;background:linear-gradient(145deg,#10284e,#1b3b6d)}
.timeline-entry{transition:padding-inline .2s ease}
.timeline-entry:hover{padding-inline:12px}
.timeline-label span:first-child{font-weight:700;color:var(--accent)}
.systems-panel{border-radius:3px 42px 3px 42px;background:linear-gradient(135deg,#10284e,#183c6d)}
.systems-stack>div{transition:background-color .2s ease}
.systems-stack>div:hover{background:#c8dcff0c}
.certificate-mark{background:linear-gradient(130deg,#dceaff,#c5daf9)}
.grid-ashkan_cert,.grid-ashkan_testimonial,.grid-post{border-radius:3px 28px 3px 28px;overflow:hidden}
.grid-ashkan_cert .card-body p,.grid-ashkan_testimonial .card-body p,.grid-post .card-body p{font-size:15px;line-height:2.1}
.grid-ashkan_testimonial .work-card{min-height:315px}
.contact-box{border-radius:3px 46px 3px 46px;background:linear-gradient(145deg,#0f284f,#1a3a6a);gap:clamp(25px,5vw,70px);padding:clamp(28px,4vw,56px)}
.contact-box h3{letter-spacing:-.04em}
.contact-form input,.contact-form textarea,.form-preview input,.form-preview textarea{border-radius:7px;padding:12px;min-height:48px}
.contact-form .btn,.form-preview .btn{border-radius:999px;justify-self:start;min-width:155px}
.social-links a{border-radius:999px}
.site-footer{border-top:1px solid var(--edge)}
:root[data-theme=dark] .site-header,:root[data-theme=dark] .availability{background:var(--page)}
:root[data-theme=dark] .skill-item:hover{background:#263b5b}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .site-header,:root:not([data-theme=light]) .availability{background:var(--page)}:root:not([data-theme=light]) .skill-item:hover{background:#263b5b}}
@media(max-width:1000px){.hero-art{min-height:460px}.hero-grid{gap:22px}.header-inner{min-height:80px}.site-header nav{top:calc(100% - 1px);box-shadow:0 16px 40px #10284e20}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding-block:18px 5px}.hero-art{min-height:385px;border-radius:2px 35px 2px 35px}.art-core{min-height:255px}.orbital{width:230px;height:230px}.hero-credentials{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-credentials>div{display:block}.hero-credentials span{margin-top:5px}.section-intro h2{font-size:clamp(2rem,7vw,3rem)}.profile-layout{grid-template-columns:1fr}.profile-manifesto{min-height:370px}.systems-panel{grid-template-columns:1fr}.contact-box{grid-template-columns:1fr}.header-contact{display:none}}
@media(max-width:480px){.ashkan-container{width:calc(100% - 2rem)}.hero-copy h1{font-size:clamp(2.8rem,12vw,4rem)}.hero-super{font-size:10px}.hero-credentials{grid-template-columns:1fr;gap:14px}.hero-credentials>div{display:flex;justify-content:space-between;gap:10px}.hero-credentials span{margin:0}.hero-art{padding:20px;min-height:365px}.art-top,.art-bottom{font-size:9px}.art-caption{font-size:9px;gap:10px}.profile-layout,.expertise-layout,.grid-service,.grid-portfolio .work-card,.systems-panel,.contact-box{border-top-left-radius:24px;border-bottom-right-radius:24px}.profile-quote{font-size:2rem}.timeline-entry:hover{padding-inline:0}.portfolio-toolbar input,.portfolio-toolbar select{min-width:0;width:100%}.contact-box h3{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header nav a:after,.actions .btn,.grid-portfolio .project-visual img,.timeline-entry,.systems-stack>div{transition:none!important}.site-header.header-hidden{transform:none}.grid-portfolio .work-card:hover .project-visual img{transform:none}}
@media print{.site-header{position:static;transform:none!important}.hero-art,.availability,.actions{display:none!important}.hero-grid{display:block}.hero-copy{padding:0}}

:where(.prose,.case-content,.article-body) a{text-decoration:underline;text-underline-offset:.18em}
[id]{scroll-margin-top:7rem}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* 0.7 / editorial project dossiers and service narratives */
.case-head,.service-page,.article-page,.resume-page{padding-top:clamp(40px,6vw,90px);padding-bottom:clamp(70px,8vw,120px)}
.case-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:40px}
.case-breadcrumb a{text-decoration:underline;text-underline-offset:3px}.case-breadcrumb span:last-child{color:var(--ink)}
.case-heading-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:40px}
.case-heading-grid h1,.service-head h1,.article-head h1,.resume-head h1{font-size:clamp(2.4rem,5.2vw,5.4rem);letter-spacing:-.05em;line-height:1.55;margin:14px 0 18px;overflow-wrap:anywhere}
.case-heading-grid .page-lead,.service-head .page-lead{line-height:2.1;font-size:clamp(1rem,1.5vw,1.2rem)}
.case-index{border:1px solid var(--edge);padding:18px;background:var(--surface);display:grid;gap:16px;direction:ltr;min-height:185px}
.case-index>span,.case-index small{font:10px AshkanMono,monospace;color:var(--muted)}.case-index strong{font:68px AshkanMono,monospace;color:var(--accent);line-height:1}.case-index strong span{font-size:26px}
.demo-alert{border-inline-start:3px solid var(--accent);background:var(--surface);padding:15px 20px;color:var(--muted);font-size:14px}
.case-chips{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.case-chips span{border:1px solid var(--edge);border-radius:50px;padding:5px 12px;font-size:12px;color:var(--muted)}
.case-page .case-visual{margin:25px 0 75px;min-height:300px;border-radius:3px 36px 3px 36px;overflow:hidden}.case-page .case-visual img{max-height:670px;object-fit:cover}
.case-layout,.service-layout,.resume-layout,.article-layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.7fr);gap:clamp(30px,6vw,90px);align-items:start}
.case-aside,.service-aside,.resume-layout>aside,.article-layout>aside{position:sticky;top:110px;padding:28px;background:var(--surface);border:1px solid var(--edge);border-radius:3px 24px 3px 24px}
.case-aside h2,.service-aside h2,.resume-layout>aside h2{font-size:19px;margin:12px 0 25px}.case-fact{border-top:1px solid var(--edge);padding:15px 0}.case-fact span,.case-fact strong{display:block}.case-fact span{font-size:12px;color:var(--muted)}.case-fact strong{font-size:14px;overflow-wrap:anywhere}
.case-external,.service-aside>a{display:block;padding:12px 0;border-top:1px solid var(--edge);font-size:14px;font-weight:700;color:var(--accent)}
.case-main{min-width:0}.case-block{border-top:1px solid var(--edge);padding:32px 0}.case-block h2{font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.6;margin:10px 0 16px}.case-block p{line-height:2.25;color:var(--muted)}
.case-content:empty{display:none}.case-main .prose{max-width:760px;margin:0}.case-main .case-block .prose p{white-space:normal;margin:0 0 20px}.case-main .case-block .prose p:last-child{margin-bottom:0}
.project-gallery{margin-block:20px}.project-gallery img{border-radius:3px 20px 3px 20px}
.case-related{margin-block:90px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.related-grid article{background:var(--surface);border:1px solid var(--edge);padding:14px;min-width:0}.related-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}.related-grid h3{font-size:17px;margin:15px 0}.related-grid span{font-size:13px;color:var(--accent)}
.case-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#142c50;color:#f3f7ff;padding:clamp(25px,4vw,50px);border-radius:3px 35px 3px 35px;margin-bottom:80px}.case-cta .eyebrow{color:#c8dcff}.case-cta h2{font-size:clamp(1.7rem,3vw,2.7rem);margin:8px 0}.case-cta .btn{flex:none}
.service-head,.resume-head{display:grid;grid-template-columns:1fr minmax(240px,.6fr);align-items:center;gap:clamp(25px,5vw,70px);padding-bottom:70px}.service-art{background:#142c50;color:#dceaff;min-height:340px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;border-radius:3px 40px 3px 40px}.service-art span,.service-art small{font:11px AshkanMono,monospace;direction:ltr}.service-art strong{font:clamp(110px,15vw,190px) AshkanMono,monospace;line-height:1;text-align:center}
.service-layout{grid-template-columns:minmax(0,1.7fr) minmax(240px,.7fr)}.service-aside ol{list-style:none;counter-reset:steps;padding:0;margin:0}.service-aside li{counter-increment:steps;border-top:1px solid var(--edge);padding:15px 0}.service-aside li:before{content:'0' counter(steps);display:inline-block;font:11px AshkanMono,monospace;color:var(--accent);margin-inline-end:12px}.service-aside li strong{font-size:14px}.service-aside li span{display:block;color:var(--muted);font-size:13px;line-height:2;margin-top:8px}
.article-head{max-width:950px;padding-bottom:50px}.article-meta{display:flex;gap:20px;color:var(--muted);font-size:13px}.article-layout{border-top:1px solid var(--edge);padding-top:40px}.article-layout aside p{font-size:14px;color:var(--muted);line-height:2}.article-layout aside a{font-size:14px;color:var(--accent)}.article-body{margin:0;max-width:780px;font-size:17px;line-height:2.3}.article-body p{margin:0 0 24px}
.resume-head{border-bottom:1px solid var(--edge);margin-bottom:50px}.resume-mark{min-height:260px;display:grid;place-items:center;background:#142c50;color:#dceaff;border-radius:3px 40px 3px 40px;font:clamp(75px,10vw,140px) AshkanMono,monospace}.resume-mark span{font-size:35px}.resume-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.resume-layout aside ul{padding-inline-start:22px}.resume-layout aside li,.resume-layout aside p{color:var(--muted);font-size:14px;line-height:2}.resume-entry{border-top:1px solid var(--edge);padding:20px 0}.resume-entry span,.demo-note{font-size:12px;color:var(--accent)}.resume-entry h3{margin:8px 0;font-size:18px}.resume-entry p{font-size:14px}
@media(max-width:800px){.case-heading-grid{grid-template-columns:1fr}.case-index{max-width:220px}.case-layout,.service-layout,.resume-layout,.article-layout{grid-template-columns:1fr}.case-aside,.service-aside,.resume-layout>aside,.article-layout>aside{position:static}.case-aside{order:2}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-head,.resume-head{grid-template-columns:1fr}.service-art,.resume-mark{min-height:230px}.service-aside{order:2}}
@media(max-width:520px){.case-heading-grid h1,.service-head h1,.article-head h1,.resume-head h1{font-size:2.4rem}.case-page .case-visual{margin-bottom:35px;min-height:180px}.case-cta{display:block}.case-cta .btn{margin-top:15px}.related-grid{grid-template-columns:1fr}.article-body{font-size:16px}.case-related{margin-block:55px}}
@media print{.case-aside,.case-related,.case-cta,.resume-actions,.site-header,.site-footer{display:none!important}.resume-layout{display:block}.resume-head{display:block;padding:0}.resume-mark{display:none}.case-head,.resume-page{padding:0}}

/* Skills atlas: linked editorial cards rather than generic boxes. */
.skill-atlas{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.7fr);gap:16px;align-items:stretch}
.skill-atlas-intro{position:relative;overflow:hidden;background:#132f5d;color:#e9f2ff;border-radius:6px 48px 6px 48px;padding:clamp(28px,3.8vw,50px);display:flex;flex-direction:column;min-height:440px}
.skill-atlas-index,.skill-atlas-footer{font:11px AshkanMono,monospace;letter-spacing:.04em;color:#bed2ee;direction:ltr}
.skill-atlas-intro h3{font-size:clamp(2.3rem,3.8vw,3.5rem);line-height:1.65;letter-spacing:-.04em;margin:40px 0 16px;z-index:1}
.skill-atlas-intro h3 strong{color:#aaccff}.skill-atlas-intro p{font-size:15px;line-height:2.1;color:#d4e1f5;max-width:310px;z-index:1}
.skill-atlas-orbit{position:absolute;bottom:55px;left:-40px;width:200px;height:200px;border:1px solid #a1c3f344;border-radius:50%;display:grid;place-items:center;transform:rotate(-20deg);box-shadow:0 0 0 25px #a1c3f30a,0 0 0 50px #a1c3f306}.skill-atlas-orbit span{font-size:75px;color:#9ec4fb;opacity:.6}
.skill-atlas-footer{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:24px;border-top:1px solid #b7d1f253;z-index:1}
.skill-atlas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.skill-atlas-card{position:relative;display:flex;flex-direction:column;gap:20px;min-height:180px;padding:24px;background:var(--surface);border:1px solid var(--edge);border-radius:4px 26px 4px 26px;transition:transform .2s,box-shadow .2s;overflow:hidden}
.skill-atlas-card:before{content:'';position:absolute;inset-block-start:0;inset-inline-start:0;width:4px;height:54px;background:var(--accent);opacity:.75}
.skill-atlas-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #183b6919}.skill-atlas-card strong{font-size:clamp(16px,1.4vw,19px);line-height:1.6;overflow-wrap:anywhere}
.skill-atlas-top,.skill-atlas-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;direction:ltr;font:10px AshkanMono,monospace;color:var(--muted)}
.skill-atlas-icon{display:grid;place-items:center;background:#e4edfb;color:#275bc3;border-radius:50%;width:36px;height:36px;font-size:21px}.skill-atlas-bottom{margin-top:auto;border-top:1px solid var(--edge);padding-top:14px}.skill-atlas-bottom span:last-child{font-size:16px;color:var(--accent)}
.skill-atlas-card .skill-progress{margin-top:0}
@media(max-width:800px){.skill-atlas{grid-template-columns:1fr}.skill-atlas-intro{min-height:300px}.skill-atlas-intro h3{margin-top:25px}}
@media(max-width:480px){.skill-atlas-grid{grid-template-columns:1fr}.skill-atlas-card{min-height:150px}.skill-atlas-intro{padding:27px}.skill-atlas-orbit{width:155px;height:155px}}
@media(prefers-reduced-motion:reduce){.skill-atlas-card{transition:none}.skill-atlas-card:hover{transform:none}}

/* Native Elementor intro is editable with the free editor. */
.ashkan-elementor-intro{width:min(calc(100% - 3rem),1200px);margin-inline:auto}.ashkan-intro-0{padding-block-start:clamp(65px,8vw,120px)}.ashkan-intro-0 h1{max-width:980px;font-size:clamp(2.8rem,6vw,6rem)!important;line-height:1.55!important;letter-spacing:-.045em;color:var(--ink)}
.ashkan-intro-1{max-width:1200px}.ashkan-intro-1 .elementor-text-editor{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:2.2;color:var(--muted);max-width:740px}
.ashkan-intro-2{padding-block:18px 70px}.ashkan-intro-2 .elementor-button{background:var(--ink);color:var(--page);border-radius:999px;padding:17px 26px;font-family:AshkanPersian,Tahoma,sans-serif;font-weight:700}
.ashkan-intro-3{border-top:1px solid var(--edge);padding-top:60px}.ashkan-intro-3 h2{font-size:clamp(2rem,4vw,3.5rem)!important;line-height:1.6!important;color:var(--ink)}.ashkan-intro-4{padding-bottom:70px}.ashkan-intro-4 .elementor-text-editor{max-width:840px;line-height:2.2;font-size:16px;color:var(--muted)}
.ashkan-elementor-dynamic .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:0}.ashkan-elementor-dynamic .section{width:100%}
@media(max-width:480px){.ashkan-elementor-intro{width:calc(100% - 2rem)}.ashkan-intro-0 h1{font-size:2.5rem!important}.ashkan-intro-2{padding-bottom:45px}.ashkan-intro-3{padding-top:40px}.ashkan-intro-4{padding-bottom:45px}}
