/* Second visual review: software, project board, digital CV, profile and contact. */
.software-deck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.software-card{border:1px solid #34443f;border-radius:5px 18px 5px 5px;background:#151d20;overflow:hidden;transition:border-color .2s,background .2s}
.software-card:hover,.software-card[open]{border-color:#69866d;background:#192424}
.software-card summary{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:8px 14px;padding:17px 18px;cursor:pointer;list-style:none;align-items:center}
.software-card summary::-webkit-details-marker{display:none}
.software-logo{object-fit:contain;grid-row:1/3;width:38px;height:38px;transition:transform .35s}
.software-card:hover .software-logo{transform:translateY(-3px) rotate(-5deg)}
.software-label strong{font-size:16px;font-weight:600;display:block;line-height:1.25}
.software-label small{display:block;margin-top:4px;font-size:10px;color:#a9b7b7;line-height:1.4}
.software-level{font-size:11px;color:#9cf18f;letter-spacing:.025em}
.skill-meter{grid-column:2/4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;height:6px;overflow:hidden;margin-top:6px;border-radius:2px}
.meter-block{display:block;background:#34413d;border-radius:2px;transform-origin:left}
.meter-block[data-active=true]{background:#4ce13e;transition:transform .75s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--step)*.12s)}
.motion-ready:not(.in-view) .meter-block[data-active=true]{transform:scaleX(0)}
.software-expand{grid-column:2/4;font-size:9px;color:#9caeaa;display:flex;gap:7px;align-items:center;margin-top:3px;justify-content:flex-end}
.software-expand .ui-icon{width:12px;height:12px}
.software-card[open] .software-expand .ui-icon{transform:rotate(90deg)}
.software-card>p{font-size:12px;line-height:1.6;color:#bfceca;padding:0 18px 18px 77px}
.software-scale{font-size:9px;color:#8ca09b;text-align:right;margin-top:10px}
.portfolio main[data-route=work] .page-head{padding-bottom:32px}
.portfolio .project-grid{align-items:start;gap:34px 28px}
.portfolio .board-project{background:#172124;border:1px solid #40504c;padding:15px 15px 18px;border-radius:5px 0 18px 5px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);transition:transform .25s,border-color .25s;overflow:hidden}
.portfolio .board-project:hover{transform:translateY(-5px);border-color:#7aac70}
.board-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;font-size:10px;letter-spacing:.1em;color:#99b0a7}
.portfolio .board-project .photo{border:0;border-radius:3px 10px 3px 3px;aspect-ratio:16/10}
.portfolio .board-project:nth-child(even) .photo{aspect-ratio:16/11}
.portfolio .board-project .caption{padding-top:18px;align-items:center}
.board-category{display:block;font-size:9px;letter-spacing:.075em;text-transform:uppercase;color:#8ecb80;margin-bottom:9px}
.portfolio .board-project h3{font-size:26px;line-height:1.15;margin-bottom:7px}
.portfolio .board-project p{font-size:13px}
.board-origin{display:block;margin-top:18px;padding-top:11px;border-top:1px solid #344540;color:#8fa6a1;font-size:10px}
.portfolio .featured-card{border-radius:4px 0 12px 4px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.cv-studio{padding:55px 0 70px}
.cv-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding-bottom:52px;border-bottom:1px solid #34413e}
.cv-intro .eyebrow{font-size:11px;color:var(--green)}
.cv-intro h1{font-size:clamp(42px,5.3vw,72px);line-height:1.05;margin:20px 0;font-weight:600;letter-spacing:-.045em}
.cv-intro-copy{max-width:470px;color:#b8c6c2;font-size:17px;line-height:1.6}
.cv-visual{border-radius:5px 35px 5px 5px;overflow:hidden;border:1px solid #3c4d45;background:#17221e}
.cv-visual>img{aspect-ratio:1.5;object-fit:cover;width:100%}
.cv-visual figcaption{padding:17px 20px;display:flex;flex-direction:column;gap:6px}
.cv-visual figcaption>span{font-size:9px;letter-spacing:.12em;color:#9dba9a}
.cv-visual figcaption strong{font-size:16px;font-weight:500}
.cv-workspace{display:grid;grid-template-columns:255px minmax(0,1fr);gap:55px;padding-top:45px;align-items:start}
.cv-id-card{position:sticky;top:104px;background:#15201d;border:1px solid #405045;border-top:3px solid var(--green);border-radius:5px 5px 22px 5px;padding:23px 22px}
.cv-signature{width:175px;height:100px;margin:0 auto 24px;filter:brightness(1.3)}
.cv-id-card h2{font-size:24px;font-weight:550;line-height:1.15;letter-spacing:-.035em}
.cv-id-card>p{color:#aebfb5;font-size:13px;margin-top:10px}
.cv-id-card .id-location{display:flex;gap:9px;font-size:11px;line-height:1.5;margin-top:17px}
.id-location .ui-icon{width:16px;height:16px}
.id-seal{display:flex;flex-direction:column;gap:6px;border-top:1px solid #35493d;border-bottom:1px solid #35493d;margin:24px 0;padding:17px 0}
.id-seal>span{color:var(--green);font-size:10px;letter-spacing:.12em}
.id-seal strong{font-size:14px;font-weight:500}.id-seal small{color:#97ac9f;font-size:11px}
.id-email{font-size:12px;overflow-wrap:anywhere}.cv-id-card>.subtle-link{margin-top:9px}
.cv-section-nav{display:flex;flex-direction:column;gap:2px;margin-top:20px;padding-top:16px;border-top:1px solid #35493d}
.cv-section-nav button{background:transparent;border:0;color:#bdcfc2;text-align:left;font-size:12px;min-height:39px;padding:6px 0}
.cv-section-nav button:hover{color:var(--green)}
.cv-summary{padding:3px 0 30px;border-bottom:1px solid #34413e}
.cv-summary>p:last-child{margin-top:15px;color:#c3cec9;font-size:15px;line-height:1.8}
.cv-chapter{padding-top:34px;scroll-margin-top:105px}
.chapter-title{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.chapter-title>span{font-size:12px;letter-spacing:.06em;color:var(--green);padding-right:12px;border-right:1px solid #50694d}
.chapter-title h2{font-size:28px;font-weight:550;line-height:1.15}
.cv-role{border-top:1px solid #35413e}
.cv-role:last-child{border-bottom:1px solid #35413e}
.cv-role summary{display:grid;grid-template-columns:105px 1fr 18px;gap:15px;align-items:center;list-style:none;cursor:pointer;padding:20px 0}
.cv-role summary::-webkit-details-marker{display:none}
.cv-period{font-size:11px;color:#8fc385;line-height:1.4}
.cv-role strong{display:block;font-size:20px;font-weight:550;letter-spacing:-.035em}
.cv-role small{display:block;font-size:12px;color:#96aaa2;margin-top:7px;line-height:1.4}
.cv-role summary>.ui-icon{width:15px;height:15px;transition:transform .2s}
.cv-role[open] summary>.ui-icon{transform:rotate(45deg)}
.cv-role>p{font-size:14px;line-height:1.7;color:#becdc4;padding:0 30px 22px 120px}
.teaching-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.teaching-cards article{padding:22px;background:#17221f;border:1px solid #35483d;border-radius:3px 18px 3px 3px}
.teaching-cards h3{font-size:18px;font-weight:550;line-height:1.25;margin-top:12px}
.teaching-cards .teaching-role{color:#8fc385;font-size:11px;margin:10px 0 15px}
.teaching-cards article>p:last-child{font-size:12px;line-height:1.7;color:#adbbb4}
.cv-narrative .software-deck{grid-template-columns:1fr}
.cv-languages{display:flex;gap:26px;flex-wrap:wrap;padding:14px 0}
.cv-languages div{display:flex;flex-direction:column;gap:7px}.cv-languages strong{font-weight:500;font-size:14px}.cv-languages span{font-size:12px;color:#9bb5a7}
.education-row{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:18px 0;border-top:1px solid #33483c}
.education-row>span{font-size:11px;color:#8fc385}.education-row h3{font-size:17px;font-weight:500;line-height:1.5}.education-row p{color:#9bb5a7;font-size:12px;margin-top:5px}
.cv-end{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:55px;padding:30px 0;border-top:1px solid #405045}.cv-end>p{font-size:23px;letter-spacing:-.035em}
.print-contact{display:none}
.profile-studio{padding:60px 0 0}
.profile-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;padding-bottom:65px}
.profile-intro .eyebrow{color:var(--green);font-size:11px}
.profile-intro h1{font-size:clamp(52px,7vw,95px);line-height:1;letter-spacing:-.065em;margin:24px 0;font-weight:550}
.profile-intro h1 span{color:var(--green)}
.profile-intro>p:not(.eyebrow){font-size:16px;color:#b5c3ba;line-height:1.8;max-width:470px}
.profile-intro>.subtle-link{margin-top:24px}
.profile-image-board{position:relative;padding:10px 0 110px 25px}
.profile-main-image{border-radius:5px 32px 5px 5px;overflow:hidden;border:1px solid #3e5146;transform:rotate(1deg);background:#17231d}
.profile-main-image img{aspect-ratio:.95;object-fit:cover;width:100%}
.profile-main-image figcaption{padding:14px;font-size:9px;color:#b1c7b6;letter-spacing:.04em;line-height:1.5}
.profile-detail-image{position:absolute;bottom:18px;left:0;width:58%;border:6px solid #d5e0d5;border-bottom-width:32px;border-radius:3px;transform:rotate(-6deg);background:#d5e0d5;box-shadow:0 12px 35px #0008}
.profile-detail-image img{aspect-ratio:1.3;object-fit:cover;width:100%}
.profile-detail-image figcaption{position:absolute;bottom:-25px;left:3px;right:3px;font-size:8px;line-height:1.3;letter-spacing:.02em;color:#253628;font-weight:600}
.board-caption{position:absolute;bottom:0;right:0;font-size:9px;color:#8ba893;letter-spacing:.1em}
.portrait-frame{border-radius:5px 32px 5px 5px;border:1px solid #3e5146;overflow:hidden}.portrait-frame img{aspect-ratio:.9;object-fit:cover;width:100%}.portrait-frame figcaption{padding:15px;font-size:13px;color:#b8cbbd}
.profile-process{display:grid;grid-template-columns:1fr 1.3fr;gap:45px;border-block:1px solid #34483c;padding:35px 0;align-items:center}
.profile-process h2{font-size:28px;font-weight:550;line-height:1.15;margin-top:12px}
.process-sequence{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}.process-sequence>span{font-size:13px;display:flex;flex-direction:column;gap:12px;min-width:62px}.process-sequence small{font-size:10px;color:var(--green);border-top:1px solid #516747;padding-top:12px}
.profile-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:45px 0}
.story-number{font-size:9px;letter-spacing:.1em;color:#8fc385}.profile-story-grid h2{font-size:25px;line-height:1.15;font-weight:500;margin:20px 0}.profile-story-grid p{color:#a7b9af;font-size:14px;line-height:1.8}.profile-story-grid .subtle-link{margin-top:20px}
.profile-cta{border-top:1px solid #34483c;padding:40px 0 50px;display:flex;gap:25px;align-items:center;justify-content:space-between}.profile-cta p{font-size:23px;letter-spacing:-.03em;line-height:1.5;color:#96ae9d}.profile-cta strong{font-weight:500;color:#e0e9e1}
.contact-studio{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:60px;padding:65px 0 75px;min-height:650px}
.contact-intro .eyebrow{color:var(--green);font-size:11px}.contact-intro h1{font-size:clamp(38px,4.6vw,62px);line-height:1.06;font-weight:550;margin:20px 0 25px;letter-spacing:-.05em}.contact-intro h1 span{color:#a5ed99}.contact-intro>p:not(.eyebrow){font-size:15px;line-height:1.7;color:#aabfb2}
.contact-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.contact-actions .button{font-size:12px;padding:13px 17px}
.contact-socials{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.social-link{display:flex;align-items:center;gap:10px;border-bottom:1px solid #405147;font-size:12px;min-height:44px}.social-link>.ui-icon:last-child{width:12px;height:12px;margin-left:6px}.social-link:hover{color:var(--green);text-decoration:none}
.contact-intro .contact-locality{display:flex;align-items:center;gap:10px;font-size:11px!important;color:#8ca594!important;margin-top:26px}
.digital-card-area{perspective:1000px;padding:20px 0}
.digital-card{position:relative;transform:rotate(-1deg);border:1px solid #678461;border-top:3px solid var(--green);border-radius:22px 6px 22px 6px;padding:30px;background:#17251e;box-shadow:0 22px 65px #0005}
.digital-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.digital-card-top>span{font-size:8px;color:#91b98e;letter-spacing:.16em}
.digital-card-identity{margin:30px 0 24px}.digital-card-identity h2{font-size:29px;font-weight:500;line-height:1.15}.digital-card-identity p{font-size:13px;color:#9eb99e;margin-top:10px}
.digital-card-body{display:grid;grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:20px}.digital-card-body>div{min-width:0}.digital-card-body a{display:flex;align-items:center;gap:9px;font-size:11px;margin-bottom:18px;overflow-wrap:anywhere}.digital-card-body>div>p{font-size:12px;line-height:1.65;color:#97b19d;margin-top:27px}
.qr-holder{background:#fff;border:9px solid #fff;transform:rotate(1deg);border-radius:5px;align-self:start;overflow:hidden}.qr-holder img{width:100%;height:auto;aspect-ratio:1;image-rendering:pixelated}.qr-holder figcaption{font-size:8px;text-align:center;line-height:1.4;color:#24352a;margin-top:6px;padding-bottom:4px}
.save-contact{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:47px;padding:13px 10px;border:1px solid #82957e;background:transparent;color:#daead6;font-size:12px;border-radius:4px;margin-top:26px;transition:background .2s}.save-contact:hover{background:#263c29}.digital-card-note{font-size:10px;color:#8fa58f;text-align:center;line-height:1.5;margin-top:22px}
.contact-photo-band{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid #34483c;min-height:290px}.contact-photo-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.contact-photo-band>div{width:min(90%,1320px);margin:auto;padding:45px 0}.contact-photo-band h2{font-size:35px;line-height:1.1;margin-top:14px}.contact-photo-band .subtle-link{margin-top:18px}.contact-photo-band small{display:block;color:#8d9e92;font-size:9px;margin-top:20px}
@media(max-width:1100px){.cv-intro{gap:35px}.cv-workspace{grid-template-columns:225px 1fr;gap:32px}.cv-role summary{grid-template-columns:85px 1fr 16px;gap:12px}.cv-role>p{padding-left:97px}.teaching-cards{grid-template-columns:1fr}.profile-hero{gap:35px}.profile-process{gap:25px}.profile-story-grid{gap:22px}.profile-story-grid h2{font-size:23px}.contact-studio{gap:30px}.digital-card{padding:25px}.digital-card-body{grid-template-columns:1fr 150px;gap:15px}.digital-card-identity h2{font-size:25px}.digital-card-body a{font-size:10px}.digital-card-top>span{font-size:7px}}
@media(max-width:820px){.software-card summary{padding:15px;gap:8px 11px;grid-template-columns:34px 1fr auto}.software-logo{width:31px;height:31px}.software-label strong{font-size:14px}.software-level{font-size:10px}.software-label small{font-size:9px}.software-card>p{padding-left:60px}.cv-intro{grid-template-columns:1fr 1fr;gap:25px}.cv-intro h1{font-size:44px}.cv-intro-copy{font-size:15px}.cv-workspace{grid-template-columns:1fr}.cv-id-card{position:static;display:grid;grid-template-columns:150px 1fr;gap:8px 22px;padding:22px}.cv-signature{grid-row:1/5;width:145px;height:83px;margin:0}.cv-id-card h2{font-size:24px}.cv-id-card>p{margin:0}.cv-id-card .id-location{margin:0}.id-seal{grid-column:1/3;margin:12px 0;display:flex;flex-direction:row;gap:12px;flex-wrap:wrap;align-items:center}.cv-section-nav{grid-column:1/3;flex-direction:row;justify-content:space-between;gap:15px;margin:0}.cv-id-card>.subtle-link{margin:0}.cv-summary{padding-top:12px}.cv-narrative .software-deck{grid-template-columns:1fr 1fr}.profile-hero{gap:28px;grid-template-columns:1fr 1fr}.profile-intro h1{font-size:62px}.profile-intro>p:not(.eyebrow){font-size:14px}.profile-image-board{padding-left:15px;padding-bottom:90px}.profile-main-image img{aspect-ratio:.75}.profile-process{grid-template-columns:1fr;gap:25px}.profile-story-grid{grid-template-columns:1fr}.profile-story-grid article{border-bottom:1px solid #34483c;padding-bottom:28px}.profile-story-grid h2{font-size:29px;max-width:400px}.profile-story-grid p{max-width:620px}.profile-cta{padding-top:0;border-top:0}.contact-studio{grid-template-columns:1fr;gap:30px;padding-top:45px}.contact-intro h1{font-size:52px}.digital-card-area{width:min(100%,600px);margin:auto}.digital-card-body{grid-template-columns:1fr 190px}.digital-card-body a{font-size:13px}.digital-card-identity h2{font-size:32px}.digital-card-top>span{font-size:9px}}
@media(max-width:540px){.software-deck,.cv-narrative .software-deck{grid-template-columns:1fr}.software-card summary{grid-template-columns:39px 1fr auto;padding:18px 15px;gap:9px 12px}.software-logo{width:36px;height:36px}.software-label strong{font-size:16px}.software-label small{font-size:10px}.software-level{font-size:11px}.skill-meter{height:7px}.software-expand{font-size:10px;min-height:22px}.software-card>p{padding-left:66px;font-size:12px}.software-scale{text-align:left;font-size:9px;line-height:1.5}.portfolio .project-grid{gap:26px}.portfolio .board-project{padding:12px 12px 17px}.portfolio .board-project h3{font-size:25px}.board-category{font-size:9px;line-height:1.5}.board-card-top{font-size:9px}.portfolio .board-project:nth-child(even) .photo{aspect-ratio:16/10}.cv-studio{padding-top:35px}.cv-intro{grid-template-columns:1fr;padding-bottom:30px;gap:28px}.cv-intro h1{font-size:47px;margin:18px 0}.cv-visual>img{aspect-ratio:1.8}.cv-visual figcaption{padding:15px}.cv-intro .hero-actions{gap:10px}.cv-workspace{gap:20px;padding-top:28px}.cv-id-card{padding:20px;grid-template-columns:110px 1fr;gap:10px 16px}.cv-signature{width:105px;height:61px;grid-row:1/4}.cv-id-card h2{font-size:22px}.cv-id-card>p{font-size:11px}.cv-id-card .id-location{grid-column:1/3;font-size:11px}.id-seal{gap:10px;margin:0}.id-seal strong{font-size:12px}.id-email{grid-column:1/3;font-size:13px}.cv-section-nav{gap:10px;padding-top:10px;flex-wrap:wrap}.cv-section-nav button{min-height:44px;font-size:11px}.cv-id-card>.subtle-link{grid-column:1/3}.cv-summary>p:last-child{font-size:14px;line-height:1.8}.chapter-title{gap:12px;margin-bottom:20px}.chapter-title h2{font-size:26px}.cv-role summary{grid-template-columns:1fr 18px;gap:8px;padding:20px 0}.cv-period{grid-column:1/3}.cv-role strong{font-size:23px}.cv-role small{font-size:12px}.cv-role>p{padding:0 12px 23px 0;font-size:14px}.teaching-cards article{padding:22px}.teaching-cards h3{font-size:21px}.teaching-cards article>p:last-child{font-size:13px}.education-row{grid-template-columns:55px 1fr;gap:14px}.education-row h3{font-size:16px}.cv-end{display:block;margin-top:32px}.cv-end>p{font-size:25px;margin-bottom:22px}.profile-studio{padding-top:35px}.profile-hero{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.profile-intro h1{font-size:68px}.profile-intro>p:not(.eyebrow){font-size:15px}.profile-image-board{padding:0 0 85px 20px}.profile-main-image img{aspect-ratio:1.2}.profile-detail-image{width:54%}.board-caption{font-size:8px}.profile-process{padding:28px 0}.profile-process h2{font-size:28px}.process-sequence{gap:13px;justify-content:flex-start}.process-sequence>span{font-size:12px;min-width:49px}.profile-story-grid{padding:30px 0;gap:25px}.profile-story-grid h2{font-size:29px}.profile-story-grid p{font-size:14px}.profile-cta{display:block;padding-bottom:35px}.profile-cta .button{margin-top:25px}.contact-studio{padding:35px 0 45px;gap:20px}.contact-intro h1{font-size:43px}.contact-intro>p:not(.eyebrow){font-size:14px}.contact-actions{margin-top:23px}.contact-socials{margin-top:20px}.digital-card{padding:22px;transform:none;border-radius:18px 4px 18px 4px}.digital-card-top>img{width:115px;height:43px}.digital-card-top>span{font-size:7px}.digital-card-identity{margin:25px 0 22px}.digital-card-identity h2{font-size:28px}.digital-card-body{grid-template-columns:1fr;gap:20px}.digital-card-body a{font-size:13px;margin-bottom:16px}.digital-card-body>div>p{display:none}.qr-holder{width:208px;margin:5px auto 0;transform:none}.qr-holder figcaption{font-size:10px}.save-contact{font-size:12px;min-height:48px;margin-top:23px}.digital-card-note{font-size:10px}.contact-photo-band{min-height:285px}.contact-photo-band>img{opacity:.5;object-position:65% center}.contact-photo-band h2{font-size:31px}.contact-photo-band>div{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.software-card .meter-block[data-active=true]{transform:none!important}.software-logo,.software-card,.board-project{transition:none!important}.digital-card{transform:none}}
@media print{
 @page{size:A4;margin:16mm}
 html,.portfolio{background:white!important;color:#111!important;font-family:Arial,sans-serif!important}
 .portfolio header,.portfolio footer,.portfolio .skip,.portfolio noscript,.cv-visual,.cv-id-card,.hero-actions,.software-expand,.cv-end,.ui-icon{display:none!important}
 .portfolio .wrap{width:100%;max-width:none}.cv-studio{padding:0}.cv-intro{display:block;padding:0 0 16px;border-bottom:1px solid #bbb}.cv-intro .eyebrow{font-size:17pt;color:#111!important;font-weight:600;letter-spacing:0}.cv-intro h1{font-size:15pt;margin:8px 0;line-height:1.2}.cv-intro h1 br{display:none}.cv-intro-copy{font-size:10pt;max-width:none;color:#333!important}.print-contact{display:block;font-size:9pt;line-height:1.6;margin-top:8px;color:#222}.cv-workspace{display:block;padding-top:16px}.cv-summary{padding:0 0 15px}.micro-label,.cv-period,.software-level,.chapter-title>span{color:#333!important}.cv-summary>p:last-child{font-size:10pt;line-height:1.55;color:#222!important}.cv-chapter{padding-top:18px}.chapter-title{margin-bottom:12px}.chapter-title h2{font-size:14pt}.cv-role summary{padding:11px 0;grid-template-columns:90px 1fr;gap:10px}.cv-role strong{font-size:12pt;color:#111!important}.cv-role small{font-size:9pt;color:#333!important}.cv-role>p{font-size:10pt;padding:0 0 12px 100px;line-height:1.5;color:#222!important}.cv-role{break-inside:avoid}.teaching-cards{display:block}.teaching-cards article{padding:10px 0;background:white;border:0;border-bottom:1px solid #bbb;border-radius:0;break-inside:avoid}.teaching-cards h3{font-size:12pt;margin:5px 0}.teaching-cards .teaching-role,.teaching-cards article>p:last-child{font-size:10pt;line-height:1.5;color:#222!important;margin:5px 0}.software-deck,.cv-narrative .software-deck{display:grid;grid-template-columns:1fr 1fr;gap:5px}.software-card{border:0;background:white;border-radius:0;break-inside:avoid}.software-card summary{padding:5px 0;display:block}.software-card summary>.software-logo,.skill-meter{display:none}.software-label strong{font-size:10pt;display:inline}.software-label small{display:none}.software-level{font-size:9pt;margin-left:8px}.software-card>p,.software-scale{display:none}.portfolio .tag{font-size:9pt;padding:4px 7px;border-color:#aaa;color:#222}.cv-languages{padding:4px 0}.cv-languages strong,.cv-languages span{font-size:10pt;color:#222}.education-row{padding:8px 0;break-inside:avoid}.education-row h3{font-size:11pt}.education-row p,.education-row>span{font-size:9pt;color:#333}.portfolio details{color:#111}.cv-chapter h2{break-after:avoid}
}
