/* Portfolio refinement: navy, warm paper, and mint from the existing identity. */
:root{--paper:#f7f5ef;--muted:#53616a;--line:#cdd4cc}
body{font-size:16px;line-height:1.7}
.wrap{max-width:1240px;width:calc(100% - 96px)}
.section{padding:80px 0}
.nav{height:88px}
.brand{font-size:11px;letter-spacing:.09em}
.nav nav>a{font-size:12px}
.nav nav{gap:22px}
.eyebrow{font-size:11px;letter-spacing:.12em;margin-bottom:20px}
.hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:7%;padding:62px 0 52px;align-items:center}
.hero .eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:24px}
.live-dot,.portrait-outline,.portrait-note{display:none}
.hero h1{font-size:clamp(54px,5.15vw,74px);line-height:1.08;letter-spacing:-.045em;max-width:760px}
.hero h1 em{display:block;letter-spacing:-.04em}
.hero-intro{font-size:17px;line-height:1.75;color:#c3ced2;max-width:520px;margin:25px 0 28px}
.hero-actions{gap:25px}
.hero-context{font-size:11px;margin-top:27px;color:#b8c9ce;gap:10px}
.hero-context span+span:before{margin-right:10px}
.portrait-block{max-width:410px;margin:0;justify-self:end}
.portrait{height:auto;aspect-ratio:1/1.08;object-position:50% 0;border-radius:2px;filter:none}
.portrait-caption{font-size:9px;line-height:1.6;margin-top:16px;letter-spacing:.07em;flex-wrap:wrap;color:#c3ced2}
.portrait-caption span:last-child{font-size:11px;color:#c3ced2;letter-spacing:0}
.hero-bottom{padding:19px 0;font-size:10px;color:#b9c9cc;letter-spacing:.07em}
.hero-bottom a{font-size:12px}
.intro-inner{padding:25px 0}
.intro-inner p{font-size:15px;max-width:480px}
.intro-inner>div{font-size:10px;gap:25px;color:#465d50}
.section-heading{gap:50px;margin-bottom:32px;align-items:flex-start}
.section-heading h2,.about h2,.process h2{font-size:clamp(36px,3.45vw,48px);line-height:1.12;letter-spacing:-.035em}
.section-heading>p{font-size:15px;max-width:390px;line-height:1.8;padding-top:33px;color:var(--muted)}
.filters{gap:10px;padding-bottom:20px;margin-bottom:30px}
.filter{border-radius:3px;padding:10px 17px;font-size:12px;min-height:42px}
.filter span{font-size:10px}
.result-count{font-size:11px;color:#536657}
.project-grid{gap:42px 34px}
.project-visual{aspect-ratio:1.6;padding:22px;background:#e2e7dd}
.browser-frame,.visual-gdapcf .browser-frame,.visual-kim .browser-frame{transform:none;border-radius:2px;box-shadow:0 5px 15px #20334412;border:1px solid #b5c0b6}
.visual-link:hover .browser-frame{transform:translateY(-3px)}
.browser-frame img{aspect-ratio:1.6;object-position:top}
.browser-bar{height:24px;font-size:9px;color:#52665b}
.project-meta{margin:18px 0 11px;font-size:11px;color:#50625a;gap:10px;flex-wrap:wrap}
.status{font-size:10px;color:#465c50}
.project-heading h3{font-size:27px;line-height:1.18;letter-spacing:-.025em}
.circle-arrow{border:0;border-radius:0;width:28px;height:32px}
.project-card>p{font-size:15px;line-height:1.75;margin:12px 0 16px;max-width:55ch;color:var(--muted)}
.project-card .text-link,.text-link{font-size:13px}
.work-note{font-size:12px;margin-top:35px;padding-top:22px;max-width:100%}
.concept-panel,.facility-panel{transform:none;box-shadow:none;padding:22px;min-height:235px}
.concept-panel h3{font-size:29px;line-height:1.15}
.concept-top{font-size:8px;letter-spacing:.06em;flex-wrap:wrap}
.concept-label{font-size:9px;color:#c6d8cb}
.facility-panel .concept-label{color:#4a6475}
.workflow>span{font-size:10px;padding:10px;gap:7px}
.workflow b{font-size:12px}
.concept-bottom{font-size:8px}
.facility-rows{font-size:12px}
.facility-rows b{font-size:10px}
.academic-home{background:#eaf0e7}
.academic-index{gap:0 36px}
.academic-index>a{padding:22px 0;grid-template-columns:65px minmax(0,1fr) 20px;gap:17px}
.academic-index h3{font-size:21px;line-height:1.25}
.academic-index p{font-size:12px;color:#4e6654}
.academic-index>a>span{font-size:10px;color:#4b6550}
.academic-index-footer>p{font-size:12px;color:#4f6454}
.academic-index-footer .text-link{font-size:13px}
.expertise-list{margin-top:30px}
.expertise-list article{grid-template-columns:35px minmax(0,.85fr) minmax(0,1.35fr);gap:25px;padding:27px 0}
.expertise-list article>svg{display:none}
.expertise-list h3{font-size:26px;line-height:1.2;max-width:250px}
.expertise-list p{font-size:15px;line-height:1.8;color:#c2cdd2}
.expertise-list .skill-line{font-size:12px;color:#bbd2c4;margin-top:10px}
.about-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:10%;align-items:start}
.about-grid>div>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:60ch}
.about-grid .about-lead{font-size:21px!important;line-height:1.6;margin-top:23px!important}
.about-aside{margin-top:5px;padding-left:30px}
.aside-label{font-size:10px;letter-spacing:.07em}
.about-aside>div{padding:23px 0}
.about-aside>div>span{left:-44px;background:var(--paper)}
.about-aside h3{font-size:28px}
.about-aside p{font-size:14px;line-height:1.7;max-width:30ch}
.process{padding:65px 0;background:#e9ede5}
.process-heading>p{font-size:15px;max-width:370px;line-height:1.8}
.process-grid{gap:28px;margin-top:35px}
.process-grid span{font-size:10px;letter-spacing:.06em;color:#475f48}
.process-grid h3{font-size:24px;line-height:1.2;margin:16px 0 12px}
.process-grid p{font-size:14px;color:#536452;line-height:1.75}
.contact h2{font-size:clamp(43px,4.4vw,60px);line-height:1.12;letter-spacing:-.035em}
.contact-heading>p{font-size:16px;max-width:370px;color:#c3ced2;line-height:1.8}
.contact-grid{gap:30px;margin-top:32px}
.contact-card{padding:25px 0;border:0;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40}
.contact-card:hover{background:transparent}
.contact-card h3{font-size:26px;margin:13px 0 12px}
.contact-card>span{font-size:10px;color:#c5dfd0}
.contact-card p{font-size:15px;color:#c2cdd2;max-width:45ch;line-height:1.8}
.contact-card b{font-size:13px;margin-top:20px}
.contact-builder{margin-top:30px;padding-top:30px;border-top:0}
.contact-builder h3{font-family:var(--serif);font-size:32px}
.builder-intro{font-size:15px;line-height:1.8;color:#c3ced2}
.contact-builder label{display:block;font-size:14px}
.contact-builder :is(input,textarea,select){display:block;margin-top:9px}
.contact-builder label span,.draft-note{color:#c3ced2}
.contact-builder .eyebrow{display:none}
.inquiry-fields{gap:20px 26px}
.contact-builder label:has(input){position:relative}
.contact-builder label>span{display:inline;font-size:12px}
.contact-bottom{font-size:14px;margin-top:32px}
.copy-email{font-size:11px;padding:7px 11px}
.footer-inner{padding:30px 0;font-size:12px}
.footer-brand span{font-size:11px;line-height:1.5;color:#afbec4}
.footer-inner>p{font-size:11px;color:#afbec4}
.case-hero{padding:35px 0 60px}
.back-link{font-size:13px;margin-bottom:34px;color:#c1d1cb}
.case-heading{grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:8%}
.case-heading h1,.case-heading h1.academic-title{font-size:clamp(40px,4.15vw,59px);line-height:1.08;letter-spacing:-.035em}
.case-heading>div>p:not(.eyebrow){font-size:17px;line-height:1.75;max-width:60ch}
.case-heading>div>p.case-tagline{font-size:27px;line-height:1.4;margin-top:18px}
.case-facts{padding-top:12px}
.case-facts span{font-size:10px}
.case-facts b{font-size:14px;line-height:1.65}
.case-image{margin-top:35px}
.case-image .project-visual{padding:32px;aspect-ratio:auto;min-height:0}
.case-image .browser-frame{max-width:1050px}
.case-image .browser-frame img{aspect-ratio:auto;height:auto}
.case-image .browser-bar{font-size:11px;height:31px}
.evidence-caption{font-size:13px;line-height:1.7;margin-top:16px;max-width:85ch;color:var(--muted)}
.case-layout{grid-template-columns:minmax(0,.6fr) minmax(0,1.6fr);gap:10%}
.case-layout aside a{font-size:13px;margin-bottom:15px}
.case-content{max-width:760px}
.case-content h2{font-size:36px;line-height:1.2;letter-spacing:-.03em}
.case-content p,.case-content li{font-size:16px;line-height:1.85}
.case-content>section{margin-bottom:42px}
.case-content .deliverable-line{font-size:14px}
.decision-list{gap:20px}
.decision-list h3{font-size:25px;line-height:1.25}
.scope-note p{font-size:14px}
.scope-note small{font-size:12px;line-height:1.7}
.tag-list>span{font-size:12px;line-height:1.6}
.next-project{padding:32px 0}
.next-project a{font-size:35px;line-height:1.2}
.mini-contact{padding:45px 0}
.mini-contact h2{font-size:33px}
.experience-title{font-size:clamp(40px,4.25vw,61px);line-height:1.12;letter-spacing:-.035em;max-width:1000px}
.experience-intro{font-size:17px;max-width:65ch;color:#c3ced2}
.experience-layout{grid-template-columns:minmax(0,.6fr) minmax(0,1.65fr);gap:9%}
.experience-content h2{font-size:32px;line-height:1.2;letter-spacing:-.025em}
.experience-content p,.experience-content li{font-size:16px;line-height:1.8}
.experience-content .small-note{font-size:14px}
.experience-content>section{margin-bottom:45px}
.education-list b{font-size:16px}
.education-list span{font-size:13px}
.evidence-map table{font-size:14px;line-height:1.7}
.evidence-map a{font-size:13px}
.academic-card>p{font-size:15px;line-height:1.8}
.academic-card .text-link{font-size:13px}
.academic-context{font-size:14px;line-height:1.8;color:#bfd2c8}
.technical-diagram>span{font-size:10px;color:#405c46}
.technical-diagram b{font-size:19px}
.technical-diagram p{font-size:13px;line-height:1.7}
.technical-diagram small,.hardware-evidence figcaption{font-size:12px;line-height:1.7}
@media(min-width:761px) and (max-width:1100px){
 .nav nav{gap:14px}.nav nav>a{font-size:11px}.brand{font-size:10px}.nav-contact{margin-left:0;gap:9px}
 .hero-grid{gap:6%;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);padding:45px 0}
 .hero h1{font-size:clamp(47px,5.4vw,60px)}.hero-intro{font-size:16px}.hero-context{font-size:10px}
 .project-visual{padding:15px}.concept-panel{min-height:220px;padding:18px}.concept-panel h3{font-size:25px}
 .concept-top{font-size:7px}.workflow>span{padding:8px;font-size:9px}.workflow b{font-size:10px}
 .intro-inner{align-items:flex-start}.intro-inner>div{gap:15px;max-width:300px}.case-facts b{font-size:13px}
}
@media(max-width:760px){
 .wrap{width:calc(100% - 40px)}.section{padding:52px 0}.nav{height:76px}
 .nav nav{top:76px}.nav nav>a,.nav nav>a:not(.nav-contact){font-size:15px!important;min-height:44px}
 .menu-button{min-height:42px;gap:12px;font-size:12px}.brand{font-size:10px;gap:12px}.brand small{font-size:7px}
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:30px;padding:35px 0 30px}
 .hero .eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:19px}
 .hero h1{font-size:clamp(41px,8.4vw,61px);line-height:1.09;letter-spacing:-.045em}
 .hero-intro{font-size:16px;line-height:1.75;margin:21px 0 23px;max-width:44ch}
 .hero-actions{gap:14px}.hero-actions .button{font-size:13px;padding:14px 16px;gap:12px}
 .hero-actions .subtle-link{font-size:13px;gap:8px}.hero-context{font-size:11px;gap:7px;margin-top:22px;line-height:1.8}
 .hero-context span+span:before{margin-right:7px}.portrait-block{width:100%;max-width:430px;justify-self:start;margin:0}
 .portrait{height:auto;aspect-ratio:1.15;object-position:50% 0;border-radius:2px}
 .portrait-caption{font-size:9px;margin-top:11px;gap:5px 16px}.portrait-caption span:last-child{font-size:11px}
 .hero-bottom{font-size:9px;padding:15px 0;gap:20px}.hero-bottom a{font-size:11px;gap:12px}
 .intro-inner{padding:22px 0;gap:17px;flex-direction:column}.intro-inner p{font-size:14px;max-width:42ch}
 .intro-inner>div{gap:14px 23px;font-size:10px}
 .section-heading{display:block;margin-bottom:25px}.section-heading h2,.about h2,.process h2{font-size:36px;line-height:1.13}
 .section-heading>p{font-size:15px;padding-top:0;margin-top:19px;max-width:50ch}.eyebrow{font-size:10px;margin-bottom:17px}
 .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:25px;padding-bottom:17px}.filter{font-size:11px;padding:9px 13px;min-height:42px}.filter span{font-size:10px;margin-left:7px}
 .result-count{font-size:11px;padding-top:5px;grid-column:1/-1}.project-grid{grid-template-columns:1fr;gap:33px}
 .project-visual{padding:15px;aspect-ratio:1.55}.browser-bar{font-size:8px;height:22px}
 .project-meta{font-size:11px;margin-top:15px;align-items:flex-start}.status{font-size:10px}
 .project-heading h3{font-size:26px;line-height:1.2}.project-card>p{font-size:15px;line-height:1.75;margin:10px 0 12px}
 .project-card .text-link{font-size:13px}.work-note{font-size:12px;line-height:1.8;margin-top:28px}
 .concept-panel{min-height:220px;padding:18px}.concept-panel h3{font-size:27px}.concept-label{display:block;font-size:8px}
 .concept-top{font-size:7px;gap:7px}.workflow>span{padding:9px 6px;font-size:9px;gap:6px}.workflow b{font-size:11px}
 .concept-bottom{font-size:8px}.facility-rows{font-size:11px}.facility-rows b{font-size:10px}
 .academic-index{grid-template-columns:1fr}.academic-index>a{padding:20px 0;grid-template-columns:59px minmax(0,1fr) 19px;gap:12px}
 .academic-index h3{font-size:21px}.academic-index p{font-size:12px}.academic-index>a>span{font-size:10px}
 .academic-index-footer{gap:17px;align-items:flex-start;flex-direction:column}.academic-index-footer>p{font-size:12px}
 .expertise-list{margin-top:26px}.expertise-list article{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:24px 0}
 .expertise-list h3{grid-column:2;font-size:26px;max-width:100%}.expertise-list article>div{grid-column:2;margin-top:0;max-width:100%}
 .expertise-list p{font-size:15px}.expertise-list .skill-line{font-size:12px}.row-number{font-size:12px}
 .about-grid{grid-template-columns:1fr;gap:30px}.about-grid>div>p:not(.eyebrow){font-size:16px}
 .about-grid .about-lead{font-size:21px!important}.about .text-link{font-size:13px;margin-top:22px}
 .about-aside{margin:0 0 0 12px;padding-left:24px}.about-aside>div>span{left:-38px}.about-aside p{font-size:14px;max-width:100%}
 .process-heading{display:block}.process-heading>p{font-size:15px;max-width:100%;margin-top:19px}
 .process-grid{grid-template-columns:1fr;gap:20px;margin-top:27px}.process-grid article{display:grid;grid-template-columns:1fr;gap:8px;padding-top:17px}
 .process-grid span{font-size:10px}.process-grid h3{font-size:25px;margin:0}.process-grid p{font-size:15px;max-width:52ch}
 .contact-heading{display:block}.contact h2{font-size:41px;line-height:1.13}.contact-heading>p{font-size:16px;max-width:100%;margin-top:22px}
 .contact-grid{grid-template-columns:1fr;gap:0;margin-top:27px}.contact-card{padding:23px 0}.contact-card+.contact-card{border-top:0}
 .contact-card h3{font-size:25px}.contact-card p{font-size:15px}.contact-card>span{font-size:10px}.contact-card b{font-size:13px;margin-top:16px}
 .contact-builder{margin-top:24px;padding-top:0}.contact-builder h3{font-size:29px}.builder-intro{font-size:15px}
 .inquiry-fields{grid-template-columns:minmax(0,1fr);gap:18px}.contact-builder label{font-size:14px}.draft-note{font-size:13px;line-height:1.75}
 .contact-bottom{display:block;font-size:14px}.contact-bottom>div{gap:12px}.contact-bottom>a{margin-top:20px}.copy-email{font-size:11px}
 .footer-inner{display:block;padding:28px 0}.footer-inner>div{font-size:12px;gap:17px;margin:21px 0}.footer-inner>p{font-size:11px}
 .case-hero{padding:26px 0 38px}.back-link{font-size:12px;margin-bottom:27px}.case-heading{grid-template-columns:minmax(0,1fr);gap:27px}
 .case-heading h1,.case-heading h1.academic-title{font-size:39px;line-height:1.12;overflow-wrap:break-word}
 .case-heading>div>p:not(.eyebrow){font-size:16px;line-height:1.75;margin-top:19px}.case-heading>div>p.case-tagline{font-size:24px;line-height:1.4;margin-top:16px}
 .case-heading .eyebrow{font-size:10px}.case-facts{display:grid;grid-template-columns:1fr;gap:16px;padding-top:0}
 .case-facts>div{padding:12px 0 0}.case-facts b{font-size:14px}.case-facts span{font-size:10px}
 .case-image{margin-top:24px}.case-image .project-visual{padding:13px;aspect-ratio:auto}.case-image .browser-bar{font-size:8px;height:24px}
 .case-image .concept-panel{padding:18px}.case-image .concept-panel h3{font-size:28px}.case-image .concept-top{font-size:7px}
 .case-image .workflow>span{font-size:9px;padding:9px 6px}.case-image .workflow b{font-size:11px}.case-image .concept-bottom{font-size:8px}
 .evidence-caption{font-size:12px;line-height:1.75;margin-top:12px}.case-layout{grid-template-columns:minmax(0,1fr)}
 .case-layout aside{position:static;margin-bottom:30px;padding-bottom:20px;gap:13px 18px;display:flex;flex-wrap:wrap}
 .case-layout aside a{font-size:12px;margin:0;min-height:28px}.case-layout aside .eyebrow{width:100%}
 .case-content h2{font-size:31px;line-height:1.2}.case-content p,.case-content li{font-size:16px;line-height:1.8}
 .case-content>section{margin-bottom:34px}.decision-list h3{font-size:24px}.case-content .deliverable-line{font-size:14px}
 .scope-note{padding:20px}.scope-note p{font-size:14px}.scope-note small{font-size:12px}.tag-list>span{font-size:12px}
 .next-project a{font-size:29px;gap:18px}.mini-contact>.wrap{display:block}.mini-contact h2{font-size:30px;line-height:1.2;margin-bottom:23px}
 .experience-title{font-size:39px;line-height:1.14}.experience-intro{font-size:16px;line-height:1.8}
 .experience-layout{grid-template-columns:minmax(0,1fr);gap:32px}.experience-layout aside{padding-bottom:25px}
 .experience-content h2{font-size:29px;line-height:1.23}.experience-content p,.experience-content li{font-size:16px;line-height:1.8}
 .experience-content .small-note{font-size:14px}.education-list>div{display:flex;flex-direction:column;gap:7px}
 .evidence-map table{font-size:13px;min-width:540px}.evidence-map a{font-size:12px}
 .academic-context{font-size:14px;line-height:1.8}.academic-card>p{font-size:15px}.academic-card .text-link{font-size:13px}
 .technical-diagram>div{grid-template-columns:90px minmax(0,1fr);gap:12px}.technical-diagram p{font-size:13px}.technical-diagram b{font-size:17px}
 .technical-diagram>span{font-size:10px}.technical-diagram small,.hardware-evidence figcaption{font-size:12px}
}
@media(max-width:360px){
 .brand{font-size:9px;gap:9px;letter-spacing:.07em}.brand small{display:none}.menu-button{font-size:11px;padding:7px 9px}
 .hero h1{font-size:39px}.hero .eyebrow{font-size:9px;letter-spacing:.03em}.hero-context{font-size:10px}
 .hero-actions{gap:14px}.hero-actions .subtle-link{font-size:12px}.hero-actions .button{gap:12px;padding:13px 15px}
 .hero-bottom{align-items:flex-start;flex-direction:column;gap:8px}.project-heading h3{font-size:24px}
 .project-visual{padding:11px}.concept-label{width:100%;margin-left:0}.workflow>span{flex-direction:column;gap:3px}
 .case-heading h1,.case-heading h1.academic-title,.experience-title{font-size:35px}.contact h2{font-size:36px}
}
@media print{.section,.case-hero{padding:20px 0}.case-content p,.case-content li,.experience-content p,.experience-content li{font-size:10pt}.case-heading h1,.experience-title{font-size:30pt}.hero-context,.hero-bottom{display:none}.portrait{max-height:260px;object-fit:contain}.contact{display:none}}
