body{font-size:14px;line-height:1.58}
.site-nav{min-height:74px;padding-top:10px;padding-bottom:10px}
.navbar-brand{display:flex;align-items:center;max-width:230px;overflow:hidden}
.site-logo{max-width:210px!important;max-height:62px!important;width:auto!important;height:auto!important;object-fit:contain!important}
.hero{min-height:calc(100vh - 74px);display:flex;align-items:center;padding:78px 0 60px}
.hero .row{align-items:center!important}
.hero .col-lg-6{display:flex!important;flex-direction:column!important;justify-content:center!important}
.hero .col-lg-6:last-child{align-items:center!important;overflow:hidden!important}
.hero-portrait{width:min(42vw,620px)!important;height:min(72vh,660px)!important;min-width:420px!important;min-height:470px!important;max-width:620px!important;max-height:660px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0 auto!important}
.hero-portrait:after{display:none!important}
.hero-portrait img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center bottom!important;border:0!important;background:transparent!important;border-radius:0!important}
.portrait-placeholder{width:260px!important;height:260px!important;max-width:100%!important;border-radius:8px!important;background:#111c2d!important;border:1px solid rgba(255,255,255,.12)!important;display:grid!important;place-items:center!important;text-align:center!important}
.portrait-placeholder strong{display:block;color:#20d6a2;font-size:4rem;line-height:1}
.portrait-placeholder span{display:block;color:#dbe8f6;font-weight:800;margin-top:8px}
.hero h1{font-size:clamp(2.2rem,4.2vw,4.2rem);line-height:1.02}
.hero-title{font-size:clamp(.95rem,1.4vw,1.12rem)}
.lead{font-size:1rem;line-height:1.6}
.section{padding:92px 0}
.section-title{font-size:clamp(1.75rem,2.8vw,2.65rem);line-height:1.12}
.section-about .section-title{font-size:clamp(1.65rem,2.55vw,2.35rem)!important;max-width:760px}
.section-label{font-size:.68rem}
.soft-card,.work-site-card{padding:24px}
.soft-card h3,.work-site-card h3,.h5{font-size:1rem}
.soft-card p,.work-site-card p,.text-muted{font-size:.86rem}
.icon-box{width:40px;height:40px;font-size:1rem}
.btn{font-size:.88rem;padding:.58rem .82rem}
.btn-lg{font-size:.95rem;padding:.72rem .95rem}
.skill-pill{font-size:.78rem;padding:9px 11px}
.about-highlights span{font-size:.76rem;padding:6px 10px}
.about-visual{min-height:430px!important;padding:0!important;overflow:hidden!important}
.about-visual:after{right:28px!important;top:28px!important}
.about-visual img{width:100%!important;height:100%!important;max-width:none!important;min-height:430px!important;object-fit:cover!important;border:0!important;border-radius:8px!important}
.about-visual img[src$="placeholder.svg"]{opacity:0!important}
.about-visual:has(img[src$="placeholder.svg"]){background:radial-gradient(circle at 72% 24%,rgba(32,214,162,.22),transparent 24%),linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025))!important}
.about-visual:has(img[src$="placeholder.svg"])::before{content:"NH";position:absolute;inset:70px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(8,17,30,.55);color:rgba(32,214,162,.48);font-size:7rem;font-weight:900;letter-spacing:0;z-index:1}
.about-floating{z-index:2!important;left:26px!important;bottom:26px!important}
.about-stats{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:18px!important;margin-top:26px!important;width:100%!important}
.about-stats .stat{min-height:92px!important;padding:16px!important;width:25%!important;flex:1 1 0!important;min-width:0!important}
.about-stats .stat strong{font-size:clamp(1.05rem,1.25vw,1.42rem)!important;line-height:1.08!important}
.about-stats .stat .stat-long{font-size:clamp(.62rem,.74vw,.82rem)!important;line-height:1.12!important}
.about-stats .stat div{font-size:.78rem}
.workflow-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:18px;margin-top:34px}
.workflow-step{position:relative;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border-radius:8px;padding:18px 14px;min-height:132px}
.workflow-step:not(:last-child):after{content:"";position:absolute;right:-10px;top:50%;width:18px;height:1px;background:rgba(32,214,162,.7)}
.workflow-num{width:30px;height:30px;border-radius:8px;background:rgba(32,214,162,.12);color:#20d6a2;display:grid;place-items:center;font-weight:900;font-size:.8rem;margin-bottom:14px}
.workflow-step h3{font-size:.98rem;margin-bottom:8px;font-weight:850}
.workflow-step p{font-size:.78rem;color:#a8b6c8;margin:0;line-height:1.45}
.project-detail-sidebar .soft-card{height:auto!important;position:sticky;top:96px}
.project-meta-list{display:grid;gap:12px;margin-bottom:18px}
.project-meta-list p{margin:0;color:#dbe8f6}
.project-side-section{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:18px}
.project-side-section h3{font-size:.95rem;font-weight:850;margin-bottom:10px}
.project-side-section p,.project-side-section li{font-size:.84rem;color:#a8b6c8;line-height:1.55}
.project-side-section ul{margin:0;padding-left:18px}
.project-responsibility-list{display:grid;gap:6px;margin:0 0 26px;padding-left:20px;color:#dbe8f6}
.project-responsibility-list li{line-height:1.55}
.project-card{display:flex;flex-direction:column}
.project-card .btn{margin-top:auto;align-self:flex-start}
.pagination-wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:46px}
.pagination-wrap a,.pagination-wrap span{min-width:42px;height:42px;border-radius:8px;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;padding:0 13px;color:#dbe8f6;background:rgba(255,255,255,.035);font-weight:800}
.pagination-wrap span,.pagination-wrap a:hover{background:#20d6a2;color:#041015;border-color:#20d6a2}
@media(max-width:1199px){.workflow-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.workflow-step:after{display:none}}
@media(max-width:1199px){.hero-portrait{width:min(40vw,520px)!important;height:min(64vh,560px)!important;min-width:360px!important;min-height:420px!important}}
@media(max-width:991px){.hero .col-lg-6:last-child{align-items:center!important}.hero-portrait{width:min(76vw,420px)!important;height:430px!important;min-width:0!important;min-height:0!important;margin:28px auto 0!important}.about-visual{min-height:360px!important}.about-visual img{min-height:360px!important}.about-visual:has(img[src$="placeholder.svg"])::before{inset:48px;font-size:5rem}.about-floating{position:absolute!important;left:22px!important;bottom:22px!important;width:190px!important;margin-top:0!important}.project-detail-sidebar .soft-card{position:static}}
@media(max-width:767px){.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.about-stats{flex-wrap:wrap!important;gap:14px!important}.about-stats .stat{width:calc(50% - 7px)!important;flex:0 0 calc(50% - 7px)!important}.site-nav{min-height:66px}.site-logo{max-width:170px!important;max-height:52px!important}.hero{min-height:calc(100vh - 66px);padding:64px 0 48px}.hero-portrait{width:min(84vw,330px)!important;height:350px!important}.section{padding:68px 0}}
@media(max-width:575px){.about-stats .stat{width:100%!important;flex:0 0 100%!important}}
@media(max-width:480px){.workflow-grid{grid-template-columns:1fr}}
