/* The CV page: the portfolio's type and glass, laid out as a document. */
.cv-page .nav-active-pill{transition:transform .46s var(--ease),width .46s var(--ease),opacity .3s}
.cv-masthead{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:6%;align-items:center;padding-block:clamp(120px,14vw,170px) clamp(56px,7vw,96px)}
.cv-identity h1{font-size:clamp(56px,8.4vw,136px);letter-spacing:-.065em;line-height:.95;margin-bottom:clamp(14px,1.6vw,24px)}
.cv-role{font-size:clamp(17px,1.5vw,22px);font-weight:500;line-height:1.5}
.cv-lead{max-width:38em;margin-top:14px;font-size:clamp(15px,1.15vw,17px);line-height:1.85;color:var(--ink-2)}
.cv-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.cv-facts{display:flex;flex-wrap:wrap;gap:clamp(22px,3.4vw,54px);margin:clamp(30px,3.6vw,48px) 0 0;padding-top:24px;border-top:1px solid var(--line)}
.cv-facts dt{font-size:clamp(32px,3.4vw,52px);font-weight:500;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.cv-facts dd{margin:8px 0 0;font-size:13px;color:var(--ink-3)}
.cv-card-panel{display:grid;place-items:center;min-height:clamp(320px,34vw,470px);padding:clamp(18px,2.4vw,36px);border-radius:clamp(22px,2.4vw,36px);background:radial-gradient(70% 60% at 30% 20%,#243a8c66,transparent 70%),var(--night);color:#eef0f7}
.cv-card-panel .cv-sculpture{margin:0;max-width:440px}

.cv-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.5fr);gap:6%;padding-block:clamp(54px,6.4vw,96px);border-top:1px solid var(--line)}
.cv-section-head{position:sticky;top:104px;align-self:start}
.cv-section-head h2{font-size:clamp(30px,3.3vw,52px);line-height:1.12}
.cv-section-note{margin-top:14px;font-size:14px;line-height:1.75;color:var(--ink-2);max-width:22em}
.cv-section-head .text-link{margin-top:18px}
.cv-scope{font-size:clamp(17px,1.5vw,22px);line-height:1.7;max-width:36em;letter-spacing:-.005em}
.cv-core{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);margin-top:clamp(28px,3.4vw,44px)}
.cv-core-item{display:flex;flex-direction:column;padding:clamp(18px,1.8vw,26px);border-radius:20px;background:#fff;box-shadow:0 20px 40px -32px #0d122666}
.cv-core-item>span{font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--ink-3)}
.cv-core-item h3{margin-top:26px;font-size:clamp(19px,1.6vw,24px);letter-spacing:-.03em}
.cv-core-item p{margin-top:8px;font-size:14px;line-height:1.7;color:var(--ink-2)}
.cv-core-item .capability-tools{margin-top:auto;padding-top:16px}

.cv-area+.cv-area{margin-top:clamp(34px,4vw,54px)}
.cv-area h3,.cv-project-list h3{padding-bottom:14px;border-bottom:2px solid var(--ink);font-size:clamp(19px,1.6vw,24px);letter-spacing:-.03em}
.cv-group{border-bottom:1px solid var(--line)}
.cv-group summary{display:flex;align-items:center;gap:16px;padding:16px 0;list-style:none;cursor:pointer;font-size:16px;font-weight:500;line-height:1.5}
.cv-group summary::-webkit-details-marker{display:none}
.cv-group summary span{min-width:24px;font-size:12px;letter-spacing:.06em;color:var(--ink-3);font-variant-numeric:tabular-nums}
.cv-group summary:after{content:'+';margin-left:auto;font-size:21px;font-weight:400;color:var(--ink-3);transition:rotate .3s var(--ease),color .25s}
.cv-group summary:hover:after{color:var(--blue)}
.cv-group[open] summary:after{rotate:45deg}
.cv-group ul{margin:0;padding:0 0 20px 40px;list-style:none}
.cv-group li{position:relative;padding-left:16px;font-size:14px;line-height:1.8;color:var(--ink-2)}
.cv-group li+li{margin-top:6px}
.cv-group li:before{content:'';position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;background:var(--blue)}

.cv-project-list+.cv-project-list{margin-top:clamp(40px,4.6vw,64px)}
.cv-list-intro{margin-top:12px;font-size:14px;line-height:1.7;color:var(--ink-2)}
.cv-project{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1.6fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.cv-project-id{font-size:12px;letter-spacing:.06em;color:var(--ink-3);padding-top:4px;font-variant-numeric:tabular-nums}
.cv-project-name h4{margin:0;font-size:16px;font-weight:500;line-height:1.5}
.cv-project-name p{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:20px;background:#0d12260d;font-size:12px;line-height:1.4}
.cv-project-detail p{font-size:14px;line-height:1.8;color:var(--ink-2)}
.cv-project-detail .cv-project-skills{margin-top:8px;font-size:12px;color:var(--ink-3)}

.cv-tools{margin:0}
.cv-tools>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.cv-tools>div:first-child{padding-top:0}
.cv-tools dt{font-size:15px;font-weight:500;line-height:1.6}
.cv-tools dd{margin:0;font-size:14px;line-height:1.8;color:var(--ink-2)}
.cv-page .contact-section{margin-top:clamp(40px,5vw,70px)}

@media(max-width:900px){
  .cv-masthead{grid-template-columns:1fr;gap:40px;padding-top:112px}
  .cv-section{grid-template-columns:1fr;gap:28px}.cv-section-head{position:static}.cv-section-note{max-width:34em}
  .cv-core{grid-template-columns:1fr}.cv-core-item h3{margin-top:16px}
  .cv-project{grid-template-columns:36px minmax(0,1fr);row-gap:10px}.cv-project-detail{grid-column:2}
}
@media(max-width:700px){
  .cv-identity h1{font-size:clamp(52px,16vw,84px)}
  .cv-card-panel{min-height:300px}
  .cv-group summary{font-size:15px;gap:12px}.cv-group ul{padding-left:36px}
  .cv-tools>div{grid-template-columns:1fr;gap:6px}
  .cv-actions .button{height:44px;padding:0 18px}
}
@media print{
  :root{--paper:#fff;--line:#00000026}
  html{scroll-behavior:auto}
  body{background:#fff;font-size:11pt}
  .site-header,.skip-link,.cv-card-panel,.cv-actions,.contact-section,#toggle-groups,.cv-section-head .text-link,.noscript-message{display:none!important}
  .page-width{width:100%;max-width:none}
  .cv-masthead{display:block;padding:0 0 18pt}
  .cv-identity h1{font-size:34pt}
  .cv-section{display:block;padding-block:16pt;break-inside:auto}
  .cv-section-head{position:static;margin-bottom:10pt}.cv-section-head h2{font-size:17pt}.cv-section-head h2 br{display:none}
  .cv-core{grid-template-columns:repeat(3,1fr)}.cv-core-item{box-shadow:none;border:1px solid var(--line);break-inside:avoid}
  .cv-group,.cv-project,.cv-tools>div{break-inside:avoid}
  .cv-group summary:after{display:none}
  .chapter-label span:first-child{background:none;color:inherit;border:1px solid currentColor}
}
