/*
Theme Name: Devva Portfolio
Theme URI: https://devvma.space
Author: Devva Maulana
Description: A focused portfolio for Laravel, WordPress and web application development.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: devvma
*/
:root{color-scheme:light dark;--bg:#f5f6f5;--surface:#ecefec;--ink:#18221d;--muted:#4c5c52;--line:#ccd5ce;--accent:#236446;--button:#f9fbf9;--max:1240px;--radius:12px;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;height:auto;display:block}.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.skip-link{position:absolute;top:-80px;left:20px;z-index:20;background:var(--ink);color:var(--bg);padding:12px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:21px;font-weight:750;letter-spacing:-.8px;text-decoration:none}.brand span{color:var(--accent)}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{text-decoration:none;font-size:14px}.nav-links a[aria-current]{text-decoration:underline}.menu-toggle{display:none}.hero{padding:70px 0 76px;display:grid;grid-template-columns:1.08fr 1fr;gap:60px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 22px}h1,h2,h3{line-height:1.1;letter-spacing:-.045em;font-weight:650;margin:0}h1{font-size:clamp(38px,4.5vw,62px);max-width:660px}h2{font-size:clamp(30px,3.4vw,45px)}h3{font-size:26px}.hero p.lead{font-size:18px;line-height:1.6;max-width:430px;margin:24px 0 30px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--accent);color:var(--button);border:1px solid var(--accent);border-radius:6px;padding:13px 21px;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;transition:transform .18s}.button:hover{color:var(--button);transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.hero-visual{margin:0;min-width:0}.hero-image{padding:20px;background:#e3eae4;border-radius:var(--radius)}.hero-image img{aspect-ratio:1.4;object-fit:cover;object-position:top;border-radius:5px;box-shadow:0 10px 26px #1a362113}.hero-visual figcaption{font-size:12px;color:var(--muted);margin-top:12px}.intro-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px;padding:28px 0;border-block:1px solid var(--line)}.intro-strip p{margin:0;font-size:14px;color:var(--muted)}.intro-strip strong{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}.section{padding:86px 0}.section-heading{max-width:660px;margin-bottom:38px}.section-heading p{color:var(--muted);max-width:58ch;margin:17px 0 0}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px}.project-card{min-width:0}.project-card a{text-decoration:none}.project-cover{background:var(--surface);border-radius:var(--radius);overflow:hidden;aspect-ratio:1.6;margin-bottom:20px}.project-cover img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s}.project-card a:hover img{transform:scale(1.025)}.project-card h3{font-size:25px;line-height:1.2}.project-card p{margin:10px 0;color:var(--muted);font-size:15px;max-width:55ch}.project-type{font-size:12px;color:var(--muted);margin-bottom:9px;display:block}.read-link{display:inline-block;font-size:14px;font-weight:700;color:var(--accent);margin-top:10px}.project-text{padding:26px 0;border-top:1px solid var(--line)}.project-text .project-type{margin-top:0}.work-grid .project-text{align-self:start}.about-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;border-top:1px solid var(--line)}.about-copy>p{margin:0 0 22px;color:var(--muted)}.skills{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}.skills h3{font-size:18px;letter-spacing:-.02em}.skills p{font-size:14px;color:var(--muted);margin:8px 0 0}.experience-list{margin-top:38px}.experience-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.experience-row p{margin:0;font-size:14px;color:var(--muted)}.experience-row strong{font-size:16px}.contact{border-top:1px solid var(--line);padding:66px 0 80px}.contact h2{max-width:650px}.contact p{color:var(--muted);max-width:550px;margin:20px 0 26px}.contact-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px;font-size:14px}.site-footer{padding:25px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:24px}.footer-inner a{margin-left:18px}.page-heading{padding:65px 0 40px}.page-heading p{max-width:680px;color:var(--muted);font-size:20px}.back-link{font-size:14px;display:inline-block;margin-bottom:25px;color:var(--muted)}.article-header{max-width:900px;padding:60px 0 34px}.article-header h1{max-width:900px;font-size:clamp(36px,5vw,66px)}.article-intro{font-size:21px;color:var(--muted);max-width:760px;margin:24px 0}.article-meta{display:flex;flex-wrap:wrap;gap:12px 25px;font-size:13px;color:var(--muted)}.article-figure{margin:0 0 45px;background:var(--surface);padding:22px;border-radius:var(--radius)}.article-figure img{width:100%;max-height:640px;object-fit:contain;object-position:top}.article-figure figcaption{font-size:12px;color:var(--muted);margin-top:14px}.article-layout{display:grid;grid-template-columns:210px minmax(0,760px);gap:65px;margin-bottom:90px}.article-aside{font-size:13px;color:var(--muted)}.article-aside p{margin:0 0 18px}.article-aside strong{display:block;color:var(--ink)}.prose{min-width:0;font-size:18px;line-height:1.8}.prose h2{font-size:31px;margin:48px 0 18px;letter-spacing:-.03em}.prose h2:first-child{margin-top:0}.prose h3{font-size:23px;margin:32px 0 15px}.prose p{margin:0 0 22px}.prose ul,.prose ol{padding-left:25px;margin:0 0 25px}.prose li{margin-bottom:9px}.prose a{color:var(--accent)}.prose blockquote{border-left:3px solid var(--accent);padding:10px 24px;margin:32px 0;font-size:23px;line-height:1.5}.prose .evidence-note{padding:22px;background:var(--surface);border-radius:var(--radius);font-size:15px;color:var(--muted)}.prose .wp-block-image{margin:34px 0}.prose img{border-radius:8px}.prose figcaption{font-size:12px;color:var(--muted)}.empty-state{padding:40px 0}.not-found{padding:90px 0;max-width:700px}.not-found p{color:var(--muted)}.screen-reader-text{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.page-content{max-width:820px;padding-bottom:80px}.wp-block-image img{height:auto}.pagination{margin-top:45px}.search-form{display:flex;gap:12px;flex-wrap:wrap}.search-field{border:1px solid var(--line);padding:10px;border-radius:6px;background:var(--surface);color:var(--ink)}.search-submit{border:0;background:var(--accent);color:var(--button);padding:10px 20px;border-radius:6px}
.privacy-preferences{border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:5px;margin-left:18px;padding:0;cursor:pointer}.analytics-consent{position:fixed;bottom:18px;left:18px;right:18px;max-width:560px;padding:22px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 40px #1a362124;z-index:15}.analytics-consent p{font-size:14px;line-height:1.6;margin:0 0 15px}.consent-actions{display:flex;gap:12px;flex-wrap:wrap}.consent-actions button{padding:9px 15px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:var(--button);font-size:13px;font-weight:700;cursor:pointer}.consent-actions button+button{background:transparent;color:var(--ink);border-color:var(--line)}
@media(prefers-color-scheme:dark){:root{--bg:#141b17;--surface:#1f2b23;--ink:#edf3ed;--muted:#b4c2b7;--line:#39483d;--accent:#95d5ad;--button:#122219}.hero-image{background:#26372b}.hero-image img{box-shadow:none}}
@media(min-width:1500px){.hero{gap:80px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:32px;padding:50px 0}.hero h1{font-size:43px}.article-layout{grid-template-columns:170px minmax(0,1fr);gap:32px}.about-section{gap:40px}.nav-links{gap:20px}}
@media(max-width:767px){.wrap{width:calc(100% - 36px)}.nav{min-height:68px;position:relative}.brand{font-size:19px}.menu-toggle{display:block;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);padding:6px 12px;font-size:13px}.nav-links{display:none;position:absolute;top:65px;right:0;left:0;padding:20px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);z-index:10;flex-direction:column;align-items:stretch;gap:17px}.nav-links.is-open{display:flex}.hero{grid-template-columns:1fr;gap:35px;padding:42px 0}.hero h1{font-size:clamp(36px,9.5vw,48px)}.hero p.lead{font-size:17px;margin:22px 0}.hero-image{padding:14px}.hero-image img{aspect-ratio:1.65}.intro-strip{grid-template-columns:1fr;gap:19px;padding:26px 0}.intro-strip p{max-width:40ch}.section{padding:55px 0}.work-grid{grid-template-columns:1fr;gap:35px}.project-card h3{font-size:24px}.project-text{padding:20px 0 0}.about-section{grid-template-columns:1fr;gap:25px}.skills{gap:20px}.experience-row{grid-template-columns:1fr;gap:5px}.contact{padding:48px 0}.footer-inner{flex-direction:column;gap:10px}.footer-inner a{margin:0 20px 0 0}.page-heading{padding:42px 0 25px}.article-header{padding:40px 0 24px}.article-header h1{font-size:38px}.article-intro{font-size:19px}.article-figure{padding:12px;margin-bottom:30px}.article-layout{grid-template-columns:1fr;gap:25px;margin-bottom:55px}.article-aside{display:flex;flex-wrap:wrap;gap:12px 28px;border-bottom:1px solid var(--line);padding-bottom:12px}.article-aside p{margin:0}.prose{font-size:17px}.prose h2{font-size:28px;margin-top:36px}.prose blockquote{font-size:20px}.page-content{padding-bottom:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:767px){html:not(.js) .nav{flex-wrap:wrap;padding-block:15px}html:not(.js) .nav-links{display:flex;position:static;flex-direction:row;flex-wrap:wrap;padding:0;border:0;width:100%;gap:14px 24px}html:not(.js) .menu-toggle{display:none}.privacy-preferences{margin:0 20px 0 0}}
@media print{.site-header,.contact,.site-footer,.actions,.article-aside{display:none}.wrap{width:100%}:root{--bg:white;--ink:black;--muted:#333}.hero,.article-layout{display:block}.article-figure{max-height:400px;overflow:hidden}}
