.project-visual{display:block}
.profile-area .portrait-wrap{aspect-ratio:4/5}
.profile-area .portrait-wrap>img{object-position:50% 30%;filter:none;opacity:1}
.local-expertise-intro{max-width:850px;margin:0 0 28px;font-size:13px;line-height:1.95}
.hosting-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:45px;margin-top:32px;padding:34px;border:1px solid var(--line);background:linear-gradient(115deg,var(--surface2),var(--surface));border-radius:4px;align-items:center}
.hosting-feature .mono{font-size:8px;color:var(--accent);letter-spacing:1px}
.hosting-feature h3{font-size:29px;line-height:1.25;font-weight:500;letter-spacing:-.7px;margin:14px 0 0}
.hosting-feature h3 em{font:400 1.15em/1.2 var(--serif);color:var(--accent)}
.hosting-feature p{font-size:12px;line-height:1.95}
.hosting-feature .tag-row{margin:18px 0}
.hosting-feature .button{margin-top:6px}
@media(max-width:700px){.hosting-feature{grid-template-columns:1fr;gap:24px;padding:25px}.hosting-feature h3{font-size:28px}.local-expertise-intro{font-size:12px}}
.project-card{display:flex;flex-direction:column}
.project-content{display:flex;flex-direction:column;flex:1}
.project-content>p{margin-top:10px}
.project-content>.tag-row{margin-bottom:18px}
.project-domain{font:8px/1.8 var(--mono);color:var(--accent);overflow-wrap:anywhere}
.project-domain span{margin-left:5px}
.project-bottom{margin-top:auto;gap:14px}
.project-open,.project-visit{min-height:34px}
.project-visit{font:10px var(--sans);display:inline-flex;align-items:center;gap:9px;color:var(--muted)}
.project-visit:hover,.project-domain:hover{text-decoration:underline;color:var(--accent)}
.professional-case-section{margin-top:65px;padding-top:30px;border-top:1px solid var(--line)}
.professional-case-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}
.professional-case-heading .mono{font-size:8px;color:var(--accent)}
.professional-case-heading h3{font-size:25px;font-weight:500;line-height:1.3;margin:9px 0 0}
.professional-case-heading>p{max-width:310px;font-size:11px;line-height:1.8}
.professional-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.professional-case{padding:24px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.professional-case>.mono{font-size:7px;color:var(--accent);letter-spacing:.6px}
.professional-case h4{margin:14px 0 10px;font-size:19px;font-weight:500;letter-spacing:-.5px;line-height:1.5}
.professional-case>p{font-size:11px;line-height:1.9;margin-bottom:18px}
.case-highlight{font:28px var(--serif);margin-top:auto;display:flex;flex-direction:column;gap:4px}
.case-highlight span{font:8px var(--mono);color:var(--muted)}
.case-period{margin-top:auto;font-size:9px;color:var(--muted)}
.professional-case>.project-open{align-self:start;margin-top:20px}
.detail-dialog{width:min(1000px,94vw)}
.detail-intro{display:flex;align-items:center;justify-content:space-between;gap:25px}
.detail-intro>div{min-width:0}
.detail-intro .button{flex-shrink:0;margin:0}
.detail-role{font-size:8px!important;color:var(--accent);letter-spacing:.7px;margin-bottom:10px}
.detail-intro h2{margin:0 0 7px;line-height:1.2}
.detail-domain{font:10px/1.8 var(--mono);color:var(--muted);overflow-wrap:anywhere}
a.detail-domain:hover{color:var(--accent);text-decoration:underline}
.detail-body>.detail-description{font-size:13px;line-height:1.95;margin:24px 0 18px;max-width:850px}
.detail-body>.tag-row{margin:15px 0 25px}
.detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));border:1px solid var(--line);margin:25px 0;gap:1px;background:var(--line)}
.detail-metrics>div{padding:18px 21px;background:var(--surface);display:flex;flex-direction:column;gap:5px;min-width:0}
.detail-metrics strong{font:30px var(--serif);line-height:1.25;color:var(--accent);overflow-wrap:anywhere}
.detail-metrics span{font-size:9px;color:var(--muted)}
.detail-screenshot{position:relative;display:block;border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:25px 0 0;background:var(--surface)}
.detail-screenshot .detail-cover{max-height:350px;width:100%;object-fit:contain;object-position:top;margin:0;border:0}
.detail-screenshot>span{position:absolute;right:12px;bottom:12px;padding:5px 10px;font:8px var(--mono);background:#0d1626e8;color:#fff;border-radius:2px}
.detail-screenshot:hover>span{background:#245c98}
.detail-body>.screenshot-note{font-size:9px;margin:9px 0 0}
.detail-section{margin-top:35px;border-top:1px solid var(--line);padding-top:25px}
.detail-section>h3{font-size:21px;font-weight:500;margin:0 0 18px;letter-spacing:-.6px;line-height:1.4}
.detail-workflow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;counter-reset:supply-step}
.detail-workflow li{counter-increment:supply-step;background:var(--surface);padding:12px;font-size:11px;display:flex;gap:10px;align-items:center;border:1px solid var(--line);line-height:1.6}
.detail-workflow li:before{content:counter(supply-step,decimal-leading-zero);font:9px var(--mono);color:var(--accent)}
.detail-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.detail-feature-grid>article{background:var(--surface);border:1px solid var(--line);padding:23px;min-width:0}
.detail-feature-grid h4{font-size:15px;font-weight:600;letter-spacing:-.2px;margin:0 0 10px;line-height:1.5}
.detail-feature-grid p{font-size:12px;line-height:1.85}
.detail-feature-grid ul{font-size:11px;line-height:1.9;margin:13px 0 0;padding-left:15px}
.detail-feature-grid li+li{margin-top:6px}
.detail-catalog>.fine-print{margin:0 0 24px}
.course-group{margin-top:25px}
.course-group>h4{font-size:15px;font-weight:500;margin:0 0 14px;display:flex;align-items:center;gap:12px}
.course-group>h4>span{font:9px var(--mono);color:var(--accent);border:1px solid var(--line);padding:3px 7px;border-radius:20px}
.course-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.detail-course{display:flex;flex-direction:column;gap:7px;padding:17px 19px;background:var(--surface);border:1px solid var(--line);border-radius:3px;transition:border-color .2s,background .2s;min-width:0}
.detail-course strong{font-size:12px;font-weight:600;line-height:1.6;display:flex;gap:12px;justify-content:space-between}
.detail-course strong span{color:var(--accent);flex-shrink:0}
.detail-course>span{font-size:10px;color:var(--muted);line-height:1.9}
.detail-course:hover{border-color:var(--accent);background:var(--surface2)}
.detail-body>.detail-status{padding:17px;border:1px solid var(--line);margin:25px 0 0;font-size:10px}
.detail-environment{margin-top:25px!important}
.detail-environment a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.professional-case-grid{grid-template-columns:1fr}.professional-case h4{font-size:22px}.professional-case>p{font-size:12px}.professional-case-heading{align-items:start;flex-direction:column;gap:12px}.professional-case-heading>p{max-width:none}.professional-case{padding:25px}.case-highlight{margin-top:5px}.professional-case>.project-open{margin-top:15px}}
@media(max-width:700px){.menu-toggle{display:grid}#navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);padding:24px;flex-direction:column;gap:19px;font-size:13px}#navigation.open{display:flex}#navigation a.active:after{display:none}.detail-intro{align-items:start;flex-direction:column;gap:15px}.detail-intro .button{margin:0}.detail-feature-grid,.course-links{grid-template-columns:1fr}.detail-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-metrics>div{padding:16px}.detail-metrics strong{font-size:27px}.detail-screenshot .detail-cover{max-height:250px}.detail-feature-grid>article{padding:20px}.detail-section>h3{font-size:20px}.detail-role{line-height:1.9}.detail-intro h2{font-size:31px}.professional-case-section{margin-top:45px}.detail-domain{font-size:9px}}
