/*
Theme Name: Ashutosh Portfolio
Author: Ashutosh Patil
Description: Clean custom portfolio theme with native Elementor pages, responsive profile card and animated panels. No theme addon plugin required.
Version: 1.0.6
Requires PHP: 8.0
Text Domain: ashutosh-portfolio
*/
@font-face{font-family:APIcons;src:url(assets/fa-solid-900.woff2) format('woff2');font-display:swap;font-weight:900}
@font-face{font-family:APBrands;src:url(assets/fa-brands-400.woff2) format('woff2');font-display:swap}
:root{--accent:#78c878;--ink:#323232;--muted:#646464;--line:#eee;--ap-admin:0px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#50a3a2 0%,#78cc6d 100%);font:400 16px/1.7 Poppins,Arial,sans-serif;color:var(--muted);min-height:100vh}.admin-bar{--ap-admin:32px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:hover{color:var(--accent)}img{max-width:100%;height:auto}h1,h2,h3,h4{color:var(--ink);font-family:inherit;font-weight:600;line-height:1.4;margin:0}p{margin:0 0 24px}p:last-child{margin-bottom:0}ul{padding-left:22px}li{margin-bottom:10px}li::marker{color:var(--accent)}.skip-link{position:fixed;top:-100px}.skip-link:focus{top:40px;left:40px;background:white;z-index:10000;padding:12px}.geometric-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none}.geometric-bg i{position:absolute;width:45vw;height:65vh;background:#fff;opacity:.035;transform:rotate(35deg);animation:float 22s ease-in-out infinite alternate}.geometric-bg i:nth-child(1){left:-20%;top:-25%}.geometric-bg i:nth-child(2){left:10%;top:65%;transform:rotate(55deg)}.geometric-bg i:nth-child(3){right:-10%;top:30%;transform:rotate(-35deg)}.geometric-bg i:nth-child(4){left:55%;top:-30%;transform:rotate(-20deg)}.geometric-bg i:nth-child(5){left:35%;top:85%}.geometric-bg i:nth-child(6){left:75%;top:70%;opacity:.05}@keyframes float{to{translate:20px 20px;rotate:10deg}}
.portfolio-shell{position:relative;max-width:1268px;margin:0 auto;display:grid;grid-template-columns:72px 480px minmax(0,1fr);align-items:center;min-height:calc(100vh - var(--ap-admin));padding:20px 12px 20px 0}.portfolio-nav{align-self:start;margin-top:0;z-index:5}.menu-toggle{border:0;width:72px;height:64px;background:#fff;border-radius:4px;margin-bottom:8px;padding:22px}.menu-toggle span{display:block;height:2px;background:#323232;margin:5px 0;width:25px}.menu-toggle span:nth-child(2){width:20px}.menu-toggle span:nth-child(3){width:15px}.portfolio-nav nav{background:#fff;border-radius:4px}.portfolio-nav .e-con,.portfolio-nav .elementor-widget{width:100%;padding:0!important;margin:0!important;gap:0!important}.nav-buttons{display:flex;flex-direction:column}.nav-buttons a{display:flex;flex-direction:column;justify-content:center;align-items:center;height:72px;padding:8px 2px!important;background:transparent!important;border:0!important;border-radius:0!important;color:#323232!important;font-size:11px!important;font-weight:500!important;line-height:1.4!important;white-space:normal!important}.nav-buttons a:before{font-family:APIcons;font-size:20px;line-height:26px;display:block;margin-bottom:4px}.nav-about a:before{content:'\f007'}.nav-resume a:before{content:'\f022'}.nav-courses a:before{content:'\f06e'}.nav-contact a:before{content:'\f1d8'}.nav-buttons .elementor-button-content-wrapper{display:block}.nav-buttons a:hover,.nav-buttons a.is-current{color:var(--accent)!important}.nav-buttons .elementor-widget:not(:last-child){border-bottom:1px solid #f7f7f7}
.profile-card{height:calc(100vh - 60px - var(--ap-admin));max-height:700px;min-height:560px;background:#fff;position:relative;z-index:3;border-radius:4px;box-shadow:10px 10px 25px #0000000d;display:flex;flex-direction:column;transform:skewY(-4deg)}.profile-card>*{transform:skewY(4deg)}.profile-body{flex:1;min-height:0;text-align:center;overflow:hidden;margin-top:-14px}.profile-content{padding:0!important;gap:0!important;display:block!important}.profile-content .elementor-widget{margin:0!important}.profile-cover{height:48%;min-height:310px;clip-path:polygon(0 0,100% 0,100% 90%,50% 100%,0 90%);overflow:hidden}.profile-cover img{width:100%;height:335px!important;object-fit:cover;object-position:center 38%}.profile-avatar{position:relative;margin-top:-105px!important;z-index:2;text-align:center}.profile-avatar img{width:140px!important;height:154px!important;object-fit:cover;border-radius:50%!important;border:3px solid #fff;box-shadow:0 0 0 10px #ffffff10}.profile-name{margin-top:15px!important}.profile-name h1,.profile-name .elementor-heading-title{font-family:Poppins,Arial,sans-serif!important;font-size:34px!important;font-weight:500!important;color:#323232!important;line-height:1.3!important}.profile-roles{margin-top:7px!important;color:var(--accent);line-height:24px;height:30px;overflow:hidden}.profile-roles .elementor-widget-container{font-size:16px}.profile-social{display:flex!important;flex-direction:row!important;justify-content:center;gap:16px!important;margin-top:22px!important;padding:0!important}.profile-social .elementor-widget{width:auto!important}.profile-social a{padding:0!important;background:transparent!important;color:#444!important;border:0!important;font-size:17px!important;border-radius:0!important}.profile-social .linkedin a{font-weight:700!important;font-family:Arial!important}.profile-social .facebook a{font-family:Arial!important;font-weight:700!important}.profile-footer{height:72px;border-top:1px solid var(--line);position:relative}.footer-content,.footer-buttons{padding:0!important;gap:0!important;height:100%}.footer-buttons{display:flex!important;flex-direction:row!important;align-items:stretch!important}.footer-buttons>.elementor-element{width:50%!important;display:flex;align-items:center;justify-content:center;margin:0!important}.footer-buttons>.elementor-element+*{border-left:1px solid var(--line)}.footer-buttons a{background:transparent!important;border:0!important;color:#323232!important;font-size:13px!important;font-weight:600!important;padding:20px 8px!important;border-radius:0!important;white-space:nowrap}.footer-buttons a:after{font-family:APIcons;display:inline-block;margin-left:12px;background:var(--accent);color:#fff;border-radius:50%;width:30px;height:30px;line-height:30px;font-size:12px;content:'\f019'}.footer-buttons .contact-me a:after{content:'\f1d8'}
.portfolio-panels{height:calc(100vh - 100px - var(--ap-admin));max-height:660px;min-height:520px;position:relative;z-index:2}.portfolio-panel{height:100%;background:#fff;border-radius:0 4px 4px 0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#999 transparent;box-shadow:0 0 25px #00000007}.portfolio-panel[hidden]{display:none!important}.portfolio-panel.is-active{animation:panel-in .65s ease both}@keyframes panel-in{from{opacity:0;transform:translateX(-35px)}to{opacity:1;transform:translateX(0)}}.panel-content{padding:32px 36px!important;gap:0!important;display:flex!important;flex-direction:column!important}.panel-content>.elementor-widget,.panel-content>.e-con{margin-bottom:28px!important}.panel-content>.elementor-widget:last-child{margin-bottom:0!important}.panel-title .elementor-heading-title{font-size:24px!important;font-weight:600!important;color:var(--ink)!important}.section-title .elementor-heading-title{font-size:20px!important;position:relative;font-weight:600!important}.section-title .elementor-heading-title:before{content:'';position:absolute;width:30px;height:30px;left:-10px;top:0;background:linear-gradient(135deg,#78c87844,#78c87800);border-radius:50%;pointer-events:none}.panel-content .elementor-widget-text-editor{font-family:Poppins,Arial,sans-serif!important;color:var(--muted);font-size:16px;line-height:1.7}.panel-content .elementor-widget-text-editor p{margin-bottom:24px}.panel-content .elementor-widget-text-editor p:last-child{margin-bottom:0}.services-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:0!important;padding:0!important}.service{padding:24px 18px!important;border-top:1px solid var(--line);gap:12px!important}.service:nth-child(even){border-left:1px solid var(--line)}.service-name .elementor-heading-title{font-size:17px!important}.service:before{font-family:APIcons;content:'\f0b1';font-size:28px;color:var(--accent)}.service:nth-child(2):before{content:'\f0eb'}.service:nth-child(3):before{content:'\f080'}.service:nth-child(4):before{content:'\f0ac'}.service:nth-child(5):before{content:'\f085'}.service .elementor-widget-text-editor{font-size:15px}.facts-grid{display:grid!important;grid-template-columns:repeat(4,1fr);padding:0!important}.fact{padding:15px 10px!important;text-align:center;gap:10px!important;border-right:1px solid var(--line)}.fact:last-child{border:0}.fact-number .elementor-heading-title{font-size:18px!important}.quote{text-align:center;font-style:italic}.quote-avatar{text-align:center}.quote-avatar img{width:60px!important;height:60px!important;border-radius:50%;object-fit:cover}.quote-credit{text-align:center;font-size:14px!important}.resume-label{padding:0 0 22px;border-bottom:1px solid var(--line)}.resume-label .elementor-heading-title{font-size:17px!important}.resume-label .elementor-heading-title:before{font-family:APIcons;content:'\f0b1';color:var(--accent);font-size:25px;margin-right:14px}.timeline-item{position:relative;border-left:1px solid var(--line);padding:0 0 25px 18px!important;gap:8px!important;margin-top:0!important;border-bottom:1px solid var(--line)}.timeline-item:before{content:'';position:absolute;left:-5px;top:8px;width:9px;height:9px;background:var(--accent);border-radius:50%}.date{font-size:13px!important;color:var(--accent)!important;line-height:1.5!important}.date .elementor-widget-container{display:inline-block;border:1px solid #b5dcb5;border-radius:3px;padding:0 4px}.job-title .elementor-heading-title{font-size:17px!important;line-height:1.4!important;font-weight:600!important}.company{font-size:14px!important;color:#999!important}.company-logo{position:absolute!important;right:0;top:8px;width:80px!important;z-index:1}.company-logo img{max-width:80px;max-height:65px;object-fit:contain}.timeline-item>.date,.timeline-item>.job-title,.timeline-item>.company{padding-right:90px}.timeline-item ul{list-style-type:square;padding-left:18px;margin:10px 0 0}.timeline-item li{padding-left:0;margin-bottom:8px}.timeline-item li::marker{font-size:9px}.certificate-link a{background:transparent!important;color:#323232!important;font-size:13px!important;padding:8px 0!important}.skills-grid{display:grid!important;grid-template-columns:1fr 1fr;padding:0!important;gap:30px!important}.skills-grid>.e-con{padding:0!important}.skill-lines{list-style:none;padding:0}.skill-lines li{border-bottom:5px solid #83c783;padding:10px 0}.coding-progress .elementor-progress-wrapper{background:#eee!important}.coding-progress .elementor-progress-bar{background:var(--accent)!important}.tools-list{list-style:'✓  ';padding-left:20px}.course-grid{display:grid!important;grid-template-columns:1fr 1fr;padding:0!important;gap:28px!important}.course-card{padding:0!important;gap:10px!important;text-align:center}.course-image{overflow:hidden}.course-image img{width:100%;height:180px!important;object-fit:contain;background:#fafafa;transition:transform .4s;cursor:pointer}.course-image img:hover{transform:scale(1.05)}.course-title .elementor-heading-title{font-size:16px!important}.course-org{font-size:13px!important;color:#999!important}.course-dialog{border:0;max-width:760px;width:90vw;max-height:90vh;padding:35px;border-radius:5px}.course-dialog::backdrop{background:#0009}.course-dialog .course-image img{height:auto!important;max-height:65vh}.dialog-close{position:absolute;right:10px;top:0;border:0;background:none;font-size:30px}.contact-details strong{background:var(--accent);color:#fff;padding:2px 7px;border-radius:2px;font-weight:400}.standalone-content{max-width:900px;margin:40px auto;background:white;padding:30px}.standalone-content .profile-cover img{height:330px}.setup-message{background:#fff;max-width:700px;margin:10vh auto;padding:40px}.elementor-editor-active .standalone-content{max-width:none;margin:0;padding:0}.elementor-editor-active .profile-content{min-height:640px}.elementor-editor-active .nav-buttons{max-width:100px}.elementor-button{font-family:inherit!important}
@media(min-width:1400px){.portfolio-shell{padding-left:0}.portfolio-nav{margin-right:8px}.profile-card{max-height:700px}.portfolio-panels{max-height:660px}}
@media(max-width:1100px) and (min-width:769px){.portfolio-shell{grid-template-columns:72px 38% minmax(0,1fr);padding-right:20px}.profile-name .elementor-heading-title{font-size:28px!important}.profile-cover img{height:310px!important}.panel-content{padding:28px!important}.footer-buttons a{font-size:11px!important}.footer-buttons a:after{margin-left:5px;width:24px;height:24px;line-height:24px}.services-grid{grid-template-columns:1fr}.service:nth-child(even){border-left:0}}
@media(max-width:768px){.admin-bar{--ap-admin:46px}.portfolio-shell{display:flex;flex-direction:column;min-height:0;padding:0 0 25px}.portfolio-nav{position:sticky;top:var(--ap-admin);width:100%;margin:0;background:#fff;z-index:20}.menu-toggle{display:none}.portfolio-nav nav{border-radius:0}.nav-buttons{flex-direction:row!important;display:flex!important}.nav-buttons>.elementor-element{width:25%!important;flex:1}.nav-buttons a{height:75px;font-size:11px!important}.nav-buttons .elementor-widget:not(:last-child){border-right:1px solid var(--line);border-bottom:0}.profile-card{width:100%;min-height:640px;max-height:none;height:auto;transform:none;border-radius:0;margin-bottom:15px;box-shadow:none}.profile-card>*{transform:none}.profile-body{margin-top:0;min-height:550px}.profile-cover{min-height:300px}.profile-cover img{height:330px!important;object-position:center 35%}.profile-name .elementor-heading-title{font-size:32px!important}.profile-footer{height:72px}.portfolio-panels{height:auto;min-height:0;max-height:none;width:100%}.portfolio-panel{height:auto;min-height:400px;overflow:visible;border-radius:0}.portfolio-panel.is-active{animation:panel-in .4s ease}.panel-content{padding:30px 24px!important}.services-grid{grid-template-columns:1fr 1fr}.facts-grid{grid-template-columns:1fr 1fr}.course-grid{gap:20px!important}.course-image img{height:140px!important}.company-logo{width:60px!important}.timeline-item>.date,.timeline-item>.job-title,.timeline-item>.company{padding-right:65px}.company-logo img{max-width:60px}.skills-grid{grid-template-columns:1fr}.footer-buttons a{font-size:12px!important}.standalone-content{margin:0;padding:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Final shell geometry and Elementor typography alignment. */
.nav-buttons a:before,.footer-buttons a:after,.service:before,.resume-label .elementor-heading-title:before{font-weight:900}
.portfolio-shell{max-width:1280px;grid-template-columns:28px 480px minmax(0,1fr);padding:20px 40px 20px 0;height:calc(100vh - var(--ap-admin));min-height:0}
.portfolio-nav{position:absolute;left:0;top:20px;width:72px}
.profile-card{height:calc(100vh - 60px);min-height:560px}
.portfolio-panels{height:calc(100vh - 100px);min-height:520px}
.profile-content{gap:0!important}.profile-content>.elementor-widget{width:100%!important;max-width:100%}
.profile-content .profile-roles{color:var(--accent)!important}.profile-social{margin-top:22px!important}
@media(max-width:1100px) and (min-width:769px){.portfolio-shell{grid-template-columns:28px 38% minmax(0,1fr);padding-right:20px}}
@media(max-width:768px){.portfolio-shell{display:flex;height:auto;min-height:0;padding:0 0 25px}.portfolio-nav{position:sticky;left:auto;top:var(--ap-admin);width:100%}.profile-card{height:auto;min-height:640px}.portfolio-panels{height:auto;min-height:0}}
.profile-content>.profile-avatar{margin-top:-105px!important}.profile-content>.profile-name{margin-top:15px!important}.profile-content>.profile-roles{margin-top:7px!important}.footer-buttons a{display:flex!important;align-items:center;justify-content:center}.profile-cover{height:335px!important;min-height:0!important}.profile-cover img{height:335px!important}.profile-roles .elementor-widget-container{font-family:Poppins!important;color:var(--accent)!important}.profile-social .elementor-widget-container{width:auto!important}
@media(min-width:769px){.profile-card{grid-column:2;grid-row:1;top:-18px}.portfolio-panels{grid-column:3;grid-row:1;top:-20px}.profile-cover img{object-position:center 50%}}
.profile-social{justify-content:center!important;width:100%!important}.profile-roles{height:26px!important}.panel-content .elementor-heading-title{color:var(--ink)!important}.portfolio-menu-panel{position:absolute;left:80px;top:0;width:340px;padding:25px;background:white;border-radius:4px;box-shadow:0 8px 25px #0002}.portfolio-menu-panel[hidden]{display:none}.portfolio-menu-panel h2{font-size:20px;text-align:center}.portfolio-menu-panel .profile-footer{height:auto;margin-top:25px}.portfolio-menu-panel .footer-buttons a{font-size:10px!important}.portfolio-menu-panel .footer-buttons a:after{display:none}.social.linkedin a:before{font-family:APBrands;content:'\f08c'}.social.facebook a:before{font-family:APBrands;content:'\f082'}.social .elementor-button-text{display:none}
@media(max-width:768px){.portfolio-panel{scroll-margin-top:calc(75px + var(--ap-admin))}}
