.cv__inner{width:min(1160px,calc(100% - 40px));margin:auto;padding:140px 0 100px}.cv section{scroll-margin-top:32px}.cv h1,.cv h2,.cv h3{font-weight:400}.cv__hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px;align-items:center}.cv__intro{position:relative}.cv__eyebrow{color:#999;font-size:11px;letter-spacing:.04em}.cv h1{position:relative;font-size:clamp(48px,6.6vw,94px);letter-spacing:-.055em;line-height:1.12;margin:32px 0}.cv__star{display:inline-block;font-size:.65em;margin-left:12px;vertical-align:top;color:#bdbdbd}.cv__role{font-size:clamp(19px,2vw,27px);line-height:1.5;margin-bottom:24px}.cv__summary,.cv__body{font-weight:300;color:#b6b6b6;font-size:14px;line-height:1.95;max-width:650px}.cv__summary{max-width:540px}.cv__actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:32px}.cv__text-link{font-size:12px;padding:14px 0;display:inline-block;border-bottom:1px solid #555;line-height:1.5}.cv a:focus-visible{outline:2px solid white;outline-offset:6px}.cv__portrait{margin:0}.cv__portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:10px;display:block}.cv__portrait figcaption{font-size:10px;color:#999;margin-top:18px;letter-spacing:.05em}.cv__jump{display:flex;gap:32px;flex-wrap:wrap;border-top:1px solid #333;border-bottom:1px solid #333;padding:24px 0;margin-top:60px;font-size:11px;color:#aaa}.cv__jump a:hover,.cv__text-link:hover,.cv__socials a:hover{color:#fff}.cv__section{margin-top:110px}.cv h2{font-size:clamp(30px,4vw,54px);letter-spacing:-.04em;line-height:1.25}.cv__about{display:grid;grid-template-columns:1fr 2fr;gap:32px}.cv__about h2{margin-bottom:30px}.cv__section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:36px}.cv__reel{display:block;position:relative;overflow:hidden;border-radius:10px;background:#161616;aspect-ratio:16/9}.cv__reel>img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.72);transition:transform .5s}.cv__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;font-size:32px;background:#07070750;backdrop-filter:blur(8px)}.cv__reel-label{position:absolute;inset:auto 28px 28px;display:flex;align-items:end;justify-content:space-between;gap:16px}.cv__reel-label strong{font-size:clamp(18px,2.7vw,32px);font-weight:400}.cv__reel-label>span{font-size:11px}.cv__projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:32px 0}.cv__project-media{display:block;position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#111}.cv__project-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.cv__project-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin:24px 0 12px}.cv__project h3{font-size:24px}.cv__project .tag{color:#999;font-size:9px}.cv__project-arrow{position:absolute;right:18px;bottom:18px;border:1px solid #ffffff60;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#07070760}.cv__fonbet{display:grid;place-items:center;background:radial-gradient(ellipse at 60% 90%,#432024,#111 65%)}.cv__fonbet>img{position:absolute;inset:0;opacity:.2;object-fit:contain}.cv__fonbet-title{font-size:clamp(36px,5vw,68px);position:relative;letter-spacing:-.04em}.cv__job{display:grid;grid-template-columns:1fr 2fr;gap:32px;border-top:1px solid #333;padding:32px 0}.cv__job h3{font-size:26px;margin-bottom:14px}.cv__job>div>p{font-size:12px;line-height:1.8}.cv__date{color:#888;margin-top:10px}.cv__skills-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:32px}.cv__skill{border-top:1px solid #333;padding-top:24px;min-width:0}.cv__skill h3{font-size:17px;margin-bottom:24px}.cv__skill ul{list-style:none;padding:0;margin:0;color:#b6b6b6;font-weight:300;font-size:13px;line-height:2.1}.cv__contact{border-top:1px solid #333;padding-top:40px}.cv__contact h2{font-size:clamp(40px,6vw,80px);margin:30px 0}.cv__email{font-size:clamp(15px,2.6vw,30px);display:inline-block;overflow-wrap:anywhere;line-height:1.6}.cv__socials{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px;font-size:12px;color:#aaa}.cv__socials a{padding:12px 0}
@media(hover:hover){.cv__reel:hover>img,.cv__project-media:hover>img{transform:scale(1.05)}}
@media(max-width:900px){.cv__hero{gap:32px}.cv h1{font-size:clamp(42px,7vw,68px)}.cv__skills-grid{gap:20px}.cv__job{grid-template-columns:1fr 1.7fr}}
@media(max-width:600px){.cv__inner{width:calc(100% - 32px);padding:110px 0 64px}.cv__hero{grid-template-columns:1fr;gap:32px}.cv h1{font-size:clamp(44px,11vw,66px);margin:24px 0}.cv__portrait{width:100%;max-width:380px}.cv__role{font-size:20px}.cv__summary,.cv__body{font-size:13px}.cv__jump{gap:8px 22px;margin-top:36px;padding:14px 0}.cv__jump a{padding:10px 0}.cv__section{margin-top:64px}.cv__about,.cv__job{grid-template-columns:1fr;gap:24px}.cv__section-head{align-items:start;flex-direction:column;gap:14px;margin-bottom:24px}.cv__projects{grid-template-columns:1fr;gap:32px;margin:24px 0}.cv__reel-label{inset:auto 16px 16px;align-items:start;flex-direction:column;gap:8px}.cv__reel-label>span{font-size:9px}.cv__play{width:50px;height:50px;font-size:23px}.cv__skills-grid{grid-template-columns:1fr;gap:28px}.cv__skill ul{font-size:13px}.cv__skills-icon{width:44px;height:44px}.cv__socials{gap:8px 24px}.cv__contact h2{font-size:clamp(34px,9vw,54px)}.cv__actions{gap:16px}.cv__project-head{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.cv__reel>img,.cv__project-media img{transition:none}}

/* CV reads as a short introduction, reel, then individual project credits. */
.cv__inner{padding-top:126px}.cv__hero{grid-template-columns:minmax(0,1fr) 200px;gap:48px;align-items:center}.cv h1{font-size:clamp(38px,4.5vw,60px);line-height:1.12;margin:18px 0;letter-spacing:-.045em}.cv__role{font-size:clamp(15px,1.6vw,20px);margin-bottom:16px}.cv__summary{max-width:740px}.cv__portrait img{aspect-ratio:4/5}.cv__portrait figcaption{font-size:8px;margin-top:10px}.cv__showreel{margin-top:48px}.cv__showreel h2{font-size:clamp(22px,2.5vw,32px)}.cv__showreel .cv__section-head{margin-bottom:22px}.cv__video{position:relative;width:100%;aspect-ratio:16/9;background:#111;border:1px solid #252525;border-radius:10px;overflow:hidden}.cv__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.cv__film{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:36px;align-items:center;padding:36px 0;border-top:1px solid #333}.cv__film:last-child{padding-bottom:0}.cv__film-info{min-width:0}.cv__film-info h3{font-size:clamp(26px,3vw,40px);letter-spacing:-.035em;margin:18px 0}.cv__film-role{font-size:14px;line-height:1.7;margin-bottom:16px}.cv__film-info .cv__body{font-size:12px}.cv__work .cv__section-head{margin-bottom:28px}
@media(max-width:900px){.cv__hero{grid-template-columns:minmax(0,1fr) 160px;gap:28px}.cv__film{gap:24px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
@media(max-width:600px){.cv__inner{padding-top:104px}.cv__hero{grid-template-columns:minmax(0,1fr) 86px;gap:16px;align-items:start}.cv__intro{display:contents}.cv__intro>.cv__eyebrow{grid-column:1/-1;margin-bottom:0}.cv h1{font-size:clamp(30px,8vw,45px);margin:0;grid-column:1;grid-row:2;align-self:center}.cv__portrait{width:86px;grid-column:2;grid-row:2}.cv__portrait figcaption{display:none}.cv__role{grid-column:1/-1;margin:2px 0 0;font-size:15px}.cv__summary{grid-column:1/-1}.cv__showreel{margin-top:30px}.cv__showreel .cv__section-head{gap:10px;margin-bottom:18px}.cv__showreel .cv__eyebrow{font-size:9px}.cv__film{grid-template-columns:1fr;gap:22px;padding:28px 0}.cv__film-info h3{margin:12px 0}.cv__film-role{font-size:13px;margin-bottom:10px}.cv__work .cv__section-head{margin-bottom:24px}.cv__section{margin-top:64px}.cv__showreel{margin-top:30px}}

/* The PDF's supporting profile sits beside the chronological experience. */
.cv__resume{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.85fr);gap:80px;border-top:1px solid #333;margin-top:100px;padding-top:40px}.cv__sidebar{display:flex;flex-direction:column;gap:38px;min-width:0}.cv__sidebar h2,.cv__sidebar h3{font-size:20px;letter-spacing:-.025em;line-height:1.3;margin:0 0 20px}.cv__sidebar ul{list-style:none;padding:0;margin:0;font-size:12px;line-height:1.9;font-weight:300}.cv__side-contact li+li{margin-top:14px}.cv__side-contact a{display:inline-block;overflow-wrap:anywhere;padding:4px 0}.cv__side-contact a:hover{color:#aaa}.cv__sidebar .cv__skill{padding:0;border:0}.cv__experience{min-width:0}.cv__experience h2{font-size:30px}.cv__experience .cv__section-head{margin-bottom:38px}.cv__experience .cv__section-head .tag{display:none}.cv__experience .cv__job{display:block;border:0;padding:0}.cv__experience .cv__job+.cv__job{margin-top:64px}.cv__experience .cv__job .cv__body{margin-top:28px}.cv__experience .cv__job h3{font-size:24px}.cv__hero .cv__summary{font-size:13px;max-width:740px}.cv__hero{align-items:start}.cv__portrait{padding-top:4px}.cv__portrait img{aspect-ratio:1073/1600}.cv__portrait figcaption{line-height:1.5}
@media(max-width:900px){.cv__resume{gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}.cv__sidebar h2,.cv__sidebar h3{font-size:18px}.cv__hero .cv__summary{font-size:12px}}
@media(max-width:600px){.cv__resume{grid-template-columns:1fr;gap:48px;margin-top:64px;padding-top:32px}.cv__sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.cv__side-contact{grid-column:1/-1}.cv__sidebar ul{font-size:11px}.cv__sidebar h2,.cv__sidebar h3{font-size:17px;margin-bottom:14px}.cv__experience .cv__job+.cv__job{margin-top:40px}.cv__experience .cv__section-head{margin-bottom:28px}.cv__experience h2{font-size:28px}.cv__hero .cv__summary{font-size:12px}.cv__portrait{padding:0}.cv__hero .cv__portrait img{aspect-ratio:4/5}.cv__sidebar .cv__skill:nth-child(3){grid-column:1/-1;grid-row:3}}

/* Reuse North Squad's original line illustrations throughout the CV. */
.cv__intro{position:relative;isolation:isolate}.cv__intro-lines{position:absolute;z-index:-1;pointer-events:none;left:-12px;top:32px;width:100%;height:260px;object-fit:contain;opacity:.16}.cv__intro-star{position:absolute;pointer-events:none;right:0;top:8px;width:110px;height:110px}.cv__intro h1{padding-right:90px}.cv__portrait-decor{display:block;width:101px;height:41px;margin:20px 0 0 auto;opacity:.85}.cv__heading-group{display:flex;align-items:center;gap:24px;min-width:0}.cv__section-icon{width:44px;height:44px;object-fit:contain;opacity:.75;flex:none}.cv__experience .cv__heading-group{width:100%;justify-content:space-between}.cv__inline-decor{float:right;width:66px;height:27px;margin-left:12px;opacity:.75}.cv__small-icon{width:28px;height:28px;object-fit:contain;opacity:.65;flex:none}.cv__sidebar .cv__skill h3{display:flex;align-items:center;justify-content:space-between;gap:12px}.cv__film-info{position:relative;padding-top:66px}.cv__project-icon{position:absolute;top:0;left:0;width:46px;height:46px;object-fit:contain;opacity:.65}
@media(max-width:900px){.cv__intro-star{width:90px;height:90px}.cv__intro-lines{height:220px}.cv__heading-group{gap:16px}}
@media(max-width:600px){.cv__hero{position:relative;isolation:isolate}.cv__intro-lines{width:calc(100% - 80px);height:150px;top:32px;left:0;opacity:.12}.cv__intro-star{width:64px;height:64px;right:80px;top:-12px;opacity:.8}.cv__intro h1{padding-right:0}.cv__portrait-decor{width:66px;height:27px;margin-top:10px}.cv__heading-group{gap:16px}.cv__section-icon{width:30px;height:30px}.cv__film-info{padding-top:0;padding-right:54px}.cv__project-icon{left:auto;right:0;width:34px;height:34px;top:0}.cv__small-icon{width:24px;height:24px}.cv__inline-decor{width:60px;height:25px}}
.cv__portrait .cv__portrait-decor{width:101px;height:41px;aspect-ratio:auto;object-fit:contain;border-radius:0}
@media(max-width:600px){.cv__hero .cv__portrait .cv__portrait-decor{width:66px;height:27px;aspect-ratio:auto;object-fit:contain}}

/* Keep decoration confined to the introductory portrait and name. */
.cv__film-info{padding-top:0;padding-right:0}
.cv__intro-lines{opacity:.1}
.cv__portrait .cv__portrait-decor{opacity:.75}

/* Give the portrait the same visual weight as the PDF reference. */
.cv__hero{grid-template-columns:minmax(0,1fr) 280px;gap:56px}
@media(max-width:900px) and (min-width:601px){.cv__hero{grid-template-columns:minmax(0,1fr) 220px;gap:32px}}
@media(max-width:600px){.cv__hero{grid-template-columns:minmax(0,1fr) 112px;gap:16px}.cv__portrait{width:112px}.cv__intro-star{right:108px}.cv__intro-lines{width:calc(100% - 112px)}}
@media(max-width:360px){.cv__hero{grid-template-columns:minmax(0,1fr) 96px;gap:12px}.cv__portrait{width:96px}.cv__intro-star{right:92px}}
@media(max-width:360px){.cv h1{font-size:27px}}

/* CV-only header: language selection. */
.page--cv .header__inner{justify-content:space-between}
.page--cv .header__lang{margin:0}

.page--cv .header__logo{cursor:default}

/* Volodymyr's portfolio shares the CV design and starts with a featured film. */
.page--volodymyr .cv__intro h1{font-size:clamp(36px,4.4vw,58px);padding-right:0}
.page--volodymyr .cv__intro-star{right:0;top:-18px;width:80px;height:80px}
.cv__summary--detail{margin-top:16px}
.page--volodymyr .cv__work{margin-top:64px}
.cv__film--featured{grid-template-columns:1fr;gap:28px;padding-top:0;border-top:0;padding-bottom:44px}
.cv__film--featured .cv__film-info{display:grid;grid-template-columns:1fr 1.35fr;gap:12px 40px}
.cv__film--featured .cv__film-info>.cv__eyebrow{grid-column:1;grid-row:1}
.cv__film--featured .cv__film-info>h3{grid-column:1;grid-row:2;margin:0;font-size:clamp(24px,3vw,36px)}
.cv__film--featured .cv__film-info>.cv__film-role{grid-column:1;grid-row:3;margin:0}
.cv__film--featured .cv__film-info>.cv__body{grid-column:2;grid-row:1/4;align-self:center}
.cv__signature{width:min(1160px,calc(100% - 40px));margin:0 auto;padding:28px 0 40px;border-top:1px solid #333;display:flex;justify-content:space-between;gap:20px;color:#999;font-size:11px}
@media(max-width:600px){.page--volodymyr .cv__intro h1{font-size:clamp(26px,6.8vw,38px)}.page--volodymyr .cv__intro-star{right:110px;top:-10px;width:54px;height:54px}.page--volodymyr .cv__work{margin-top:36px}.cv__film--featured .cv__film-info{display:block}.cv__film--featured .cv__film-info>h3{margin:14px 0}.cv__film--featured .cv__film-info>.cv__film-role{margin-bottom:12px}.cv__signature{width:calc(100% - 32px);font-size:10px}.page--volodymyr .cv__sidebar{grid-template-columns:1fr}.page--volodymyr .cv__summary--detail{margin-top:0}}
@media(max-width:360px){.page--volodymyr .cv__intro h1{font-size:23px}}

.page--volodymyr .header__inner{justify-content:flex-end}

/* Mobile portraits keep their weight; decorative SVGs render at full white. */
.page--cv .cv__intro-star,
.page--cv .cv__portrait .cv__portrait-decor{opacity:1;filter:brightness(0) invert(1)}
@media(max-width:600px){
 .page--cv .cv__hero{grid-template-columns:minmax(0,1fr) clamp(120px,36vw,168px);column-gap:16px;row-gap:20px}
 .page--cv .cv__portrait{width:100%;max-width:none}
 .page--cv .cv__intro h1{font-size:clamp(23px,6.3vw,34px);line-height:1.18;letter-spacing:-.045em}
 .page--cv .cv__intro-star{right:0;top:-20px;width:48px;height:48px;opacity:1}
 .page--cv .cv__intro>.cv__eyebrow{padding-right:48px;font-size:10px;line-height:1.5}
 .page--cv .cv__hero .cv__portrait .cv__portrait-decor{width:86px;height:35px;aspect-ratio:auto;margin-top:12px;opacity:1}
}
@media(max-width:360px){
 .page--cv .cv__hero{column-gap:12px}
 .page--cv .cv__intro h1{font-size:21px}
}

/* Mobile: full-width name, larger portrait, star beside the portrait. */
@media(max-width:600px){
 .page--cv .cv__hero{grid-template-columns:52px minmax(0,1fr);column-gap:20px;row-gap:22px}
 .page--cv .cv__intro>.cv__eyebrow{grid-column:1/-1;grid-row:1;padding-right:0}
 .page--cv .cv__intro h1{grid-column:1/-1;grid-row:2;font-size:clamp(34px,9vw,48px);line-height:1.12;align-self:auto}
 .page--cv .cv__portrait{grid-column:2;grid-row:3;width:100%;max-width:320px;justify-self:end}
 .page--cv .cv__intro-star{position:static;grid-column:1;grid-row:3;align-self:center;justify-self:center;width:52px;height:52px}
 .page--cv .cv__role{grid-column:1/-1;grid-row:4}
 .page--cv .cv__summary{grid-column:1/-1}
 .page--cv .cv__intro-lines{width:100%;top:32px;height:130px}
}

/* Keep the mobile portrait prominent and place the decorative star beside it. */
@media(max-width:600px){
 .page--cv .cv__hero{grid-template-columns:minmax(0,1fr) clamp(148px,42vw,176px);column-gap:18px;row-gap:22px}
 .page--cv .cv__intro{min-width:0}
 .page--cv .cv__portrait{grid-column:2;grid-row:1;width:100%;max-width:none;justify-self:end}
 .page--cv .cv__intro-star{position:absolute;right:calc(-1 * clamp(46px,13vw,58px));top:112px;width:clamp(42px,12vw,52px);height:clamp(42px,12vw,52px);grid-column:auto;grid-row:auto}
 .page--cv .cv__role,.page--cv .cv__summary{grid-column:1/-1}
}
@media(max-width:360px){
 .page--cv .cv__hero{grid-template-columns:minmax(0,1fr) 140px;column-gap:14px}
 .page--cv .cv__portrait{width:140px}
 .page--cv .cv__intro-star{right:-48px;top:102px;width:40px;height:40px}
}

/* On phones keep the original two-column hero; hide only the decorative star. */
@media(max-width:600px){
 .page--cv .cv__hero{grid-template-columns:minmax(0,1fr) clamp(148px,42vw,176px);column-gap:18px;row-gap:22px}
 .page--cv .cv__intro{display:contents}
 .page--cv .cv__eyebrow{grid-column:1/-1;grid-row:1}
 .page--cv .cv__intro h1{grid-column:1;grid-row:2;font-size:clamp(30px,8vw,42px);padding-right:0;align-self:center}
 .page--cv .cv__portrait{grid-column:2;grid-row:2;width:100%;max-width:none;justify-self:end}
 .page--cv .cv__role{grid-column:1/-1;grid-row:3}
 .page--cv .cv__summary{grid-column:1/-1;grid-row:4}
 .page--cv .cv__intro-star{display:none!important}
}
@media(max-width:360px){
 .page--cv .cv__hero{grid-template-columns:minmax(0,1fr) 140px;column-gap:14px}
 .page--cv .cv__portrait{width:140px}
}
