/*
Theme Name: Nurisa Portfolio
Author: Mohsen Nurisa
Description: A custom, CV-driven portfolio with a fixed portrait, editable pages, project case studies, and private contact enquiries.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nurisa-portfolio
*/
@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:700 800;font-style:normal;font-display:swap}
:root{--bg:#181a19;--surface:#202321;--line:#383d39;--text:#f1f4ee;--muted:#a3aaa3;--accent:#bbf783;--cyan:#a2d8dd;--violet:#ccc3eb;--radius:8px}
*{box-sizing:border-box;letter-spacing:0}
html{scroll-behavior:smooth;scroll-padding-top:35px}
body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}img{display:block;max-width:100%;height:auto}button:disabled{opacity:.6;cursor:wait}
svg.lucide{width:20px;height:20px;flex-shrink:0}::selection{background:var(--accent);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.18}p{color:var(--muted);margin-bottom:24px}ul{padding-left:21px;color:var(--muted)}li{margin-bottom:10px}
.site-shell{max-width:1600px;margin:0 auto;padding:0 104px 0 36px;position:relative}
.profile-panel{position:fixed;width:310px;top:30px;bottom:30px;padding:25px;border:1px solid #454b44;border-radius:var(--radius);display:flex;flex-direction:column;z-index:10;overflow-y:auto;scrollbar-width:thin;background:var(--bg)}
.profile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px}
.wordmark{font-size:44px;line-height:1;font-weight:700}.wordmark span,.mobile-brand span{color:var(--accent)}
.profile-role{font-size:12px;line-height:1.6;text-align:right;color:var(--muted)}
.portrait-wrap{position:relative;overflow:hidden;border-radius:5px;min-height:140px;flex:1;max-height:345px}
.portrait{width:100%;height:100%;object-fit:cover;object-position:center 36%;aspect-ratio:4/5}
.portrait-label{position:absolute;bottom:12px;left:12px;color:#fff;background:#181a19e6;font-size:10px;padding:4px 9px;border-radius:2px}
.profile-info{margin:24px 0 8px}.profile-info h2{font-size:24px;font-weight:600;margin-bottom:5px}.profile-info p{font-size:13px;margin:0}
.profile-email{font-size:13px;overflow-wrap:anywhere;color:var(--text)}.profile-email:hover{color:var(--accent)}
.profile-links{display:flex;gap:10px;margin:22px 0}
.icon-button{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);position:relative;flex-shrink:0;transition:color .2s,border-color .2s}
.icon-button:hover{color:var(--accent);border-color:var(--accent)}
[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:4px 8px;border-radius:3px;font-size:12px;line-height:1.5;white-space:nowrap;opacity:0;pointer-events:none;z-index:20;transition:opacity .15s}
[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 24px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:600;line-height:1.5;transition:background .2s,color .2s}
.button.primary{background:var(--accent);color:#20271b}.button.primary:hover{background:#d2fcb0}.profile-cta{width:100%}
.profile-foot{font-size:10px;text-align:center;color:var(--muted);margin-top:14px}
.main-column{margin-left:382px;max-width:860px;position:relative}
.site-header{display:flex;justify-content:space-between;align-items:center;min-height:100px;border-bottom:1px solid var(--line);gap:16px}
.header-context{font-size:10px;color:var(--muted)}.header-context span{margin:0 10px;color:#5a625b}.header-actions{display:flex;align-items:center;gap:22px}.header-cv{display:flex;align-items:center;gap:8px;font-size:12px}.header-cv svg{width:16px;height:16px}.header-cv:hover{color:var(--accent)}.mobile-brand{display:none}
.menu-toggle{border-color:#545c53;color:var(--text);width:40px;height:40px}
.site-menu{position:absolute;top:88px;right:0;background:#242824;border:1px solid #4c544b;border-radius:var(--radius);padding:24px;z-index:30;width:260px;box-shadow:0 12px 30px #0005}
[hidden]{display:none!important}.site-menu ul{list-style:none;padding:0;margin:12px 0 0}.site-menu li{margin:0}.site-menu a{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--text);font-size:15px}.site-menu a:hover{color:var(--accent)}
.hero{padding:46px 0 0;min-height:calc(100svh - 100px);display:flex;flex-direction:column;position:relative}
.eyebrow{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;font-size:11px;line-height:1.5;border:1px solid #4c534b;border-radius:30px;padding:8px 14px;text-transform:uppercase;color:var(--text);margin-bottom:34px}
.eyebrow svg{width:13px;height:13px}.hero-title{margin:8px 0 22px}.hero-greeting{font-size:17px;margin-bottom:12px;color:var(--muted)}
.hero h1{font-size:64px;font-weight:600;margin:0 0 14px;line-height:1.14}.name-dot{color:var(--accent)}
.hero h2{font-size:52px;line-height:1.17;margin-bottom:0}.hero h2 span{color:var(--accent)}
.hero-description{max-width:540px;font-size:15px;line-height:1.85;margin-bottom:27px}
.hero-actions{display:flex;align-items:center;gap:28px}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px}.text-link svg{width:16px;height:16px}.text-link:hover{color:var(--accent)}
.hero-stats{display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:28px;margin:54px 0 35px}.hero-stats>div{display:flex;flex-direction:column}.hero-stats strong{font-weight:400;line-height:1.2;font-size:48px;color:var(--accent);margin-bottom:10px}.hero-stats strong span{font-size:32px}.hero-stats>div>span{font-size:9px;color:var(--muted)}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 0;border-top:1px solid var(--line);margin-top:auto;font-size:9px;color:var(--muted)}.hero-bottom b{margin:0 13px;color:#555e54;font-weight:400}.hero-bottom a{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;color:var(--accent)}.hero-bottom a svg{width:17px;height:17px}
.content-section{padding:100px 0 90px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.content-section:last-child{border-bottom:none}.content-section.standalone{padding-top:60px;min-height:calc(100svh - 178px)}
.section-title{font-size:46px;line-height:1.2;margin-bottom:35px}.section-title span{color:var(--accent)}
.section-copy{font-size:15px;line-height:1.9}.lead{font-size:19px;line-height:1.75;color:var(--text)}
.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:34px;border-top:1px solid var(--line);padding-top:30px;margin-top:35px}.meta{font-size:10px;color:var(--muted);line-height:1.7}.about-facts h3{font-size:20px;margin:12px 0}.about-facts p{font-size:14px;margin-bottom:0}
.timeline{margin:10px 0 50px}.timeline-entry{padding:0 0 42px 30px;border-left:1px solid var(--line);position:relative}.timeline-entry:before{content:'';position:absolute;left:-5px;top:9px;width:9px;height:9px;border-radius:50%;background:#686f66}.timeline-entry:first-child:before{background:var(--accent)}.timeline-entry:last-child{padding-bottom:0}.timeline-date{font-size:11px;color:var(--accent);margin-bottom:14px}.timeline-entry h3{font-size:24px;margin-bottom:9px}.company{font-size:14px;color:var(--text);margin-bottom:15px}.company span{color:var(--muted);margin-left:12px;font-size:12px}.timeline-entry p:not(.company),.timeline-entry li{font-size:14px}.timeline-entry ul{padding-left:17px;margin-bottom:0}.timeline-entry li{margin-bottom:7px}
.subheading{font-size:24px;margin:42px 0 24px}.education{display:grid;grid-template-columns:1fr 1fr;gap:28px}.education article{border-top:1px solid var(--line);padding-top:22px}.education h3{font-size:19px;margin:12px 0}.education p{font-size:13px;margin-bottom:12px}
.expertise-list{border-top:1px solid var(--line)}.expertise-item{display:flex;gap:22px;padding:30px 0;border-bottom:1px solid var(--line);align-items:flex-start}.expertise-item:last-child{border-bottom:none}.item-number{font-size:11px;color:var(--muted);width:20px;flex-shrink:0;padding-top:5px}.expertise-item>div{flex:1;min-width:0}.expertise-item h3{font-size:23px;margin-bottom:13px}.expertise-item p{font-size:14px;margin-bottom:13px}.expertise-item>svg{width:27px;height:27px;color:var(--accent);margin-top:4px}.expertise-item .meta{font-size:9px}
.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}.skill-group{border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-width:0;background:var(--surface)}.skill-group>svg{width:24px;height:24px;color:var(--accent);margin-bottom:17px}.skill-group:nth-child(3n+2)>svg{color:var(--cyan)}.skill-group:nth-child(3n)>svg{color:var(--violet)}.skill-group h3{font-size:19px;margin-bottom:20px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{font-size:11px;line-height:1.7;border:1px solid #454c43;padding:4px 9px;border-radius:3px;color:var(--muted)}
.project-filters{display:flex;flex-wrap:wrap;gap:4px;align-items:center;border-bottom:1px solid var(--line);margin:36px 0 28px;padding-bottom:16px}.filter-button{background:transparent;color:var(--muted);font-size:12px;border:1px solid transparent;padding:8px 13px;border-radius:4px;line-height:1.5}.filter-button.active{background:var(--accent);color:#20271b}.filter-button:not(.active):hover{color:var(--text);border-color:var(--line)}.filter-button span{margin-left:6px;font-size:10px}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 22px}.project-card{min-width:0}.project-visual{display:flex;flex-direction:column;justify-content:space-between;min-height:245px;aspect-ratio:1.3;padding:22px;border-radius:var(--radius);background:#293629;color:#d4f6bd;overflow:hidden}.project-visual.geospatial{background:#22373b;color:#b6e2e9}.project-visual.platforms{background:#322d40;color:#d6c8f0}.project-visual-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase}.project-visual-top svg{width:25px;height:25px}.project-wordmark{font-size:30px;line-height:1.14;font-weight:600;margin:26px 0 24px;overflow-wrap:anywhere}.project-wordmark>span{font-size:10px;display:block;margin-top:12px;line-height:1.7;font-weight:400;opacity:.7}
.architecture{display:flex;align-items:center;gap:7px;width:100%;justify-content:space-between}.architecture span{padding:7px;border:1px solid currentColor;border-radius:4px;font-size:8px;line-height:1.5;flex:1;text-align:center;min-width:0}.architecture svg{width:12px;height:12px}.project-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.project-caption h3{font-size:20px;margin:7px 0 0}.project-caption h3 a:hover{color:var(--accent)}.project-caption .icon-button{width:34px;height:34px}.project-caption .icon-button svg{width:16px;height:16px}.project-summary{font-size:12px;margin-top:12px;margin-bottom:0}.project-image{width:100%;height:100%;object-fit:cover}.project-visual:has(.project-image){padding:0}
.contact-details{display:flex;flex-wrap:wrap;gap:16px 25px;margin:34px 0}.contact-details a{display:flex;align-items:center;gap:10px;font-size:14px;overflow-wrap:anywhere;min-width:0}.contact-details a svg{color:var(--accent);width:17px;height:17px}.contact-details a:hover{color:var(--accent)}
.contact-form{border-top:1px solid var(--line);padding-top:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-form label{display:block;font-size:12px;color:var(--text);margin-bottom:28px}.contact-form label>span:not(.consent span){color:var(--accent);margin-left:4px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;padding:12px 0;margin-top:7px;border:0;border-bottom:1px solid #5a6457;border-radius:0;background:transparent;color:var(--text);font-size:14px;line-height:1.7;outline-offset:3px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#939c90}.contact-form select option{background:var(--surface)}.contact-form textarea{resize:vertical;min-height:130px}.contact-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted)}.consent input{accent-color:var(--accent);flex-shrink:0;margin:5px 0;width:15px;height:15px}.consent a{color:var(--text);text-decoration:underline;text-underline-offset:3px}.form-notice{padding:16px 20px;display:flex;gap:12px;align-items:center;margin-bottom:30px;font-size:14px;border:1px solid var(--accent);border-radius:4px;color:var(--accent)}.form-notice.error{color:#ffb7a6;border-color:#ffb7a6}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.section-rail{position:fixed;right:26px;top:50%;transform:translateY(-50%);border:1px solid #4b5448;border-radius:40px;display:flex;flex-direction:column;padding:14px 8px;z-index:20;background:var(--bg)}.section-rail a{width:38px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--muted);position:relative}.section-rail a svg{width:18px;height:18px}.section-rail a:hover,.section-rail a[aria-current]{color:var(--accent)}.section-rail a[aria-current]:before{content:'';position:absolute;left:-9px;background:var(--accent);height:17px;width:2px}.section-rail [data-tooltip]:after{bottom:auto;left:auto;right:calc(100% + 16px);transform:none}
.site-footer{display:flex;align-items:center;gap:22px;min-height:78px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.site-footer>span{margin-right:auto}.site-footer>a:hover{color:var(--accent)}.back-top{display:flex;align-items:center}.back-top svg{width:16px;height:16px}
.breadcrumb{margin-bottom:35px;color:var(--muted);display:flex}.project-detail>.eyebrow{margin-bottom:25px}.project-detail>.section-title{font-size:56px}.project-metadata{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:35px 0}.project-metadata dt{font-size:9px;color:var(--muted);margin-bottom:8px}.project-metadata dd{margin:0;font-size:13px;line-height:1.65}.detail-diagram{padding:25px;background:#293629;color:#d4f6bd;border-radius:var(--radius);margin-bottom:38px}.detail-diagram.geospatial{background:#22373b;color:#b6e2e9}.detail-diagram.platforms{background:#322d40;color:#d6c8f0}.detail-diagram .meta{color:inherit;opacity:.8}.detail-diagram .architecture{margin-top:20px;gap:16px}.detail-diagram .architecture span{font-size:13px;padding:17px 9px}.detail-diagram .architecture svg{width:20px;height:20px}.prose h2{font-size:27px;margin-top:42px;margin-bottom:20px}.prose h3{font-size:22px;margin-top:32px}.prose a:not(.button):not(.breadcrumb){color:var(--accent)}.prose ul{font-size:14px}.stack-tags span{font-size:12px}.project-next{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:50px;border-top:1px solid var(--line);padding-top:30px}.project-next p{color:var(--text);margin:0;font-size:19px}.detail-image{margin-bottom:30px;border-radius:var(--radius)}
.journal-empty{padding:40px 0;margin-top:25px;border-top:1px solid var(--line)}.journal-empty>svg{width:36px;height:36px;color:var(--accent);margin-bottom:25px}.journal-empty h2{font-size:28px}.journal-empty p{max-width:450px}.journal-list article{border-top:1px solid var(--line);padding:30px 0}.journal-list h2{font-size:28px;margin:14px 0}.journal-list h2 a:hover{color:var(--accent)}.not-found{padding-top:100px!important}
.skip-link{position:fixed;top:-100px;left:30px;background:var(--accent);color:var(--bg);padding:12px 20px;z-index:100}.skip-link:focus{top:10px}.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.admin-bar .profile-panel{top:62px}.admin-bar .site-menu{top:88px}
@media(min-width:1600px){.section-rail{right:calc((100vw - 1600px)/2 + 26px)}}
@media(max-width:1190px){.site-shell{padding-left:24px;padding-right:85px}.profile-panel{width:270px;padding:20px}.main-column{margin-left:310px}.hero h1{font-size:54px}.hero h2{font-size:42px}.hero-stats{gap:18px}.hero-stats>div>span{font-size:8px}.section-title{font-size:39px}.section-rail{right:17px}.project-visual{padding:17px;min-height:220px}.project-wordmark{font-size:25px}.architecture{gap:3px}.architecture span{font-size:7px;padding:5px}.skill-group{padding:20px}.profile-info h2{font-size:22px}.profile-email{font-size:12px}}
@media(max-width:980px){.site-shell{padding:0 75px 0 26px}.profile-panel{position:relative;width:100%;top:auto;bottom:auto;display:grid;grid-template-columns:180px 1fr;grid-template-rows:auto auto auto;gap:0 25px;margin:25px 0 0;padding:22px}.profile-top{grid-column:2;grid-row:1;margin-bottom:12px;align-items:flex-start}.portrait-wrap{grid-column:1;grid-row:1/5;height:230px;min-height:0;max-height:none}.portrait{object-position:center 30%}.portrait-label{font-size:8px;left:8px}.profile-info{grid-column:2;grid-row:2;margin:5px 0}.profile-links{grid-column:2;grid-row:4;margin:12px 0 0}.profile-email{grid-column:2;grid-row:3;font-size:14px}.profile-cta,.profile-foot{display:none}.profile-role{font-size:12px}.wordmark{font-size:36px}.main-column{margin:0;max-width:none}.site-header{min-height:90px}.hero{min-height:auto;padding-top:38px}.hero h1{font-size:60px}.hero h2{font-size:46px}.hero-stats{margin-top:42px;margin-bottom:35px}.hero-stats>div>span{font-size:10px}.hero-bottom{margin-top:0}.content-section{padding:75px 0}.section-title{font-size:43px}.project-visual{min-height:245px}.project-wordmark{font-size:29px}.architecture span{font-size:8px}.admin-bar .profile-panel{top:auto}.content-section.standalone{padding-top:40px}.project-detail>.section-title{font-size:48px}}
@media(max-width:600px){html{scroll-padding-top:15px}body{font-size:16px}.site-shell{padding:0 22px}.profile-panel{grid-template-columns:105px 1fr;gap:0 15px;padding:16px;margin-top:18px;border-color:#454b44}.portrait-wrap{height:165px;grid-row:1/5}.portrait{aspect-ratio:auto;object-position:center 35%}.portrait-label{display:none}.profile-top{margin:0;align-items:center}.wordmark{font-size:31px}.profile-role{font-size:9px;max-width:110px}.profile-info{margin:8px 0 4px}.profile-info h2{font-size:18px}.profile-info p{font-size:9px}.profile-email{font-size:9px}.profile-links{gap:8px;margin-top:10px}.profile-links .icon-button{width:29px;height:29px}.profile-links svg{width:14px;height:14px}.site-header{min-height:75px}.header-context{font-size:8px}.header-context span{margin:0 5px}.header-actions{gap:13px}.header-cv span{display:none}.header-cv svg{width:19px;height:19px}.menu-toggle{width:34px;height:34px}.site-menu{top:64px;width:240px}.hero{padding-top:26px}.eyebrow{font-size:9px;padding:7px 12px;margin-bottom:26px}.hero-title{margin:0 0 20px}.hero-greeting{font-size:14px}.hero h1{font-size:37px;margin-bottom:14px}.hero h2{font-size:32px;line-height:1.22}.hero-description{font-size:14px;margin-bottom:25px}.hero-actions{gap:18px;align-items:center;flex-wrap:wrap}.button{font-size:12px;min-height:46px;padding:12px 17px}.button svg{width:17px;height:17px}.text-link{font-size:11px;gap:7px}.hero-stats{gap:15px;margin:38px 0 27px;grid-template-columns:.8fr 1fr 1.2fr}.hero-stats strong{font-size:38px;margin-bottom:9px}.hero-stats strong span{font-size:24px}.hero-stats>div>span{font-size:7px;line-height:1.7}.hero-bottom{font-size:8px;padding:18px 0}.hero-bottom b{margin:0 7px}.section-rail{display:none}.content-section{padding:64px 0 50px}.section-title{font-size:32px;margin-bottom:26px}.lead{font-size:17px}.section-copy{font-size:14px}.about-facts{grid-template-columns:1fr;gap:26px}.meta{font-size:9px}.timeline-entry{padding-left:23px;padding-bottom:34px}.timeline-entry h3{font-size:21px}.company span{display:block;margin:3px 0 0}.timeline-date{font-size:10px}.timeline-entry p:not(.company),.timeline-entry li{font-size:13px}.education{grid-template-columns:1fr;gap:22px}.expertise-item{gap:14px;padding:24px 0}.expertise-item h3{font-size:20px}.expertise-item p{font-size:13px}.expertise-item .meta{font-size:8px}.expertise-item>svg{width:22px;height:22px}.item-number{width:15px}.skill-grid{gap:12px}.skill-group{padding:18px 14px}.skill-group h3{font-size:16px}.tags{gap:5px}.tags span{font-size:9px;padding:4px 6px}.project-grid{grid-template-columns:1fr;gap:30px}.project-visual{min-height:250px;aspect-ratio:1.38;padding:22px}.project-wordmark{font-size:32px}.architecture span{font-size:10px;padding:8px}.architecture{gap:6px}.project-caption h3{font-size:22px}.project-summary{font-size:13px}.project-filters{gap:1px}.filter-button{font-size:10px;padding:8px 10px}.contact-details{gap:16px}.contact-details a{font-size:12px}.form-row{grid-template-columns:1fr;gap:0}.contact-form label{font-size:12px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:16px}.contact-form .consent{font-size:11px}.site-footer{gap:16px;font-size:9px}.project-detail>.section-title{font-size:38px;overflow-wrap:anywhere}.project-metadata{grid-template-columns:1fr 1fr;gap:20px}.project-metadata>div:first-child{grid-column:1/-1}.detail-diagram{padding:20px 14px}.detail-diagram .architecture{gap:6px}.detail-diagram .architecture span{font-size:10px;padding:12px 6px}.detail-diagram .architecture svg{width:14px;height:14px}.prose h2{font-size:24px}.project-next{flex-direction:column;align-items:flex-start}.project-next p{font-size:18px}.stack-tags span{font-size:11px}.content-section.standalone{padding-top:32px}.journal-empty h2{font-size:24px}}
@media(max-width:350px){.site-shell{padding:0 16px}.hero h1{font-size:32px}.hero h2{font-size:28px}.profile-panel{grid-template-columns:85px 1fr;padding:12px;gap:0 12px}.portrait-wrap{height:155px}.profile-role{font-size:8px}.profile-info h2{font-size:16px}.hero-actions{gap:14px}.hero-actions .button{padding:12px 14px}.skill-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Keep the portrait frame fitted to its contents, and leave a glimpse of About. */
@media(min-width:981px){.profile-panel{bottom:auto;max-height:calc(100svh - 60px)}.portrait-wrap{flex:none;height:325px}.hero{min-height:calc(100svh - 250px)}.hero-bottom{margin-top:15px}.hero+#about{padding-top:65px}}
@media(min-width:981px) and (max-height:800px){.profile-panel{padding:20px}.profile-top{margin-bottom:18px}.portrait-wrap{height:240px}.profile-info{margin-top:18px}.profile-links{margin:15px 0}.hero{padding-top:30px}.hero h1{font-size:52px}.hero h2{font-size:40px}.hero-stats{margin-top:32px;margin-bottom:24px}.hero-title{margin-top:0}.hero .eyebrow{margin-bottom:24px}}
[data-tooltip]:after{display:none}
[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{display:block}
.project-caption [data-tooltip]:after{left:auto;right:0;transform:none}
.project-visual{width:100%;max-width:100%}
.section-copy{font-size:16px}.hero-description{font-size:16px}.timeline-entry p:not(.company),.timeline-entry li{font-size:15px}.profile-role{font-size:13px}.profile-info p,.profile-email{font-size:14px}.expertise-item p{font-size:15px}.project-summary{font-size:14px}.tags span{font-size:12px}.hero-stats>div>span{font-size:10px}
@media(max-width:600px){.hero-description{font-size:15px}.profile-role{font-size:9px}.profile-info p{font-size:10px}.profile-email{font-size:10px}.hero-stats>div>span{font-size:8px}.timeline-entry p:not(.company),.timeline-entry li{font-size:14px}.tags span{font-size:11px}.hero-stats{grid-template-columns:.8fr 1fr 1.3fr}.skill-group{padding:18px 12px}}
